Mercurial > MadButterfly
diff 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 |
line wrap: on
line diff
--- a/include/mb_types.h Sun Dec 27 14:06:20 2009 +0800 +++ b/include/mb_types.h Sun May 16 22:59:24 2010 +0800 @@ -161,9 +161,10 @@ */ area_t aggr_dirty_areas[2]; /*!< Used to aggregate updates to parent. */ area_t cached_dirty_area; /*!< Used to dirty an area in cached space. */ - area_t owner_mems_area; /*!< \brief The area is covered by members - * of owner. - */ + area_t pcache_areas[2]; /*!< The area in the space of parent + * cached. */ + area_t *pcache_cur_area; /*!< Current area for parent cached. */ + area_t *pcache_last_area; /*!< Last area for parent cached. */ } coord_canvas_info_t; /*! \brief A coordination system. @@ -251,6 +252,7 @@ extern co_aix coord_trans_size(coord_t *co, co_aix size); extern void compute_aggr_of_coord(coord_t *coord); extern void compute_aggr_of_cached_coord(coord_t *coord); +extern void compute_aggr(coord_t *coord); extern void compute_reverse(co_aix *orig, co_aix *reverse); extern void update_aggr_matrix(coord_t *start); extern coord_t *preorder_coord_subtree(coord_t *root, coord_t *last); @@ -287,6 +289,7 @@ do { (co)->flags &= ~COF_MUST_ZEROING; } while(0) #define coord_set_flags(co, _flags) \ do { (co)->flags |= (_flags); } while(0) +#define coord_get_parent(co) ((co)->parent) #define coord_get_flags(co, _flags) ((co)->flags & (_flags)) #define coord_clear_flags(co, _flags) \ do { (co)->flags &= ~(_flags); } while(0) @@ -324,12 +327,19 @@ shape = geo_get_shape_safe(STAILQ_NEXT(geo_t, coord_next, \ sh_get_geo(shape)))) #define coord_get_area(coord) ((coord)->cur_area) +#define coord_get_last_area(coord) ((coord)->last_area) +#define coord_get_pcache_area(coord) ((coord)->canvas_info->pcache_cur_area) +#define coord_get_pcache_last_area(coord) \ + ((coord)->canvas_info->pcache_last_area) +#define coord_get_cached(coord) ((coord)->canvas_info->owner) #define _coord_get_canvas(coord) ((coord)->canvas_info->canvas) #define _coord_set_canvas(coord, _canvas) \ do { \ (coord)->canvas_info->canvas = _canvas; \ } while(0) #define _coord_get_dirty_areas(coord) (&(coord)->canvas_info->dirty_areas) +#define _coord_get_aggr_dirty_areas(coord) \ + ((coord)->canvas_info->aggr_dirty_areas) /* @} */