Mercurial > MadButterfly
diff src/event.c @ 747:d2f2ed27b84d
Separate GEF_NOT_SHOWED and GEF_HIDDEN flags.
GEF_HIDDEN mark a geo (shape) can not be showed, GEF_NOT_SHOWED is
implied by GEF_HIDDEN or one of ancesters that is hidden. Redraw
manager use GEF_NOT_SHOWED to determine who is not showed, actually.
GEF_NOT_SHOWED is flaged when clean_shape().
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Wed, 25 Aug 2010 18:22:32 +0800 |
parents | 6e18550c8fa8 |
children | 586e50f82c1f |
line wrap: on
line diff
--- a/src/event.c Wed Aug 25 14:48:39 2010 +0800 +++ b/src/event.c Wed Aug 25 18:22:32 2010 +0800 @@ -135,7 +135,7 @@ #define MB_OBJ_INIT(obj, type) do { (obj)->obj_type = type; } while(0) #define GEF_OV_DRAW 0x1 -#define GEF_HIDDEN 0x2 +#define GEF_NOT_SHOWED 0x20 struct shape { mb_obj_t obj; @@ -611,7 +611,7 @@ cr = rdman_get_cr(rdman); for(i = rdman_shape_gl_len(rdman) - 1; i >= 0; i--) { shape = rdman_get_shape_gl(rdman, i); - if(sh_get_flags(shape, GEF_HIDDEN)) + if(sh_get_flags(shape, GEF_NOT_SHOWED)) continue; r = _shape_pos_is_in(shape, x, y, in_stroke, cr); if(r)