diff include/mb_redraw_man.h @ 235:65cabbdd5284

termporary revision
author Thinker K.F. Li <thinker@branda.to>
date Thu, 25 Dec 2008 18:40:27 +0800
parents 527894c2ad39
children ab8284c8dcee
line wrap: on
line diff
--- a/include/mb_redraw_man.h	Wed Dec 24 23:43:39 2008 +0800
+++ b/include/mb_redraw_man.h	Thu Dec 25 18:40:27 2008 +0800
@@ -109,6 +109,8 @@
 extern int rdman_redraw_area(redraw_man_t *rdman, co_aix x, co_aix y,
 			     co_aix w, co_aix h);
 extern geo_t *rdman_geos(redraw_man_t *rdman, geo_t *last);
+#define rdman_shapes(rdman, last_shape)					\
+    geo_get_shape_safe(rdman_geos(rdman, sh_get_geo_safe(last_shape)))
 extern int rdman_force_clean(redraw_man_t *rdman);
 extern shnode_t *shnode_new(redraw_man_t *rdman, shape_t *shape);
 #define shnode_free(rdman, node) elmpool_elm_free((rdman)->shnode_pool, node)
@@ -172,6 +174,17 @@
 #define rdman_get_ob_factory(rdman) (&(rdman)->ob_factory)
 #define rdman_get_redraw_subject(rdman) ((rdman)->redraw)
 #define rdman_get_root(rdman) ((rdman)->root_coord)
+#define rdman_get_cr(rdman) ((rdman)->cr)
+#define rdman_get_gen_geos(rdman) (&(rdman)->gen_geos)
+extern int rdman_add_gen_geos(redraw_man_t *rdman, geo_t *geo);
+#define rdman_get_shape_gl(rdman, idx)			\
+    geo_get_shape(rdman_get_gen_geos(rdman)->ds[idx])
+#define rdman_add_shape_gl(rdman, shape)			\
+    rdman_add_gen_geos(rdman, sh_get_geo(shape))
+#define rdman_shape_gl_len(rdman)		\
+    rdman_get_gen_geos(rdman)->num
+#define rdman_clear_shape_gl(rdman)		\
+    DARRAY_CLEAN(rdman_get_gen_geos(rdman))
 
 /*! \brief Load sprite dymanicly from the shared object module. 
  *