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)
 
 /* @} */