comparison src/redraw_man.h @ 24:e598bc809c0f

No more flash when animation. 1. Add a buffer surface. 2. Draw on the surface 3. Copy content of buffer surface to XLib surface.
author Thinker K.F. Li <thinker@branda.to>
date Sun, 03 Aug 2008 02:08:31 +0800
parents 8fcf2d878ecd
children e06a4a667ce2
comparison
equal deleted inserted replaced
23:56f592f56ff7 24:e598bc809c0f
46 int max_dirty_areas; 46 int max_dirty_areas;
47 int n_dirty_areas; 47 int n_dirty_areas;
48 area_t **dirty_areas; 48 area_t **dirty_areas;
49 49
50 cairo_t *cr; 50 cairo_t *cr;
51 cairo_t *backend;
51 } redraw_man_t; 52 } redraw_man_t;
52 53
53 extern int redraw_man_init(redraw_man_t *rdman, cairo_t *cr); 54 extern int redraw_man_init(redraw_man_t *rdman, cairo_t *cr,
55 cairo_t *backend);
54 extern void redraw_man_destroy(redraw_man_t *rdman); 56 extern void redraw_man_destroy(redraw_man_t *rdman);
55 extern int rdman_find_overlaid_shapes(redraw_man_t *rdman, 57 extern int rdman_find_overlaid_shapes(redraw_man_t *rdman,
56 geo_t *geo, 58 geo_t *geo,
57 geo_t ***overlays); 59 geo_t ***overlays);
58 extern int rdman_add_shape(redraw_man_t *rdman, 60 extern int rdman_add_shape(redraw_man_t *rdman,