summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorAdam NAILI2018-01-03 19:40:51 +0100
committerAdam NAILI2018-01-03 19:40:51 +0100
commit2f3d8ebc9b5e10e56bed5da316f5ef098dda0997 (patch)
treee2df4b6eaf81cb72f6fef75f6cf7324b0e671f23 /doc
parent54dac24c8f7be833124a90bafdca78810fc0d96a (diff)
downloadmorpher-2f3d8ebc9b5e10e56bed5da316f5ef098dda0997.tar.gz
Updating documentation, cleaning includes, updating report
Diffstat (limited to 'doc')
-rw-r--r--doc/project-report.md16
1 files changed, 13 insertions, 3 deletions
diff --git a/doc/project-report.md b/doc/project-report.md
index e48c204..3851150 100644
--- a/doc/project-report.md
+++ b/doc/project-report.md
@@ -130,9 +130,19 @@ RBGa vectors from the two base images: each component is square-rooted back to i
130 130
131### GUI 131### GUI
132 132
133TODO: modular component-based architecture, wrapping libMLV low level functions\ 133The Graphical User Interface is designed with a modular component-based architecture. That architecture implies an
134 based on delegated click handlers and painting functions\ 134Object-Oriented Programming's vision. Thanks to that, the application is very flexible for adding components and
135 computing intermediate morphing between each frame, combined with a times, thus not using MLV_Animation 135placing them. The components created are groups, buttons, and picture frames that are all based on a common structure
136called Component. Groups federate Components of any type and place them by a margin management.
137
138Thanks to a click handler and a printing function stored inside Components, it is possible to perform the actions on
139click or to paint the component without knowing what is stored inside the group. The group is a component that handles
140clicks and is able to paint itself by using the click handler and the painter function of the Component contained inside
141its list. In other words, it delegates to the Components the action to perform.
142
143It also wraps some libMLV low level functions to create basic application features that can be used to create coherent
144state for the application and components. The rendering process is done by computing intermediate morphing between each
145frame combined with a time. By this implementation, the application is not using MLV_Animation.
136 146
137\newpage 147\newpage
138 148