Lines Matching refs:node

48 static void _lv_tree_node_construct(const lv_tree_class_t * class_p, lv_tree_node_t * node)  in _lv_tree_node_construct()  argument
50 if(node->class_p->base_class) { in _lv_tree_node_construct()
51 const lv_tree_class_t * original_class_p = node->class_p; in _lv_tree_node_construct()
53 node->class_p = node->class_p->base_class; in _lv_tree_node_construct()
55 _lv_tree_node_construct(class_p, node); in _lv_tree_node_construct()
57 node->class_p = original_class_p; in _lv_tree_node_construct()
60 if(node->class_p->constructor_cb) node->class_p->constructor_cb(class_p, node); in _lv_tree_node_construct()
63 static void _lv_tree_node_destruct(lv_tree_node_t * node) in _lv_tree_node_destruct() argument
65 if(node->class_p->destructor_cb) node->class_p->destructor_cb(node->class_p, node); in _lv_tree_node_destruct()
67 if(node->class_p->base_class) { in _lv_tree_node_destruct()
68 node->class_p = node->class_p->base_class; in _lv_tree_node_destruct()
70 _lv_tree_node_destruct(node); in _lv_tree_node_destruct()
86 lv_tree_node_t * node = lv_malloc(s); in _lv_tree_class_create_node() local
87 if(node == NULL) return NULL; in _lv_tree_class_create_node()
88 lv_memzero(node, s); in _lv_tree_class_create_node()
89 node->class_p = class_p; in _lv_tree_class_create_node()
90 node->parent = parent; in _lv_tree_class_create_node()
91 node->child_cap = INIT_CHILDREN_CAP; in _lv_tree_class_create_node()
92 node->children = lv_malloc(sizeof(lv_tree_node_t *) * node->child_cap); in _lv_tree_class_create_node()
99 parent->children[parent->child_cnt - 1] = node; in _lv_tree_class_create_node()
101 return node; in _lv_tree_class_create_node()
107 lv_tree_node_t * node = _lv_tree_class_create_node(class_p, parent); in lv_tree_node_create() local
108 LV_ASSERT_NULL(node); in lv_tree_node_create()
109 _lv_tree_node_construct(node->class_p, node); in lv_tree_node_create()
110 return node; in lv_tree_node_create()
117 lv_tree_node_t * node = (lv_tree_node_t *)n; in _lv_tree_node_destructor_cb() local
118 _lv_tree_node_destruct(node); in _lv_tree_node_destructor_cb()
119 lv_free(node->children); in _lv_tree_node_destructor_cb()
120 lv_free(node); in _lv_tree_node_destructor_cb()
125 void lv_tree_node_delete(lv_tree_node_t * node) in lv_tree_node_delete() argument
127 if(node) { in lv_tree_node_delete()
128 if(node->parent) { in lv_tree_node_delete()
130 lv_tree_node_t * parent = node->parent; in lv_tree_node_delete()
132 if(parent->children[i] == node) { in lv_tree_node_delete()
137 lv_tree_walk(node, LV_TREE_WALK_POST_ORDER, _lv_tree_node_destructor_cb, NULL, NULL, NULL); in lv_tree_node_delete()
141 bool lv_tree_walk(const lv_tree_node_t * node, in lv_tree_walk() argument
148 if(node && cb) { in lv_tree_walk()
150 if(bcb && !bcb(node, user_data)) { in lv_tree_walk()
153 if(!cb(node, user_data)) { in lv_tree_walk()
157 for(uint32_t i = 0; i < node->child_cnt; i++) { in lv_tree_walk()
158 if(!lv_tree_walk(node->children[i], mode, cb, bcb, acb, user_data)) { in lv_tree_walk()
164 acb(node, user_data); in lv_tree_walk()
169 if(bcb && !bcb(node, user_data)) { in lv_tree_walk()
172 if(!cb(node, user_data)) { in lv_tree_walk()
176 acb(node, user_data); in lv_tree_walk()