Node preview progress
This commit is contained in:
@@ -19,8 +19,6 @@ static bool ui_box_select = false;
|
||||
static int ui_box_select_x = 0;
|
||||
static int ui_box_select_y = 0;
|
||||
static const int ui_max_buttons = 9;
|
||||
static void (*ui_on_header_released)(ui_node_t *) = NULL;
|
||||
static void (*ui_nodes_on_node_remove)(ui_node_t *) = NULL;
|
||||
static int ui_node_id = -1;
|
||||
static ui_node_t *node_resize = NULL;
|
||||
|
||||
@@ -34,6 +32,7 @@ ui_canvas_control_t *(*ui_nodes_on_canvas_control)(void) = NULL;
|
||||
void (*ui_nodes_on_canvas_released)(void) = NULL;
|
||||
void (*ui_nodes_on_socket_released)(int) = NULL;
|
||||
void (*ui_nodes_on_link_drag)(int, bool) = NULL;
|
||||
void (*ui_nodes_on_node_remove)(ui_node_t *) = NULL;
|
||||
bool ui_nodes_grid_snap = true;
|
||||
int ui_nodes_grid_snap_w = 40;
|
||||
|
||||
@@ -1011,9 +1010,6 @@ void ui_node_canvas(ui_nodes_t *nodes, ui_node_canvas_t *canvas) {
|
||||
// No drag performed, select single node
|
||||
current_nodes->nodes_selected_id->length = 0;
|
||||
i32_array_push(current_nodes->nodes_selected_id, node->id);
|
||||
if (ui_on_header_released != NULL) {
|
||||
ui_on_header_released(node);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -137,6 +137,7 @@ extern ui_canvas_control_t *(*ui_nodes_on_canvas_control)(void);
|
||||
extern void (*ui_nodes_on_canvas_released)(void);
|
||||
extern void (*ui_nodes_on_socket_released)(int);
|
||||
extern void (*ui_nodes_on_link_drag)(int, bool);
|
||||
extern void (*ui_nodes_on_node_remove)(ui_node_t *);
|
||||
extern bool ui_nodes_grid_snap;
|
||||
|
||||
void ui_node_canvas_encode(ui_node_canvas_t *canvas);
|
||||
|
||||
@@ -687,6 +687,7 @@ declare let ui_touch_tooltip: bool;
|
||||
declare let ui_on_border_hover: any;
|
||||
declare let ui_on_tab_drop: any;
|
||||
declare let ui_nodes_on_link_drag: any;
|
||||
declare let ui_nodes_on_node_remove: any;
|
||||
declare let ui_nodes_on_socket_released: any;
|
||||
declare let ui_nodes_on_canvas_released: any;
|
||||
declare let ui_nodes_on_canvas_control: any;
|
||||
|
||||
@@ -369,4 +369,8 @@ function tab_materials_delete_material(m: slot_material_t) {
|
||||
let m: slot_material_t = project_materials[i];
|
||||
tab_materials_update_material_pointers(m.canvas.nodes, i);
|
||||
}
|
||||
for (let i: i32 = 0; i < m.canvas.nodes.length; ++i) {
|
||||
let n: ui_node_t = m.canvas.nodes[i];
|
||||
ui_viewnodes_on_node_remove(n);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,6 +55,7 @@ let _ui_nodes_node_search_done: ()=>void;
|
||||
function ui_viewnodes_init() {
|
||||
ui_nodes_preview_image = ui_nodes_get_node_preview_image;
|
||||
ui_nodes_on_link_drag = ui_viewnodes_on_link_drag;
|
||||
ui_nodes_on_node_remove = ui_viewnodes_on_node_remove;
|
||||
ui_nodes_on_socket_released = ui_viewnodes_on_socket_released;
|
||||
ui_nodes_on_canvas_released = ui_viewnodes_on_canvas_released;
|
||||
ui_nodes_on_canvas_control = ui_viewnodes_on_canvas_control;
|
||||
@@ -62,6 +63,14 @@ function ui_viewnodes_init() {
|
||||
nodes_material_init();
|
||||
}
|
||||
|
||||
function ui_viewnodes_on_node_remove(n: ui_node_t) {
|
||||
let img: gpu_texture_t = map_get(context_raw.node_preview_map, n);
|
||||
if (img != null) {
|
||||
iron_delete_texture(img);
|
||||
map_delete(context_raw.node_preview_map, n);
|
||||
}
|
||||
}
|
||||
|
||||
function ui_viewnodes_on_link_drag(link_drag_id: i32, is_new_link: bool) {
|
||||
if (!is_new_link) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user