Mercurial > MadButterfly
comparison include/mb_types.h @ 535:a545f126d2bf Android_Skia
pcached_area replaces owner_mems_area
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Sun, 16 May 2010 22:59:24 +0800 |
parents | fa2ccf39ba53 |
children | b6b3dbeaedf3 |
comparison
equal
deleted
inserted
replaced
534:9f2d07a60493 | 535:a545f126d2bf |
---|---|
159 areas_t dirty_areas; /*!< \brief Areas should be updated | 159 areas_t dirty_areas; /*!< \brief Areas should be updated |
160 * in canvas. | 160 * in canvas. |
161 */ | 161 */ |
162 area_t aggr_dirty_areas[2]; /*!< Used to aggregate updates to parent. */ | 162 area_t aggr_dirty_areas[2]; /*!< Used to aggregate updates to parent. */ |
163 area_t cached_dirty_area; /*!< Used to dirty an area in cached space. */ | 163 area_t cached_dirty_area; /*!< Used to dirty an area in cached space. */ |
164 area_t owner_mems_area; /*!< \brief The area is covered by members | 164 area_t pcache_areas[2]; /*!< The area in the space of parent |
165 * of owner. | 165 * cached. */ |
166 */ | 166 area_t *pcache_cur_area; /*!< Current area for parent cached. */ |
167 area_t *pcache_last_area; /*!< Last area for parent cached. */ | |
167 } coord_canvas_info_t; | 168 } coord_canvas_info_t; |
168 | 169 |
169 /*! \brief A coordination system. | 170 /*! \brief A coordination system. |
170 * | 171 * |
171 * It have a transform function defined by matrix to transform | 172 * It have a transform function defined by matrix to transform |
249 extern void coord_init(coord_t *co, coord_t *parent); | 250 extern void coord_init(coord_t *co, coord_t *parent); |
250 extern void coord_trans_pos(coord_t *co, co_aix *x, co_aix *y); | 251 extern void coord_trans_pos(coord_t *co, co_aix *x, co_aix *y); |
251 extern co_aix coord_trans_size(coord_t *co, co_aix size); | 252 extern co_aix coord_trans_size(coord_t *co, co_aix size); |
252 extern void compute_aggr_of_coord(coord_t *coord); | 253 extern void compute_aggr_of_coord(coord_t *coord); |
253 extern void compute_aggr_of_cached_coord(coord_t *coord); | 254 extern void compute_aggr_of_cached_coord(coord_t *coord); |
255 extern void compute_aggr(coord_t *coord); | |
254 extern void compute_reverse(co_aix *orig, co_aix *reverse); | 256 extern void compute_reverse(co_aix *orig, co_aix *reverse); |
255 extern void update_aggr_matrix(coord_t *start); | 257 extern void update_aggr_matrix(coord_t *start); |
256 extern coord_t *preorder_coord_subtree(coord_t *root, coord_t *last); | 258 extern coord_t *preorder_coord_subtree(coord_t *root, coord_t *last); |
257 extern coord_t *postorder_coord_subtree(coord_t *root, coord_t *last); | 259 extern coord_t *postorder_coord_subtree(coord_t *root, coord_t *last); |
258 #define preorder_coord_skip_subtree(sub) \ | 260 #define preorder_coord_skip_subtree(sub) \ |
285 do { (co)->flags |= COF_MUST_ZEROING; } while(0) | 287 do { (co)->flags |= COF_MUST_ZEROING; } while(0) |
286 #define coord_clear_zeroing(co) \ | 288 #define coord_clear_zeroing(co) \ |
287 do { (co)->flags &= ~COF_MUST_ZEROING; } while(0) | 289 do { (co)->flags &= ~COF_MUST_ZEROING; } while(0) |
288 #define coord_set_flags(co, _flags) \ | 290 #define coord_set_flags(co, _flags) \ |
289 do { (co)->flags |= (_flags); } while(0) | 291 do { (co)->flags |= (_flags); } while(0) |
292 #define coord_get_parent(co) ((co)->parent) | |
290 #define coord_get_flags(co, _flags) ((co)->flags & (_flags)) | 293 #define coord_get_flags(co, _flags) ((co)->flags & (_flags)) |
291 #define coord_clear_flags(co, _flags) \ | 294 #define coord_clear_flags(co, _flags) \ |
292 do { (co)->flags &= ~(_flags); } while(0) | 295 do { (co)->flags &= ~(_flags); } while(0) |
293 #define coord_get_mouse_event(coord) ((coord)->mouse_event) | 296 #define coord_get_mouse_event(coord) ((coord)->mouse_event) |
294 #define coord_get_aggr_matrix(coord) ((coord)->aggr_matrix) | 297 #define coord_get_aggr_matrix(coord) ((coord)->aggr_matrix) |
322 for(shape = geo_get_shape_safe(STAILQ_HEAD((coord)->members)); \ | 325 for(shape = geo_get_shape_safe(STAILQ_HEAD((coord)->members)); \ |
323 shape != NULL; \ | 326 shape != NULL; \ |
324 shape = geo_get_shape_safe(STAILQ_NEXT(geo_t, coord_next, \ | 327 shape = geo_get_shape_safe(STAILQ_NEXT(geo_t, coord_next, \ |
325 sh_get_geo(shape)))) | 328 sh_get_geo(shape)))) |
326 #define coord_get_area(coord) ((coord)->cur_area) | 329 #define coord_get_area(coord) ((coord)->cur_area) |
330 #define coord_get_last_area(coord) ((coord)->last_area) | |
331 #define coord_get_pcache_area(coord) ((coord)->canvas_info->pcache_cur_area) | |
332 #define coord_get_pcache_last_area(coord) \ | |
333 ((coord)->canvas_info->pcache_last_area) | |
334 #define coord_get_cached(coord) ((coord)->canvas_info->owner) | |
327 #define _coord_get_canvas(coord) ((coord)->canvas_info->canvas) | 335 #define _coord_get_canvas(coord) ((coord)->canvas_info->canvas) |
328 #define _coord_set_canvas(coord, _canvas) \ | 336 #define _coord_set_canvas(coord, _canvas) \ |
329 do { \ | 337 do { \ |
330 (coord)->canvas_info->canvas = _canvas; \ | 338 (coord)->canvas_info->canvas = _canvas; \ |
331 } while(0) | 339 } while(0) |
332 #define _coord_get_dirty_areas(coord) (&(coord)->canvas_info->dirty_areas) | 340 #define _coord_get_dirty_areas(coord) (&(coord)->canvas_info->dirty_areas) |
341 #define _coord_get_aggr_dirty_areas(coord) \ | |
342 ((coord)->canvas_info->aggr_dirty_areas) | |
333 | 343 |
334 /* @} */ | 344 /* @} */ |
335 | 345 |
336 /*! \brief A grahpic shape. | 346 /*! \brief A grahpic shape. |
337 * | 347 * |