comparison include/mb_types.h @ 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 49e79253b6d3
children cedfe4966fd6
comparison
equal deleted inserted replaced
746:1dbc74a14199 747:d2f2ed27b84d
122 #define GEF_DIRTY 0x1 122 #define GEF_DIRTY 0x1
123 #define GEF_HIDDEN 0x2 /*!< The geo is hidden. */ 123 #define GEF_HIDDEN 0x2 /*!< The geo is hidden. */
124 #define GEF_FREE 0x4 124 #define GEF_FREE 0x4
125 #define GEF_OV_DRAW 0x8 /*!< To flag drawed for a overlay testing. */ 125 #define GEF_OV_DRAW 0x8 /*!< To flag drawed for a overlay testing. */
126 #define GEF_SWAP 0x10 126 #define GEF_SWAP 0x10
127 #define GEF_NOT_SHOWED 0x20 /*!< This geo is not showed.
128 *
129 * A geo is not showed if it is hidden
130 * or one of its ancestors is hidden.
131 * Redraw manager uses this flag to
132 * determine who is not showed.
133 */
127 134
128 extern int areas_are_overlay(area_t *r1, area_t *r2); 135 extern int areas_are_overlay(area_t *r1, area_t *r2);
129 extern void area_init(area_t *area, int n_pos, co_aix pos[][2]); 136 extern void area_init(area_t *area, int n_pos, co_aix pos[][2]);
130 #define _in_range(a, s, w) ((a) >= (s) && (a) < ((s) + (w))) 137 #define _in_range(a, s, w) ((a) >= (s) && (a) < ((s) + (w)))
131 #define area_pos_is_in(area, _x, _y) \ 138 #define area_pos_is_in(area, _x, _y) \