diff --git a/src/core/lv_obj_style.c b/src/core/lv_obj_style.c index 55903af228..a761f8046d 100644 --- a/src/core/lv_obj_style.c +++ b/src/core/lv_obj_style.c @@ -175,10 +175,10 @@ void lv_obj_refresh_style(lv_obj_t * obj, lv_style_selector_t selector, lv_style lv_part_t part = lv_obj_style_get_selector_part(selector); - bool is_layout_refr = lv_style_prop_has_flag(prop, LV_STYLE_PROP_LAYOUT_REFR); - bool is_ext_draw = lv_style_prop_has_flag(prop, LV_STYLE_PROP_EXT_DRAW); - bool is_inheritable = lv_style_prop_has_flag(prop, LV_STYLE_PROP_INHERIT); - bool is_layer_refr = lv_style_prop_has_flag(prop, LV_STYLE_PROP_LAYER_REFR); + bool is_layout_refr = lv_style_prop_has_flag(prop, LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); + bool is_ext_draw = lv_style_prop_has_flag(prop, LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE); + bool is_inheritable = lv_style_prop_has_flag(prop, LV_STYLE_PROP_FLAG_INHERITABLE); + bool is_layer_refr = lv_style_prop_has_flag(prop, LV_STYLE_PROP_FLAG_LAYER_UPDATE); if(is_layout_refr) { if(part == LV_PART_ANY || @@ -224,7 +224,7 @@ void lv_obj_enable_style_refresh(bool en) lv_style_value_t lv_obj_get_style_prop(const lv_obj_t * obj, lv_part_t part, lv_style_prop_t prop) { lv_style_value_t value_act; - bool inheritable = lv_style_prop_has_flag(prop, LV_STYLE_PROP_INHERIT); + bool inheritable = lv_style_prop_has_flag(prop, LV_STYLE_PROP_FLAG_INHERITABLE); lv_style_res_t found = LV_STYLE_RES_NOT_FOUND; while(obj) { found = get_prop_core(obj, part, prop, &value_act); diff --git a/src/extra/layouts/flex/lv_flex.c b/src/extra/layouts/flex/lv_flex.c index 2e75a74443..c2caff5e46 100644 --- a/src/extra/layouts/flex/lv_flex.c +++ b/src/extra/layouts/flex/lv_flex.c @@ -94,9 +94,9 @@ void lv_flex_init(void) LV_LAYOUT_FLEX = lv_layout_register(flex_update, NULL); LV_STYLE_FLEX_FLOW = lv_style_register_prop(LV_STYLE_PROP_FLAG_NONE); - LV_STYLE_FLEX_MAIN_PLACE = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); - LV_STYLE_FLEX_CROSS_PLACE = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); - LV_STYLE_FLEX_TRACK_PLACE = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); + LV_STYLE_FLEX_MAIN_PLACE = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); + LV_STYLE_FLEX_CROSS_PLACE = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); + LV_STYLE_FLEX_TRACK_PLACE = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); } void lv_obj_set_flex_flow(lv_obj_t * obj, lv_flex_flow_t flow) diff --git a/src/extra/layouts/grid/lv_grid.c b/src/extra/layouts/grid/lv_grid.c index d5d222b3fc..36462cfaa4 100644 --- a/src/extra/layouts/grid/lv_grid.c +++ b/src/extra/layouts/grid/lv_grid.c @@ -131,17 +131,17 @@ void lv_grid_init(void) { LV_LAYOUT_GRID = lv_layout_register(grid_update, NULL); - LV_STYLE_GRID_COLUMN_DSC_ARRAY = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); - LV_STYLE_GRID_ROW_DSC_ARRAY = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); - LV_STYLE_GRID_COLUMN_ALIGN = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); - LV_STYLE_GRID_ROW_ALIGN = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); + LV_STYLE_GRID_COLUMN_DSC_ARRAY = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); + LV_STYLE_GRID_ROW_DSC_ARRAY = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); + LV_STYLE_GRID_COLUMN_ALIGN = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); + LV_STYLE_GRID_ROW_ALIGN = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); - LV_STYLE_GRID_CELL_ROW_SPAN = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); - LV_STYLE_GRID_CELL_ROW_POS = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); - LV_STYLE_GRID_CELL_COLUMN_SPAN = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); - LV_STYLE_GRID_CELL_COLUMN_POS = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); - LV_STYLE_GRID_CELL_X_ALIGN = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); - LV_STYLE_GRID_CELL_Y_ALIGN = lv_style_register_prop(LV_STYLE_PROP_LAYOUT_REFR); + LV_STYLE_GRID_CELL_ROW_SPAN = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); + LV_STYLE_GRID_CELL_ROW_POS = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); + LV_STYLE_GRID_CELL_COLUMN_SPAN = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); + LV_STYLE_GRID_CELL_COLUMN_POS = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); + LV_STYLE_GRID_CELL_X_ALIGN = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); + LV_STYLE_GRID_CELL_Y_ALIGN = lv_style_register_prop(LV_STYLE_PROP_FLAG_LAYOUT_UPDATE); } void lv_obj_set_grid_dsc_array(lv_obj_t * obj, const lv_coord_t col_dsc[], const lv_coord_t row_dsc[]) diff --git a/src/misc/lv_style.c b/src/misc/lv_style.c index c9b4812a07..444c2fad1d 100644 --- a/src/misc/lv_style.c +++ b/src/misc/lv_style.c @@ -36,28 +36,28 @@ static void lv_style_set_prop_meta_helper(lv_style_prop_t prop, lv_style_value_t **********************/ const uint8_t _lv_style_builtin_prop_flag_lookup_table[_LV_STYLE_NUM_BUILT_IN_PROPS] = { - [LV_STYLE_WIDTH] = LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_MIN_WIDTH] = LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_MAX_WIDTH] = LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_HEIGHT] = LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_MIN_HEIGHT] = LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_MAX_HEIGHT] = LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_X] = LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_Y] = LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_ALIGN] = LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_TRANSFORM_WIDTH] = LV_STYLE_PROP_EXT_DRAW, - [LV_STYLE_TRANSFORM_HEIGHT] = LV_STYLE_PROP_EXT_DRAW, - [LV_STYLE_TRANSLATE_X] = LV_STYLE_PROP_LAYOUT_REFR | LV_STYLE_PROP_PARENT_LAYOUT_REFR, - [LV_STYLE_TRANSLATE_Y] = LV_STYLE_PROP_LAYOUT_REFR | LV_STYLE_PROP_PARENT_LAYOUT_REFR, - [LV_STYLE_TRANSFORM_ZOOM] = LV_STYLE_PROP_EXT_DRAW | LV_STYLE_PROP_LAYER_REFR, - [LV_STYLE_TRANSFORM_ANGLE] = LV_STYLE_PROP_EXT_DRAW | LV_STYLE_PROP_LAYER_REFR, + [LV_STYLE_WIDTH] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_MIN_WIDTH] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_MAX_WIDTH] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_HEIGHT] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_MIN_HEIGHT] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_MAX_HEIGHT] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_X] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_Y] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_ALIGN] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_TRANSFORM_WIDTH] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, + [LV_STYLE_TRANSFORM_HEIGHT] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, + [LV_STYLE_TRANSLATE_X] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE | LV_STYLE_PROP_FLAG_PARENT_LAYOUT_UPDATE, + [LV_STYLE_TRANSLATE_Y] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE | LV_STYLE_PROP_FLAG_PARENT_LAYOUT_UPDATE, + [LV_STYLE_TRANSFORM_ZOOM] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE | LV_STYLE_PROP_FLAG_LAYER_UPDATE, + [LV_STYLE_TRANSFORM_ANGLE] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE | LV_STYLE_PROP_FLAG_LAYER_UPDATE, - [LV_STYLE_PAD_TOP] = LV_STYLE_PROP_EXT_DRAW | LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_PAD_BOTTOM] = LV_STYLE_PROP_EXT_DRAW | LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_PAD_LEFT] = LV_STYLE_PROP_EXT_DRAW | LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_PAD_RIGHT] = LV_STYLE_PROP_EXT_DRAW | LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_PAD_ROW] = LV_STYLE_PROP_EXT_DRAW | LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_PAD_COLUMN] = LV_STYLE_PROP_EXT_DRAW | LV_STYLE_PROP_LAYOUT_REFR, + [LV_STYLE_PAD_TOP] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE | LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_PAD_BOTTOM] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE | LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_PAD_LEFT] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE | LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_PAD_RIGHT] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE | LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_PAD_ROW] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE | LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_PAD_COLUMN] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE | LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, [LV_STYLE_BG_COLOR] = 0, [LV_STYLE_BG_OPA] = 0, @@ -68,7 +68,7 @@ const uint8_t _lv_style_builtin_prop_flag_lookup_table[_LV_STYLE_NUM_BUILT_IN_PR [LV_STYLE_BG_GRAD] = 0, [LV_STYLE_BG_DITHER_MODE] = 0, - [LV_STYLE_BG_IMG_SRC] = LV_STYLE_PROP_EXT_DRAW, + [LV_STYLE_BG_IMG_SRC] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, [LV_STYLE_BG_IMG_OPA] = 0, [LV_STYLE_BG_IMG_RECOLOR] = 0, [LV_STYLE_BG_IMG_RECOLOR_OPA] = 0, @@ -76,58 +76,58 @@ const uint8_t _lv_style_builtin_prop_flag_lookup_table[_LV_STYLE_NUM_BUILT_IN_PR [LV_STYLE_BORDER_COLOR] = 0, [LV_STYLE_BORDER_OPA] = 0, - [LV_STYLE_BORDER_WIDTH] = LV_STYLE_PROP_LAYOUT_REFR, + [LV_STYLE_BORDER_WIDTH] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, [LV_STYLE_BORDER_SIDE] = 0, [LV_STYLE_BORDER_POST] = 0, - [LV_STYLE_OUTLINE_WIDTH] = LV_STYLE_PROP_EXT_DRAW, + [LV_STYLE_OUTLINE_WIDTH] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, [LV_STYLE_OUTLINE_COLOR] = 0, - [LV_STYLE_OUTLINE_OPA] = LV_STYLE_PROP_EXT_DRAW, - [LV_STYLE_OUTLINE_PAD] = LV_STYLE_PROP_EXT_DRAW, + [LV_STYLE_OUTLINE_OPA] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, + [LV_STYLE_OUTLINE_PAD] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, - [LV_STYLE_SHADOW_WIDTH] = LV_STYLE_PROP_EXT_DRAW, - [LV_STYLE_SHADOW_OFS_X] = LV_STYLE_PROP_EXT_DRAW, - [LV_STYLE_SHADOW_OFS_Y] = LV_STYLE_PROP_EXT_DRAW, - [LV_STYLE_SHADOW_SPREAD] = LV_STYLE_PROP_EXT_DRAW, + [LV_STYLE_SHADOW_WIDTH] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, + [LV_STYLE_SHADOW_OFS_X] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, + [LV_STYLE_SHADOW_OFS_Y] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, + [LV_STYLE_SHADOW_SPREAD] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, [LV_STYLE_SHADOW_COLOR] = 0, - [LV_STYLE_SHADOW_OPA] = LV_STYLE_PROP_EXT_DRAW, + [LV_STYLE_SHADOW_OPA] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, [LV_STYLE_IMG_OPA] = 0, [LV_STYLE_IMG_RECOLOR] = 0, [LV_STYLE_IMG_RECOLOR_OPA] = 0, - [LV_STYLE_LINE_WIDTH] = LV_STYLE_PROP_EXT_DRAW, + [LV_STYLE_LINE_WIDTH] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, [LV_STYLE_LINE_DASH_WIDTH] = 0, [LV_STYLE_LINE_DASH_GAP] = 0, [LV_STYLE_LINE_ROUNDED] = 0, [LV_STYLE_LINE_COLOR] = 0, [LV_STYLE_LINE_OPA] = 0, - [LV_STYLE_ARC_WIDTH] = LV_STYLE_PROP_EXT_DRAW, + [LV_STYLE_ARC_WIDTH] = LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE, [LV_STYLE_ARC_ROUNDED] = 0, [LV_STYLE_ARC_COLOR] = 0, [LV_STYLE_ARC_OPA] = 0, [LV_STYLE_ARC_IMG_SRC] = 0, - [LV_STYLE_TEXT_COLOR] = LV_STYLE_PROP_INHERIT, - [LV_STYLE_TEXT_OPA] = LV_STYLE_PROP_INHERIT, - [LV_STYLE_TEXT_FONT] = LV_STYLE_PROP_INHERIT | LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_TEXT_LETTER_SPACE] = LV_STYLE_PROP_INHERIT | LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_TEXT_LINE_SPACE] = LV_STYLE_PROP_INHERIT | LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_TEXT_DECOR] = LV_STYLE_PROP_INHERIT, - [LV_STYLE_TEXT_ALIGN] = LV_STYLE_PROP_INHERIT | LV_STYLE_PROP_LAYOUT_REFR, + [LV_STYLE_TEXT_COLOR] = LV_STYLE_PROP_FLAG_INHERITABLE, + [LV_STYLE_TEXT_OPA] = LV_STYLE_PROP_FLAG_INHERITABLE, + [LV_STYLE_TEXT_FONT] = LV_STYLE_PROP_FLAG_INHERITABLE | LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_TEXT_LETTER_SPACE] = LV_STYLE_PROP_FLAG_INHERITABLE | LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_TEXT_LINE_SPACE] = LV_STYLE_PROP_FLAG_INHERITABLE | LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_TEXT_DECOR] = LV_STYLE_PROP_FLAG_INHERITABLE, + [LV_STYLE_TEXT_ALIGN] = LV_STYLE_PROP_FLAG_INHERITABLE | LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, [LV_STYLE_RADIUS] = 0, [LV_STYLE_CLIP_CORNER] = 0, - [LV_STYLE_OPA] = LV_STYLE_PROP_LAYER_REFR, - [LV_STYLE_COLOR_FILTER_DSC] = LV_STYLE_PROP_INHERIT, - [LV_STYLE_COLOR_FILTER_OPA] = LV_STYLE_PROP_INHERIT, + [LV_STYLE_OPA] = LV_STYLE_PROP_FLAG_LAYER_UPDATE, + [LV_STYLE_COLOR_FILTER_DSC] = LV_STYLE_PROP_FLAG_INHERITABLE, + [LV_STYLE_COLOR_FILTER_OPA] = LV_STYLE_PROP_FLAG_INHERITABLE, [LV_STYLE_ANIM_TIME] = 0, [LV_STYLE_ANIM_SPEED] = 0, [LV_STYLE_TRANSITION] = 0, - [LV_STYLE_BLEND_MODE] = LV_STYLE_PROP_LAYER_REFR, - [LV_STYLE_LAYOUT] = LV_STYLE_PROP_LAYOUT_REFR, - [LV_STYLE_BASE_DIR] = LV_STYLE_PROP_INHERIT | LV_STYLE_PROP_LAYOUT_REFR, + [LV_STYLE_BLEND_MODE] = LV_STYLE_PROP_FLAG_LAYER_UPDATE, + [LV_STYLE_LAYOUT] = LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, + [LV_STYLE_BASE_DIR] = LV_STYLE_PROP_FLAG_INHERITABLE | LV_STYLE_PROP_FLAG_LAYOUT_UPDATE, }; uint32_t _lv_style_custom_prop_flag_lookup_table_size = 0; @@ -380,7 +380,7 @@ uint8_t _lv_style_prop_lookup_flags(lv_style_prop_t prop) { extern const uint8_t _lv_style_builtin_prop_flag_lookup_table[]; extern uint32_t _lv_style_custom_prop_flag_lookup_table_size; - if(prop == LV_STYLE_PROP_ANY) return LV_STYLE_PROP_ALL; /*Any prop can have any flags*/ + if(prop == LV_STYLE_PROP_ANY) return LV_STYLE_PROP_FLAG_ALL; /*Any prop can have any flags*/ if(prop == LV_STYLE_PROP_INV) return 0; if(prop < _LV_STYLE_NUM_BUILT_IN_PROPS) diff --git a/src/misc/lv_style.h b/src/misc/lv_style.h index f565ee31c7..d1f43bfd64 100644 --- a/src/misc/lv_style.h +++ b/src/misc/lv_style.h @@ -35,13 +35,13 @@ extern "C" { * * The rest of the flags will have _FLAG added to their name in v9. */ -#define LV_STYLE_PROP_FLAG_NONE (0) -#define LV_STYLE_PROP_INHERIT (1 << 0) /*Inherited*/ -#define LV_STYLE_PROP_EXT_DRAW (1 << 1) /*Requires ext. draw size update when changed*/ -#define LV_STYLE_PROP_LAYOUT_REFR (1 << 2) /*Requires layout update when changed*/ -#define LV_STYLE_PROP_PARENT_LAYOUT_REFR (1 << 3) /*Requires layout update on parent when changed*/ -#define LV_STYLE_PROP_LAYER_REFR (1 << 4) /*Affects layer handling*/ -#define LV_STYLE_PROP_ALL (0x1F) /*Indicating all flags*/ +#define LV_STYLE_PROP_FLAG_NONE (0) +#define LV_STYLE_PROP_FLAG_INHERITABLE (1 << 0) /*Inherited*/ +#define LV_STYLE_PROP_FLAG_EXT_DRAW_UPDATE (1 << 1) /*Requires ext. draw size update when changed*/ +#define LV_STYLE_PROP_FLAG_LAYOUT_UPDATE (1 << 2) /*Requires layout update when changed*/ +#define LV_STYLE_PROP_FLAG_PARENT_LAYOUT_UPDATE (1 << 3) /*Requires layout update on parent when changed*/ +#define LV_STYLE_PROP_FLAG_LAYER_UPDATE (1 << 4) /*Affects layer handling*/ +#define LV_STYLE_PROP_FLAG_ALL (0x1F) /*Indicating all flags*/ /** * Other constants