Mercurial > MadButterfly
comparison src/redraw_man.h @ 30:e06a4a667ce2
Accept mouse/pointer event and hint the shape that the pointer is over.
- add find_shape_at_pos()
author | Thinker K.F. Li <thinker@branda.to> |
---|---|
date | Tue, 05 Aug 2008 12:40:45 +0800 |
parents | e598bc809c0f |
children | 943acee7f346 |
comparison
equal
deleted
inserted
replaced
29:f56c96b035a8 | 30:e06a4a667ce2 |
---|---|
45 | 45 |
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 int max_gen_geos; | |
51 int n_gen_geos; | |
52 geo_t **gen_geos; /* general geo list */ | |
53 | |
50 cairo_t *cr; | 54 cairo_t *cr; |
51 cairo_t *backend; | 55 cairo_t *backend; |
52 } redraw_man_t; | 56 } redraw_man_t; |
53 | 57 |
54 extern int redraw_man_init(redraw_man_t *rdman, cairo_t *cr, | 58 extern int redraw_man_init(redraw_man_t *rdman, cairo_t *cr, |
64 extern int rdman_coord_free(redraw_man_t *rdman, coord_t *coord); | 68 extern int rdman_coord_free(redraw_man_t *rdman, coord_t *coord); |
65 extern int rdman_coord_changed(redraw_man_t *rdman, coord_t *coord); | 69 extern int rdman_coord_changed(redraw_man_t *rdman, coord_t *coord); |
66 extern int rdman_shape_changed(redraw_man_t *rdman, shape_t *shape); | 70 extern int rdman_shape_changed(redraw_man_t *rdman, shape_t *shape); |
67 extern int rdman_redraw_changed(redraw_man_t *rdman); | 71 extern int rdman_redraw_changed(redraw_man_t *rdman); |
68 extern int rdman_redraw_all(redraw_man_t *rdman); | 72 extern int rdman_redraw_all(redraw_man_t *rdman); |
73 extern int rdman_force_clean(redraw_man_t *rdman); | |
69 extern shnode_t *shnode_new(redraw_man_t *rdman, shape_t *shape); | 74 extern shnode_t *shnode_new(redraw_man_t *rdman, shape_t *shape); |
70 #define shnode_free(rdman, node) elmpool_elm_free((rdman)->shnode_pool, node) | 75 #define shnode_free(rdman, node) elmpool_elm_free((rdman)->shnode_pool, node) |
71 #define shnode_list_free(rdman, q) \ | 76 #define shnode_list_free(rdman, q) \ |
72 do { \ | 77 do { \ |
73 shnode_t *__node, *__last; \ | 78 shnode_t *__node, *__last; \ |
101 _rdman_paint_child(rdman, paint, shape); \ | 106 _rdman_paint_child(rdman, paint, shape); \ |
102 shape->stroke = paint; \ | 107 shape->stroke = paint; \ |
103 } while(0) | 108 } while(0) |
104 extern int rdman_paint_changed(redraw_man_t *rdman, paint_t *paint); | 109 extern int rdman_paint_changed(redraw_man_t *rdman, paint_t *paint); |
105 | 110 |
111 extern shape_t *find_shape_at_pos(redraw_man_t *rdman, | |
112 co_aix x, co_aix y, int *in_stroke); | |
113 | |
106 | 114 |
107 #endif /* __REDRAW_MAN_H_ */ | 115 #endif /* __REDRAW_MAN_H_ */ |