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_ */