lv_obj_tree.h

Typedefs

typedef lv_obj_tree_walk_res_t (*lv_obj_tree_walk_cb_t)(struct _lv_obj_t*, void*)

Enums

enum lv_obj_tree_walk_res_t

Values:

enumerator LV_OBJ_TREE_WALK_NEXT
enumerator LV_OBJ_TREE_WALK_SKIP_CHILDREN
enumerator LV_OBJ_TREE_WALK_END

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

lv_async_call

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)

void lv_obj_dump_tree(struct _lv_obj_t *start_ob)

Iterate through all children of any object and print their ID.

Parameters:

start_obj -- start integrating from this object