diff --git a/src/misc/lv_tree.h b/src/misc/lv_tree.h index bc907cf916..bec73be78e 100644 --- a/src/misc/lv_tree.h +++ b/src/misc/lv_tree.h @@ -25,27 +25,31 @@ extern "C" { * TYPEDEFS **********************/ -struct _lv_tree_node_t; +typedef struct _lv_tree_class_t lv_tree_class_t; +typedef struct _lv_tree_node_t lv_tree_node_t; + +typedef void (*lv_tree_constructor_cb_t)(const lv_tree_class_t * class_p, lv_tree_node_t * node); +typedef void (*lv_tree_destructor_cb_t)(const lv_tree_class_t * class_p, lv_tree_node_t * node); /** * Describe the common methods of every object. * Similar to a C++ class. */ -typedef struct _lv_tree_class_t { - const struct _lv_tree_class_t * base_class; +struct _lv_tree_class_t { + const 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); -} lv_tree_class_t; + lv_tree_constructor_cb_t constructor_cb; + lv_tree_destructor_cb_t destructor_cb; +}; /** Description of a tree node*/ -typedef struct _lv_tree_node_t { - struct _lv_tree_node_t * parent; - struct _lv_tree_node_t ** children; +struct _lv_tree_node_t { + lv_tree_node_t * parent; + lv_tree_node_t ** children; uint32_t child_cnt; uint32_t child_cap; - const struct _lv_tree_class_t * class_p; -} lv_tree_node_t; + const lv_tree_class_t * class_p; +}; enum _lv_tree_walk_mode_t { LV_TREE_WALK_PRE_ORDER = 0,