Files
armorpaint/paint/sources/nodes_brush.c
T
2026-08-21 22:35:41 +02:00

47 lines
1.0 KiB
C

#include "global.h"
void nodes_brush_init() {
if (nodes_brush_list != NULL) {
return;
}
nodes_brush_creates = any_map_create();
nodes_brush_category0 = any_array_create(0);
brush_output_node_init();
tex_image_node_init();
input_node_init();
math_node_init();
random_node_init();
separate_vector_node_init();
time_node_init();
float_node_init();
vector_node_init();
vector_math_node_init();
nodes_brush_list = any_array_create_from_raw(
(void *[]){
nodes_brush_category0,
},
1);
}
ui_node_t *nodes_brush_create_node(char *node_type) {
for (i32 i = 0; i < nodes_brush_list->length; ++i) {
ui_node_t_array_t *c = nodes_brush_list->buffer[i];
for (i32 i = 0; i < c->length; ++i) {
ui_node_t *n = c->buffer[i];
if (string_equals(n->type, node_type)) {
ui_node_canvas_t *canvas = g_context->brush->canvas;
ui_nodes_t *nodes = g_context->brush->nodes;
ui_node_t *node = ui_nodes_make_node(n, nodes, canvas);
any_array_push(canvas->nodes, node);
return node;
}
}
}
return NULL;
}