lv_obj.h
API reference for lv_obj.h
See Also: Private HeaderThis header has a companion private implementation with internal data structures.lv_obj_private.h
Functions
core/lv_obj.h:217function
lv_obj_set_flag
Set add or remove one or more flags.
void lv_obj_set_flag(lv_obj_t *obj, lv_obj_flag_t f, bool v)| Name | Type | Description |
|---|---|---|
obj | lv_obj_t * | pointer to an object |
f | lv_obj_flag_t | OR-ed values from lv_obj_flag_t to update. |
v | bool | true: add the flags; false: remove the flags |
core/lv_obj.h:241function
lv_obj_set_state
Add or remove one or more states to the object. The other state bits will remain unchanged.
void lv_obj_set_state(lv_obj_t *obj, lv_state_t state, bool v)| Name | Type | Description |
|---|---|---|
obj | lv_obj_t * | pointer to an object |
state | lv_state_t | the states to add. E.g `LV_STATE_PRESSED |
v | bool | true: add the states; false: remove the states |
core/lv_obj.h:248function
lv_obj_set_user_data
Set the user_data field of the object
void lv_obj_set_user_data(lv_obj_t *obj, void *user_data)| Name | Type | Description |
|---|---|---|
obj | lv_obj_t * | pointer to an object |
user_data | void * | pointer to the new user_data. |
core/lv_obj.h:255function
lv_obj_set_radio_button
Allow only one RADIO_BUTTON sibling to be checked
void lv_obj_set_radio_button(lv_obj_t *obj, bool en)| Name | Type | Description |
|---|---|---|
obj | lv_obj_t * | pointer to a widget |
en | bool | enable or disable radio button behavior |
core/lv_obj.h:398function
lv_obj_set_id
Set an id for an object.
void lv_obj_set_id(lv_obj_t *obj, void *id)| Name | Type | Description |
|---|---|---|
obj | lv_obj_t * | pointer to an object |
id | void * | the id of the object |
Enums
core/lv_obj.h:48enum
lv_obj_flag_t
On/Off features controlling the object's behavior. OR-ed values are possible
Note: update obj flags corresponding properties below whenever add/remove flags or change bit definition of flags.
| Name | Value | Description |
|---|---|---|
LV_OBJ_FLAG_HIDDEN | (1u << 0) | Make the object hidden. (Like it wasn't there at all) |
LV_OBJ_FLAG_CLICKABLE | (1u << 1) | Make the object clickable by the input devices |
LV_OBJ_FLAG_CLICK_FOCUSABLE | (1u << 2) | Add focused state to the object when clicked |
LV_OBJ_FLAG_CHECKABLE | (1u << 3) | Toggle checked state when the object is clicked |
LV_OBJ_FLAG_SCROLLABLE | (1u << 4) | Make the object scrollable |
LV_OBJ_FLAG_SCROLL_ELASTIC | (1u << 5) | Allow scrolling inside but with slower speed |
LV_OBJ_FLAG_SCROLL_MOMENTUM | (1u << 6) | Make the object scroll further when "thrown" |
LV_OBJ_FLAG_SCROLL_ONE | (1u << 7) | Allow scrolling only one snappable children |
LV_OBJ_FLAG_SCROLL_CHAIN_HOR | (1u << 8) | Allow propagating the horizontal scroll to a parent |
LV_OBJ_FLAG_SCROLL_CHAIN_VER | (1u << 9) | Allow propagating the vertical scroll to a parent |
LV_OBJ_FLAG_SCROLL_CHAIN | (LV_OBJ_FLAG_SCROLL_CHAIN_HOR | LV_OBJ_FLAG_SCROLL_CHAIN_VER) | |
LV_OBJ_FLAG_SCROLL_ON_FOCUS | (1u << 10) | Automatically scroll object to make it visible when focused |
LV_OBJ_FLAG_SCROLL_WITH_ARROW | (1u << 11) | Allow scrolling the focused object with arrow keys |
LV_OBJ_FLAG_SNAPPABLE | (1u << 12) | If scroll snap is enabled on the parent it can snap to this object |
LV_OBJ_FLAG_PRESS_LOCK | (1u << 13) | Keep the object pressed even if the press slid from the object |
LV_OBJ_FLAG_EVENT_BUBBLE | (1u << 14) | Propagate the events to the parent too |
LV_OBJ_FLAG_GESTURE_BUBBLE | (1u << 15) | Propagate the gestures to the parent |
LV_OBJ_FLAG_ADV_HITTEST | (1u << 16) | Allow performing more accurate hit (click) test. E.g. consider rounded corners. |
LV_OBJ_FLAG_IGNORE_LAYOUT | (1u << 17) | Make the object not positioned by the layouts |
LV_OBJ_FLAG_FLOATING | (1u << 18) | Do not scroll the object when the parent scrolls and ignore layout |
LV_OBJ_FLAG_SEND_DRAW_TASK_EVENTS | (1u << 19) | Send LV_EVENT_DRAW_TASK_ADDED events |
LV_OBJ_FLAG_OVERFLOW_VISIBLE | (1u << 20) | Do not clip the children to the parent's ext draw size |
LV_OBJ_FLAG_EVENT_TRICKLE | (1u << 21) | Propagate the events to the children too |
LV_OBJ_FLAG_STATE_TRICKLE | (1u << 22) | Propagate the states to the children too |
LV_OBJ_FLAG_LAYOUT_1 | (1u << 23) | Custom flag, free to use by layouts |
LV_OBJ_FLAG_LAYOUT_2 | (1u << 24) | Custom flag, free to use by layouts |
LV_OBJ_FLAG_FLEX_IN_NEW_TRACK | LV_OBJ_FLAG_LAYOUT_1 | Start a new flex track on this item |
LV_OBJ_FLAG_WIDGET_1 | (1u << 25) | Custom flag, free to use by widget |
LV_OBJ_FLAG_WIDGET_2 | (1u << 26) | Custom flag, free to use by widget |
LV_OBJ_FLAG_USER_1 | (1u << 27) | Custom flag, free to use by user |
LV_OBJ_FLAG_USER_2 | (1u << 28) | Custom flag, free to use by user |
LV_OBJ_FLAG_USER_3 | (1u << 29) | Custom flag, free to use by user |
LV_OBJ_FLAG_USER_4 | (1u << 30) | Custom flag, free to use by user |
Used by 11 functions
lv_obj_add_flag— paramflv_obj_remove_flag— paramflv_obj_set_flag— paramflv_obj_has_flag— paramflv_obj_has_flag_any— paramflv_obj_bind_flag_if_eq— paramflaglv_obj_bind_flag_if_not_eq— paramflaglv_obj_bind_flag_if_gt— paramflaglv_obj_bind_flag_if_ge— paramflaglv_obj_bind_flag_if_lt— paramflaglv_obj_bind_flag_if_le— paramflag
core/lv_obj.h:89enum
_lv_signed_prop_id_t
| Name | Value |
|---|---|
LV_PROPERTY_OBJ_FLAG_START | (LV_PROPERTY_OBJ_START + ((int) 0 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_HIDDEN | (LV_PROPERTY_OBJ_START + ((int) 0 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_CLICKABLE | (LV_PROPERTY_OBJ_START + ((int) 1 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_CLICK_FOCUSABLE | (LV_PROPERTY_OBJ_START + ((int) 2 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_CHECKABLE | (LV_PROPERTY_OBJ_START + ((int) 3 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_SCROLLABLE | (LV_PROPERTY_OBJ_START + ((int) 4 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_SCROLL_ELASTIC | (LV_PROPERTY_OBJ_START + ((int) 5 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_SCROLL_MOMENTUM | (LV_PROPERTY_OBJ_START + ((int) 6 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_SCROLL_ONE | (LV_PROPERTY_OBJ_START + ((int) 7 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_SCROLL_CHAIN_HOR | (LV_PROPERTY_OBJ_START + ((int) 8 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_SCROLL_CHAIN_VER | (LV_PROPERTY_OBJ_START + ((int) 9 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_SCROLL_ON_FOCUS | (LV_PROPERTY_OBJ_START + ((int) 10 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_SCROLL_WITH_ARROW | (LV_PROPERTY_OBJ_START + ((int) 11 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_SNAPPABLE | (LV_PROPERTY_OBJ_START + ((int) 12 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_PRESS_LOCK | (LV_PROPERTY_OBJ_START + ((int) 13 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_EVENT_BUBBLE | (LV_PROPERTY_OBJ_START + ((int) 14 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_GESTURE_BUBBLE | (LV_PROPERTY_OBJ_START + ((int) 15 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_ADV_HITTEST | (LV_PROPERTY_OBJ_START + ((int) 16 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_IGNORE_LAYOUT | (LV_PROPERTY_OBJ_START + ((int) 17 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_FLOATING | (LV_PROPERTY_OBJ_START + ((int) 18 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_SEND_DRAW_TASK_EVENTS | (LV_PROPERTY_OBJ_START + ((int) 19 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_OVERFLOW_VISIBLE | (LV_PROPERTY_OBJ_START + ((int) 20 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_EVENT_TRICKLE | (LV_PROPERTY_OBJ_START + ((int) 21 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_STATE_TRICKLE | (LV_PROPERTY_OBJ_START + ((int) 22 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_LAYOUT_1 | (LV_PROPERTY_OBJ_START + ((int) 23 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_LAYOUT_2 | (LV_PROPERTY_OBJ_START + ((int) 24 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_FLEX_IN_NEW_TRACK | (LV_PROPERTY_OBJ_START + ((int) 23 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_WIDGET_1 | (LV_PROPERTY_OBJ_START + ((int) 25 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_WIDGET_2 | (LV_PROPERTY_OBJ_START + ((int) 26 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_USER_1 | (LV_PROPERTY_OBJ_START + ((int) 27 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_USER_2 | (LV_PROPERTY_OBJ_START + ((int) 28 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_USER_3 | (LV_PROPERTY_OBJ_START + ((int) 29 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_USER_4 | (LV_PROPERTY_OBJ_START + ((int) 30 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_FLAG_END | (LV_PROPERTY_OBJ_START + ((int) 30 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_START | (LV_PROPERTY_OBJ_START + ((int) 31 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_ALT | (LV_PROPERTY_OBJ_START + ((int) 31 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_CHECKED | (LV_PROPERTY_OBJ_START + ((int) 33 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_FOCUSED | (LV_PROPERTY_OBJ_START + ((int) 34 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_FOCUS_KEY | (LV_PROPERTY_OBJ_START + ((int) 35 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_EDITED | (LV_PROPERTY_OBJ_START + ((int) 36 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_HOVERED | (LV_PROPERTY_OBJ_START + ((int) 37 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_PRESSED | (LV_PROPERTY_OBJ_START + ((int) 38 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_SCROLLED | (LV_PROPERTY_OBJ_START + ((int) 39 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_DISABLED | (LV_PROPERTY_OBJ_START + ((int) 40 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_USER_1 | (LV_PROPERTY_OBJ_START + ((int) 43 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_USER_2 | (LV_PROPERTY_OBJ_START + ((int) 44 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_USER_3 | (LV_PROPERTY_OBJ_START + ((int) 45 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_USER_4 | (LV_PROPERTY_OBJ_START + ((int) 46 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_ANY | (LV_PROPERTY_OBJ_START + ((int) 47 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_STATE_END | (LV_PROPERTY_OBJ_START + ((int) 47 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_PARENT | (LV_PROPERTY_OBJ_START + ((int) 48 )) | (( 8 ) << 28 ) |
LV_PROPERTY_OBJ_X | (LV_PROPERTY_OBJ_START + ((int) 49 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_Y | (LV_PROPERTY_OBJ_START + ((int) 50 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_W | (LV_PROPERTY_OBJ_START + ((int) 51 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_H | (LV_PROPERTY_OBJ_START + ((int) 52 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_CONTENT_WIDTH | (LV_PROPERTY_OBJ_START + ((int) 53 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_CONTENT_HEIGHT | (LV_PROPERTY_OBJ_START + ((int) 54 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_LAYOUT | (LV_PROPERTY_OBJ_START + ((int) 55 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_ALIGN | (LV_PROPERTY_OBJ_START + ((int) 56 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_SCROLLBAR_MODE | (LV_PROPERTY_OBJ_START + ((int) 57 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_SCROLL_DIR | (LV_PROPERTY_OBJ_START + ((int) 58 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_SCROLL_SNAP_X | (LV_PROPERTY_OBJ_START + ((int) 59 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_SCROLL_SNAP_Y | (LV_PROPERTY_OBJ_START + ((int) 60 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_SCROLL_X | (LV_PROPERTY_OBJ_START + ((int) 61 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_SCROLL_Y | (LV_PROPERTY_OBJ_START + ((int) 62 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_SCROLL_TOP | (LV_PROPERTY_OBJ_START + ((int) 63 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_SCROLL_BOTTOM | (LV_PROPERTY_OBJ_START + ((int) 64 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_SCROLL_LEFT | (LV_PROPERTY_OBJ_START + ((int) 65 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_SCROLL_RIGHT | (LV_PROPERTY_OBJ_START + ((int) 66 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_SCROLL_END | (LV_PROPERTY_OBJ_START + ((int) 67 )) | (( 4 ) << 28 ) |
LV_PROPERTY_OBJ_EXT_DRAW_SIZE | (LV_PROPERTY_OBJ_START + ((int) 68 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_EVENT_COUNT | (LV_PROPERTY_OBJ_START + ((int) 69 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_SCREEN | (LV_PROPERTY_OBJ_START + ((int) 70 )) | (( 8 ) << 28 ) |
LV_PROPERTY_OBJ_DISPLAY | (LV_PROPERTY_OBJ_START + ((int) 71 )) | (( 5 ) << 28 ) |
LV_PROPERTY_OBJ_CHILD_COUNT | (LV_PROPERTY_OBJ_START + ((int) 72 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_INDEX | (LV_PROPERTY_OBJ_START + ((int) 73 )) | (( 1 ) << 28 ) |
LV_PROPERTY_OBJ_END |
Macros
core/lv_obj.h:475macro
LV_ASSERT_OBJ
#define LV_ASSERT_OBJ(obj_p, obj_class) \
do { \
LV_ASSERT_MSG(obj_p != NULL, "The object is NULL"); \
LV_ASSERT_MSG(lv_obj_has_class(obj_p, obj_class) == true, "Incompatible object type."); \
LV_ASSERT_MSG(lv_obj_is_valid(obj_p) == true, "The object is invalid, deleted or corrupted?"); \
} while(0)core/lv_obj.h:486macro
LV_TRACE_OBJ_CREATE
#define LV_TRACE_OBJ_CREATE(...) \
LV_LOG_TRACE(__VA_ARGS__)Variables
core/lv_obj.h:180variable
lv_obj_class
const lv_obj_class_t lv_obj_classMake the base object's class publicly available.
Dependencies
lv_obj_private.hlv_observer.hlv_refr.hlv_display_private.hlv_snapshot.hlv_gridnav.hlv_indev_gesture.hlv_indev_gesture_private.hlv_indev_scroll.hlv_gstreamer.hlv_file_explorer.hlv_fragment.hlv_theme.hlv_3dtexture.hlv_arc.hlv_bar.hlv_button.hlv_buttonmatrix.hlv_calendar_chinese.hlv_calendar_header_arrow.hlv_calendar_header_dropdown.hlv_chart.hlv_checkbox.hlv_image.hlv_imagebutton.hlv_ime_pinyin.hlv_label.hlv_led.hlv_line.hlv_list.hlv_menu.hlv_msgbox.hlv_roller.hlv_scale.hlv_span.hlv_switch.hlv_tabview.hlv_tileview.hlv_win.h
Indirect dependencies
lv_anim.hlv_array.hlv_bidi.hlv_color_op.hlv_conf_kconfig.hlv_display.hlv_draw.hlv_draw_arc.hlv_draw_blur.hlv_draw_buf.hlv_draw_image.hlv_draw_label.hlv_draw_line.hlv_draw_rect.hlv_draw_triangle.hlv_event.hlv_ext_data.hlv_flex.hlv_font.hlv_fs.hlv_grad.hlv_grid.hlv_image_decoder.hlv_image_dsc.hlv_indev.hlv_layout.hlv_ll.hlv_log.hlv_math.hlv_matrix.hlv_mem.hlv_obj_property_names.hlv_obj_style_gen.hlv_palette.hlv_profiler.hlv_profiler_builtin.hlv_sprintf.hlv_string.hlv_style_gen.hlv_style_properties.hlv_symbol_def.hlv_text.hlv_tick.hlv_timer.h
How is this guide?
Last updated on