Mercurial > MadButterfly
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 |