chore(lv_tree): Code reorganization for lv_tree.h (#8583)

This commit is contained in:
Kevin Schlosser
2025-07-31 08:02:35 -07:00
committed by GitHub
parent 8c57e60a33
commit b5ff2cd8c1
+15 -11
View File
@@ -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,