(UNDER CONSTRUCTION) fixed bad free + testing AXIS_X bifurcation

This commit is contained in:
Emile Clark-Boman 2025-09-16 18:46:01 +10:00
parent b16590fd5a
commit 5e99b09f8a
7 changed files with 92 additions and 46 deletions

View file

@ -11,7 +11,7 @@ typedef struct _win_st WINDOW;
#define NODE_INIT_CHILDREN 4
#define NODE_CHILDREN_GROWTH 1.5
#define CINDEX_MAX UCHAR_MAX
#define CINDEX_MAX (UCHAR_MAX)
#define NFLAG_EMPTY (0)
#define NFLAG_RESIZE (1 << 0)
@ -47,9 +47,17 @@ struct ct_node *__node(struct ct_dims *const dims,
struct ct_node *const parent);
struct ct_node *new_node(struct ct_bounds *const bounds,
struct ct_node *const parent);
void __destroy_node(struct ct_node *const node);
int resize_node(struct ct_node *const node, struct ct_dims *const new_dims);
int resize_node(struct ct_node *const node, struct ct_dims *dims);
int insert_child_node(struct ct_node *const parent, struct ct_node *const child,
const cindex i);
int append_child_node(struct ct_node *const parent,
struct ct_node *const child);
struct ct_node *remove_child_node(struct ct_node *const parent,
const cindex i);
int destroy_child_node(struct ct_node *const parent, const cindex i);
void collapse_node(struct ct_node **const node, const int i,
const bool preserve_bounds);