lv_tree.h
Tree. The tree nodes are dynamically allocated by the 'lv_mem' module.
Defines
-
LV_TREE_NODE(n)
Typedefs
-
typedef struct _lv_tree_class_t lv_tree_class_t
Describe the common methods of every object. Similar to a C++ class.
-
typedef struct _lv_tree_node_t lv_tree_node_t
Description of a tree node
-
typedef uint8_t lv_tree_walk_mode_t
-
typedef bool (*lv_tree_traverse_cb_t)(const lv_tree_node_t *node, void *user_data)
-
typedef bool (*lv_tree_before_cb_t)(const lv_tree_node_t *node, void *user_data)
-
typedef void (*lv_tree_after_cb_t)(const lv_tree_node_t *node, void *user_data)
Enums
Functions
-
lv_tree_node_t *lv_tree_node_create(const lv_tree_class_t *class_p, lv_tree_node_t *parent)
Create a tree node.
- Parameters:
class_p – pointer to a class of the node
parent – pointer to the parent node (or NULL if it's the root node)
- Returns:
pointer to the new node
-
void lv_tree_node_delete(lv_tree_node_t *node)
Delete a tree node and all its children recursively.
- Parameters:
node – pointer to the node to delete
-
bool lv_tree_walk(const lv_tree_node_t *node, lv_tree_walk_mode_t mode, lv_tree_traverse_cb_t cb, lv_tree_before_cb_t bcb, lv_tree_after_cb_t acb, void *user_data)
Walk the tree recursively and call a callback function on each node.
- Parameters:
node – pointer to the root node of the tree
mode – LV_TREE_WALK_PRE_ORDER or LV_TREE_WALK_POST_ORDER
cb – callback function to call on each node
bcb – callback function to call before visiting a node
acb – callback function to call after visiting a node
user_data – user data to pass to the callback functions
- Returns:
true: traversal is finished; false: traversal breaked
Variables
-
const lv_tree_class_t lv_tree_node_class
-
struct _lv_tree_class_t
- #include <lv_tree.h>
Describe the common methods of every object. Similar to a C++ class.
Public Members
-
const struct _lv_tree_class_t *base_class
-
uint32_t instance_size
-
void (*constructor_cb)(const struct _lv_tree_class_t *class_p, struct _lv_tree_node_t *node)
-
void (*destructor_cb)(const struct _lv_tree_class_t *class_p, struct _lv_tree_node_t *node)
-
const struct _lv_tree_class_t *base_class
-
struct _lv_tree_node_t
- #include <lv_tree.h>
Description of a tree node
Public Members
-
struct _lv_tree_node_t *parent
-
struct _lv_tree_node_t **children
-
uint32_t child_cnt
-
uint32_t child_cap
-
const struct _lv_tree_class_t *class_p
-
struct _lv_tree_node_t *parent