diff options
Diffstat (limited to 'doc/project-report.md')
-rw-r--r-- | doc/project-report.md | 16 |
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 | ||
133 | TODO: modular component-based architecture, wrapping libMLV low level functions\ | 133 | The Graphical User Interface is designed with a modular component-based architecture. That architecture implies an |
134 | based on delegated click handlers and painting functions\ | 134 | Object-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 | 135 | placing them. The components created are groups, buttons, and picture frames that are all based on a common structure |
136 | called Component. Groups federate Components of any type and place them by a margin management. | ||
137 | |||
138 | Thanks to a click handler and a printing function stored inside Components, it is possible to perform the actions on | ||
139 | click or to paint the component without knowing what is stored inside the group. The group is a component that handles | ||
140 | clicks and is able to paint itself by using the click handler and the painter function of the Component contained inside | ||
141 | its list. In other words, it delegates to the Components the action to perform. | ||
142 | |||
143 | It also wraps some libMLV low level functions to create basic application features that can be used to create coherent | ||
144 | state for the application and components. The rendering process is done by computing intermediate morphing between each | ||
145 | frame combined with a time. By this implementation, the application is not using MLV_Animation. | ||
136 | 146 | ||
137 | \newpage | 147 | \newpage |
138 | 148 | ||