comparison orgfiles/auto_update.muse @ 12:79e9edf4c00a

Add redraw manager
author Thinker K.F. Li <thinker@branda.to>
date Mon, 28 Jul 2008 17:45:36 +0800
parents
children
comparison
equal deleted inserted replaced
11:128af06c876c 12:79e9edf4c00a
1 When an object change it's size, position, or components inside it,
2 other objects overlaid with the object in old or new positions should
3 be re-drawed. The place that the object is resident in old or new
4 position should be cleared before re-drawing. We need a system
5 to determine and track effected by the change of an object.
6
7 The graphics are grouped into groups in tree-hierachy. One group
8 can be part of another group. When a group's transformation matrix
9 is chagned, all child groups should be affected. All it's members
10 should also be re-drawed. All members of a group been changed are
11 linked into update list in their order. The one more close to
12 tree root is more earier in the list.
13
14 Transformations can only apply to groups. A tree of coord_t is
15 maintained to model relationships of groups. Coord_t is coordination,
16 a transfromation from user space to upper level's space or devcie space.
17
18 coord_t must know graphics in respective group. Once transformation
19 matrix of a coord_t object changed, it can ask members to
20 re-drawed them-self.
21
22 Changes of the transformation of a coord_t should be propagated to
23 child coord_t objects/groups.
24