Mercurial > MadButterfly
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, |