lv_obj_tree.h
Typedefs
-
typedef lv_obj_tree_walk_res_t (*lv_obj_tree_walk_cb_t)(struct _lv_obj_t*, void*)
Enums
Functions
-
void lv_obj_delete(struct _lv_obj_t *obj)
Delete an object and all of its children. Also remove the objects from their group and remove all animations (if any). Send
LV_EVENT_DELETED
to deleted objects.- Parameters:
obj -- pointer to an object
-
void lv_obj_clean(struct _lv_obj_t *obj)
Delete all children of an object. Also remove the objects from their group and remove all animations (if any). Send
LV_EVENT_DELETED
to deleted objects.- Parameters:
obj -- pointer to an object
-
void lv_obj_delete_delayed(struct _lv_obj_t *obj, uint32_t delay_ms)
Delete an object after some delay
- Parameters:
obj -- pointer to an object
delay_ms -- time to wait before delete in milliseconds
-
void lv_obj_delete_anim_ready_cb(lv_anim_t *a)
A function to be easily used in animation ready callback to delete an object when the animation is ready
- Parameters:
a -- pointer to the animation
-
void lv_obj_delete_async(struct _lv_obj_t *obj)
Helper function for asynchronously deleting objects. Useful for cases where you can't delete an object directly in an
LV_EVENT_DELETE
handler (i.e. parent).See also
- Parameters:
obj -- object to delete
-
void lv_obj_set_parent(struct _lv_obj_t *obj, struct _lv_obj_t *parent)
Move the parent of an object. The relative coordinates will be kept.
- Parameters:
obj -- pointer to an object whose parent needs to be changed
parent -- pointer to the new parent
-
void lv_obj_swap(struct _lv_obj_t *obj1, struct _lv_obj_t *obj2)
Swap the positions of two objects. When used in listboxes, it can be used to sort the listbox items.
- Parameters:
obj1 -- pointer to the first object
obj2 -- pointer to the second object
-
void lv_obj_move_to_index(struct _lv_obj_t *obj, int32_t index)
moves the object to the given index in its parent. When used in listboxes, it can be used to sort the listbox items.
Note
to move to the background: lv_obj_move_to_index(obj, 0)
Note
to move forward (up): lv_obj_move_to_index(obj, lv_obj_get_index(obj) - 1)
- Parameters:
obj -- pointer to the object to be moved.
index -- new index in parent. -1 to count from the back
-
struct _lv_obj_t *lv_obj_get_screen(const struct _lv_obj_t *obj)
Get the screen of an object
- Parameters:
obj -- pointer to an object
- Returns:
pointer to the object's screen
-
struct _lv_display_t *lv_obj_get_disp(const struct _lv_obj_t *obj)
Get the display of the object
- Parameters:
obj -- pointer to an object
- Returns:
pointer to the object's display
-
struct _lv_obj_t *lv_obj_get_parent(const struct _lv_obj_t *obj)
Get the parent of an object
- Parameters:
obj -- pointer to an object
- Returns:
the parent of the object. (NULL if
obj
was a screen)
-
struct _lv_obj_t *lv_obj_get_child(const struct _lv_obj_t *obj, int32_t id)
Get the child of an object by the child's index.
- Parameters:
obj -- pointer to an object whose child should be get
id -- the index of the child. 0: the oldest (firstly created) child 1: the second oldest child count-1: the youngest -1: the youngest -2: the second youngest
- Returns:
pointer to the child or NULL if the index was invalid
-
struct _lv_obj_t *lv_obj_get_sibling(const struct _lv_obj_t *obj, int32_t id)
Return a sibling of an object
- Parameters:
obj -- pointer to an object whose sibling should be get
id -- 0:
obj
itself -1: the first older sibling -2: the next older sibling 1: the first younger sibling 2: the next younger sibling etc
- Returns:
pointer to the requested sibling or NULL if there is no such sibling
-
uint32_t lv_obj_get_child_cnt(const struct _lv_obj_t *obj)
Get the number of children
- Parameters:
obj -- pointer to an object
- Returns:
the number of children
-
uint32_t lv_obj_get_index(const struct _lv_obj_t *obj)
Get the index of a child.
- Parameters:
obj -- pointer to an object
- Returns:
the child index of the object. E.g. 0: the oldest (firstly created child). (0xFFFFFFFF if child could not be found or no parent exists)
-
void lv_obj_tree_walk(struct _lv_obj_t *start_obj, lv_obj_tree_walk_cb_t cb, void *user_data)
Iterate through all children of any object.
- Parameters:
start_obj -- start integrating from this object
cb -- call this callback on the objects
user_data -- pointer to any user related data (will be passed to
cb
)