Files
armorpaint/paint/sources/nodes_brush.c
T

47 lines
1.0 KiB
C
Raw Normal View History

2026-03-09 13:17:15 +01:00
#include "global.h"
2026-03-06 12:56:38 +01:00
void nodes_brush_init() {
2026-03-07 21:12:59 +01:00
if (nodes_brush_list != NULL) {
2026-03-06 12:56:38 +01:00
return;
}
2026-07-16 11:40:26 +02:00
nodes_brush_creates = any_map_create();
2026-04-05 16:09:00 +02:00
2026-07-16 11:40:26 +02:00
nodes_brush_category0 = any_array_create(0);
2026-03-06 12:56:38 +01:00
2026-07-16 11:40:26 +02:00
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();
2026-03-06 12:56:38 +01:00
nodes_brush_list = any_array_create_from_raw(
2026-03-08 08:39:29 +01:00
(void *[]){
2026-03-06 12:56:38 +01:00
nodes_brush_category0,
},
1);
}
2026-03-07 21:12:59 +01:00
ui_node_t *nodes_brush_create_node(char *node_type) {
2026-03-06 12:56:38 +01:00
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)) {
2026-04-05 16:41:00 +02:00
ui_node_canvas_t *canvas = g_context->brush->canvas;
ui_nodes_t *nodes = g_context->brush->nodes;
2026-03-06 12:56:38 +01:00
ui_node_t *node = ui_nodes_make_node(n, nodes, canvas);
any_array_push(canvas->nodes, node);
return node;
}
}
}
2026-03-07 21:12:59 +01:00
return NULL;
2026-03-06 12:56:38 +01:00
}