comparison dox/arch.h @ 111:8feb89b19619

More doxy
author Thinker K.F. Li <thinker@branda.to>
date Fri, 12 Sep 2008 23:43:11 +0800
parents
children e89512d6fa0a
comparison
equal deleted inserted replaced
110:c14cb6d12030 111:8feb89b19619
1 /*! \page archi Internal Architecture
2 *
3 * \image html core.png
4 * Above graphic is relationship among major objects of MadButterfly.
5 * \ref redraw_man_t, redraw manager, is supposed to manage graphic elements,
6 * shapes, and decide when and who to redraw on the output screen.
7 *
8 * \ref shape_t is base-type for all graphic objects. It can be a path,
9 * a text, a ellipse, ..., or an image. When the states or attributes of
10 * an graphic
11 * object changed, managing redraw_man_t, the one that manages the graphic
12 * object, will be notified. The redraw_man_t will schedule a redrawing
13 * for every
14 * dirty objects, changed ones, and relative objects. The relative objects
15 * are objects effected by changed ones. For example, part of a relative
16 * object may be hidden before changing, but it is re-explored after chaning.
17 * The explored part of the object must be redrawed.
18 *
19 * The shape of shape objects are variable from type to type. To simplize
20 * the problem, we use a rectangle to model the area occupied by an object.
21 * \ref geo_t is the one used to model the rectangle. Shape objects should
22 * update associated \ref geo_t objects to reflect changing of them-self.
23 *
24 * \ref coord_t is used to model transformation in coordinate system.
25 * A \ref coord_t is actually an transform matrix with additional
26 * informations. \ref coord_t
27 * objects are organized as a tree according hierachy of group tags in
28 * a SVG file.
29 *
30 * Colors or patterns used to stroke or fill shapes are described
31 * by \ref paint_t . Every shape object has a paint, but a paint object
32 * can be used by multiple shape objects. Once a paint is changed, all
33 * objects that associate with the paint are dirty. They will be scheduled
34 * by associated \ref redraw_man_t object to update graphics on
35 * output screen.
36 *
37 */