lv_obj_style.h
Typedefs
-
typedef uint32_t lv_style_selector_t
Enums
-
enum lv_style_state_cmp_t
Values:
-
enumerator LV_STYLE_STATE_CMP_SAME
The style properties in the 2 states are identical
-
enumerator LV_STYLE_STATE_CMP_DIFF_REDRAW
The differences can be shown with a simple redraw
-
enumerator LV_STYLE_STATE_CMP_DIFF_DRAW_PAD
The differences can be shown with a simple redraw
-
enumerator LV_STYLE_STATE_CMP_DIFF_LAYOUT
The differences can be shown with a simple redraw
-
enumerator LV_STYLE_STATE_CMP_SAME
Functions
-
void lv_obj_add_style(lv_obj_t *obj, const lv_style_t *style, lv_style_selector_t selector)
Add a style to an object.
Examples:
lv_obj_add_style(btn, &style_btn, 0); //Default button style lv_obj_add_style(btn, &btn_red, LV_STATE_PRESSED); //Overwrite only some colors to red when pressed
- Parameters:
obj – pointer to an object
style – pointer to a style to add
selector – OR-ed value of parts and state to which the style should be added
-
bool lv_obj_replace_style(lv_obj_t *obj, const lv_style_t *old_style, const lv_style_t *new_style, lv_style_selector_t selector)
Replaces a style of an object, preserving the order of the style stack (local styles and transitions are ignored).
Examples:
lv_obj_replace_style(obj, &yellow_style, &blue_style, LV_PART_ANY | LV_STATE_ANY); //Replace a specific style lv_obj_replace_style(obj, &yellow_style, &blue_style, LV_PART_MAIN | LV_STATE_PRESSED); //Replace a specific style assigned to the main part when it is pressed
- Parameters:
obj – pointer to an object
old_style – pointer to a style to replace.
new_style – pointer to a style to replace the old style with.
selector – OR-ed values of states and a part to replace only styles with matching selectors. LV_STATE_ANY and LV_PART_ANY can be used
-
void lv_obj_remove_style(lv_obj_t *obj, const lv_style_t *style, lv_style_selector_t selector)
Remove a style from an object.
Examples:
lv_obj_remove_style(obj, &style, LV_PART_ANY | LV_STATE_ANY); //Remove a specific style lv_obj_remove_style(obj, NULL, LV_PART_MAIN | LV_STATE_ANY); //Remove all styles from the main part lv_obj_remove_style(obj, NULL, LV_PART_ANY | LV_STATE_ANY); //Remove all styles
- Parameters:
obj – pointer to an object
style – pointer to a style to remove. Can be NULL to check only the selector
selector – OR-ed values of states and a part to remove only styles with matching selectors. LV_STATE_ANY and LV_PART_ANY can be used
-
void lv_obj_remove_style_all(lv_obj_t *obj)
Remove all styles from an object
- Parameters:
obj – pointer to an object
-
void lv_obj_report_style_change(lv_style_t *style)
Notify all object if a style is modified
- Parameters:
style – pointer to a style. Only the objects with this style will be notified (NULL to notify all objects)
-
void lv_obj_refresh_style(lv_obj_t *obj, lv_part_t part, lv_style_prop_t prop)
Notify an object and its children about its style is modified.
- Parameters:
obj – pointer to an object
part – the part whose style was changed. E.g.
LV_PART_ANY
,LV_PART_MAIN
prop –
LV_STYLE_PROP_ANY
or anLV_STYLE_...
property. It is used to optimize what needs to be refreshed.LV_STYLE_PROP_INV
to perform only a style cache update
-
void lv_obj_enable_style_refresh(bool en)
Enable or disable automatic style refreshing when a new style is added/removed to/from an object or any other style change happens.
- Parameters:
en – true: enable refreshing; false: disable refreshing
-
lv_style_value_t lv_obj_get_style_prop(const lv_obj_t *obj, lv_part_t part, lv_style_prop_t prop)
Get the value of a style property. The current state of the object will be considered. Inherited properties will be inherited. If a property is not set a default value will be returned.
- Parameters:
obj – pointer to an object
part – a part from which the property should be get
prop – the property to get
- Returns:
the value of the property. Should be read from the correct field of the
lv_style_value_t
according to the type of the property.
-
bool lv_obj_has_style_prop(const lv_obj_t *obj, lv_style_selector_t selector, lv_style_prop_t prop)
Check if an object has a specified style property for a given style selector.
- Parameters:
obj – pointer to an object
selector – the style selector to be checked, defining the scope of the style to be examined.
prop – the property to be checked.
- Returns:
true if the object has the specified selector and property, false otherwise.
-
void lv_obj_set_local_style_prop(lv_obj_t *obj, lv_style_prop_t prop, lv_style_value_t value, lv_style_selector_t selector)
Set local style property on an object's part and state.
- Parameters:
obj – pointer to an object
prop – the property
value – value of the property. The correct element should be set according to the type of the property
selector – OR-ed value of parts and state for which the style should be set
-
lv_style_res_t lv_obj_get_local_style_prop(lv_obj_t *obj, lv_style_prop_t prop, lv_style_value_t *value, lv_style_selector_t selector)
-
bool lv_obj_remove_local_style_prop(lv_obj_t *obj, lv_style_prop_t prop, lv_style_selector_t selector)
Remove a local style property from a part of an object with a given state.
- Parameters:
obj – pointer to an object
prop – a style property to remove.
selector – OR-ed value of parts and state for which the style should be removed
- Returns:
true the property was found and removed; false: the property was not found
-
lv_style_value_t lv_obj_style_apply_color_filter(const lv_obj_t *obj, lv_part_t part, lv_style_value_t v)
Used internally for color filtering
-
void lv_obj_fade_in(lv_obj_t *obj, uint32_t time, uint32_t delay)
Fade in an an object and all its children.
- Parameters:
obj – the object to fade in
time – time of fade
delay – delay to start the animation
-
void lv_obj_fade_out(lv_obj_t *obj, uint32_t time, uint32_t delay)
Fade out an an object and all its children.
- Parameters:
obj – the object to fade out
time – time of fade
delay – delay to start the animation
-
static inline lv_state_t lv_obj_style_get_selector_state(lv_style_selector_t selector)
-
static inline lv_part_t lv_obj_style_get_selector_part(lv_style_selector_t selector)
-
static inline void lv_obj_set_style_pad_all(lv_obj_t *obj, int32_t value, lv_style_selector_t selector)
-
static inline void lv_obj_set_style_pad_hor(lv_obj_t *obj, int32_t value, lv_style_selector_t selector)
-
static inline void lv_obj_set_style_pad_ver(lv_obj_t *obj, int32_t value, lv_style_selector_t selector)
-
static inline void lv_obj_set_style_margin_all(lv_obj_t *obj, int32_t value, lv_style_selector_t selector)
-
static inline void lv_obj_set_style_margin_hor(lv_obj_t *obj, int32_t value, lv_style_selector_t selector)
-
static inline void lv_obj_set_style_margin_ver(lv_obj_t *obj, int32_t value, lv_style_selector_t selector)
-
static inline void lv_obj_set_style_pad_gap(lv_obj_t *obj, int32_t value, lv_style_selector_t selector)
-
static inline void lv_obj_set_style_size(lv_obj_t *obj, int32_t width, int32_t height, lv_style_selector_t selector)
-
static inline void lv_obj_set_style_transform_scale(lv_obj_t *obj, int32_t value, lv_style_selector_t selector)
-
lv_text_align_t lv_obj_calculate_style_text_align(const lv_obj_t *obj, lv_part_t part, const char *txt)
-
lv_opa_t lv_obj_get_style_opa_recursive(const lv_obj_t *obj, lv_part_t part)
Get the
opa
style property from all parents and multiply and>> 8
them.- Parameters:
obj – the object whose opacity should be get
part – the part whose opacity should be get. Non-MAIN parts will consider the
opa
of the MAIN part too
- Returns:
the final opacity considering the parents' opacity too