Node preview fixes
This commit is contained in:
@@ -746,7 +746,8 @@ void ui_node_draw(ui_node_t *node, ui_node_canvas_t *canvas) {
|
|||||||
gpu_texture_t *image = ui_nodes_preview_image(node);
|
gpu_texture_t *image = ui_nodes_preview_image(node);
|
||||||
if (image != NULL) {
|
if (image != NULL) {
|
||||||
draw_set_color(0xffffffff);
|
draw_set_color(0xffffffff);
|
||||||
draw_scaled_image(image, nx, ny - w, w, w);
|
float ph = w * (image->height / (float)image->width);
|
||||||
|
draw_scaled_image(image, nx, ny - ph, w, ph);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ let _ui_nodes_node_search_first: bool;
|
|||||||
let _ui_nodes_node_search_done: ()=>void;
|
let _ui_nodes_node_search_done: ()=>void;
|
||||||
|
|
||||||
function ui_viewnodes_init() {
|
function ui_viewnodes_init() {
|
||||||
ui_nodes_preview_image = uiviewnodes_preview_image;
|
ui_nodes_preview_image = ui_nodes_get_node_preview_image;
|
||||||
ui_nodes_on_link_drag = ui_viewnodes_on_link_drag;
|
ui_nodes_on_link_drag = ui_viewnodes_on_link_drag;
|
||||||
ui_nodes_on_socket_released = ui_viewnodes_on_socket_released;
|
ui_nodes_on_socket_released = ui_viewnodes_on_socket_released;
|
||||||
ui_nodes_on_canvas_released = ui_viewnodes_on_canvas_released;
|
ui_nodes_on_canvas_released = ui_viewnodes_on_canvas_released;
|
||||||
@@ -62,10 +62,6 @@ function ui_viewnodes_init() {
|
|||||||
nodes_material_init();
|
nodes_material_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
function uiviewnodes_preview_image(n: ui_node_t): gpu_texture_t {
|
|
||||||
return ui_nodes_get_node_preview_image(n);
|
|
||||||
}
|
|
||||||
|
|
||||||
function ui_viewnodes_on_link_drag(link_drag_id: i32, is_new_link: bool) {
|
function ui_viewnodes_on_link_drag(link_drag_id: i32, is_new_link: bool) {
|
||||||
if (!is_new_link) {
|
if (!is_new_link) {
|
||||||
return;
|
return;
|
||||||
@@ -975,13 +971,14 @@ function ui_nodes_render() {
|
|||||||
// Node previews
|
// Node previews
|
||||||
if (context_raw.selected_node_preview && nodes.nodes_selected_id.length > 0) {
|
if (context_raw.selected_node_preview && nodes.nodes_selected_id.length > 0) {
|
||||||
let sel: ui_node_t = ui_get_node(c.nodes, nodes.nodes_selected_id[0]);
|
let sel: ui_node_t = ui_get_node(c.nodes, nodes.nodes_selected_id[0]);
|
||||||
let tw: f32 = 128 * UI_SCALE();
|
|
||||||
let tx: f32 = ui_nodes_ww - tw - 8 * UI_SCALE();
|
|
||||||
let ty: f32 = ui_nodes_wh - tw - 8 * UI_SCALE();
|
|
||||||
let img: gpu_texture_t = ui_nodes_get_node_preview_image(sel);
|
let img: gpu_texture_t = ui_nodes_get_node_preview_image(sel);
|
||||||
if (img != null && !(sel.flags & _ui_node_flag_t.PREVIEW)) {
|
if (img != null && !(sel.flags & _ui_node_flag_t.PREVIEW)) {
|
||||||
|
let tw: f32 = 128 * UI_SCALE();
|
||||||
|
let th: f32 = tw * (img.height / img.width);
|
||||||
|
let tx: f32 = ui_nodes_ww - tw - 8 * UI_SCALE();
|
||||||
|
let ty: f32 = ui_nodes_wh - th - 8 * UI_SCALE();
|
||||||
if (img == context_raw.node_preview) {
|
if (img == context_raw.node_preview) {
|
||||||
ui_draw_shadow(tx, ty, tw, tw);
|
ui_draw_shadow(tx, ty, tw, th);
|
||||||
}
|
}
|
||||||
let single_channel: bool = sel.type == "LAYER_MASK";
|
let single_channel: bool = sel.type == "LAYER_MASK";
|
||||||
if (single_channel) {
|
if (single_channel) {
|
||||||
@@ -989,7 +986,7 @@ function ui_nodes_render() {
|
|||||||
gpu_set_int(ui_view2d_channel_loc, 1);
|
gpu_set_int(ui_view2d_channel_loc, 1);
|
||||||
}
|
}
|
||||||
draw_set_color(0xffffffff);
|
draw_set_color(0xffffffff);
|
||||||
draw_scaled_image(img, tx, ty, tw, tw);
|
draw_scaled_image(img, tx, ty, tw, th);
|
||||||
if (single_channel) {
|
if (single_channel) {
|
||||||
draw_set_pipeline(null);
|
draw_set_pipeline(null);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,7 +135,13 @@ function ui_view2d_render() {
|
|||||||
tex = project_get_image(context_raw.texture);
|
tex = project_get_image(context_raw.texture);
|
||||||
}
|
}
|
||||||
else if (ui_view2d_type == view_2d_type_t.NODE) {
|
else if (ui_view2d_type == view_2d_type_t.NODE) {
|
||||||
tex = context_raw.node_preview;
|
let nodes: ui_nodes_t = ui_nodes_get_nodes();
|
||||||
|
let c: ui_node_canvas_t = ui_nodes_get_canvas(true);
|
||||||
|
let sel: ui_node_t = ui_get_node(c.nodes, nodes.nodes_selected_id[0]);
|
||||||
|
let img: gpu_texture_t = ui_nodes_get_node_preview_image(sel);
|
||||||
|
if (img != null) {
|
||||||
|
tex = ui_nodes_get_node_preview_image(sel);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (ui_view2d_type == view_2d_type_t.LAYER) {
|
else if (ui_view2d_type == view_2d_type_t.LAYER) {
|
||||||
let layer: slot_layer_t = l;
|
let layer: slot_layer_t = l;
|
||||||
|
|||||||
Reference in New Issue
Block a user