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 *