47 lines
1.0 KiB
C
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;
|
|
}
|