[Bf-blender-cvs] [bfb664b65de] blender-v3.0-release: Fix T92791: collapsed nodes scaling widget wrong with interface scale

Philipp Oeser noreply at git.blender.org
Thu Nov 4 10:50:29 CET 2021


Commit: bfb664b65de2c71ee3d85760ee5dcf83a7c9aa23
Author: Philipp Oeser
Date:   Wed Nov 3 16:50:43 2021 +0100
Branches: blender-v3.0-release
https://developer.blender.org/rBbfb664b65de2c71ee3d85760ee5dcf83a7c9aa23

Fix T92791: collapsed nodes scaling widget wrong with interface scale

Size, position and scale of the "two-line" widget (the one to scale a
node horizontally) was not taking interface scale into account. In the
case of the report, it could happen it draws behind an output socket.

before (at 2.0 interface scale)
{F11698493}

after (at 2.0 interface scale)
{F11698501}

Maniphest Tasks: T92791

Differential Revision: https://developer.blender.org/D13088

===================================================================

M	source/blender/editors/space_node/drawnode.cc
M	source/blender/editors/space_node/node_draw.cc

===================================================================

diff --git a/source/blender/editors/space_node/drawnode.cc b/source/blender/editors/space_node/drawnode.cc
index a6ee7d1e5b6..fe866a81f67 100644
--- a/source/blender/editors/space_node/drawnode.cc
+++ b/source/blender/editors/space_node/drawnode.cc
@@ -254,7 +254,7 @@ static int node_resize_area_default(bNode *node, int x, int y)
   if (node->flag & NODE_HIDDEN) {
     rctf totr = node->totr;
     /* right part of node */
-    totr.xmin = node->totr.xmax - 20.0f;
+    totr.xmin = node->totr.xmax - 1.0f * U.widget_unit;
     if (BLI_rctf_isect_pt(&totr, x, y)) {
       return NODE_RESIZE_RIGHT;
     }
diff --git a/source/blender/editors/space_node/node_draw.cc b/source/blender/editors/space_node/node_draw.cc
index f76c29ef0d9..b6c24a55a78 100644
--- a/source/blender/editors/space_node/node_draw.cc
+++ b/source/blender/editors/space_node/node_draw.cc
@@ -2015,25 +2015,27 @@ static void node_draw_hidden(const bContext *C,
   immBindBuiltinProgram(GPU_SHADER_2D_UNIFORM_COLOR);
 
   immUniformThemeColorShadeAlpha(TH_TEXT, -40, -180);
-  float dx = 10.0f;
+  float dx = 0.5f * U.widget_unit;
+  const float dx2 = 0.15f * U.widget_unit * snode->runtime->aspect;
+  const float dy = 0.2f * U.widget_unit;
 
   immBegin(GPU_PRIM_LINES, 4);
-  immVertex2f(pos, rct->xmax - dx, centy - 4.0f);
-  immVertex2f(pos, rct->xmax - dx, centy + 4.0f);
+  immVertex2f(pos, rct->xmax - dx, centy - dy);
+  immVertex2f(pos, rct->xmax - dx, centy + dy);
 
-  immVertex2f(pos, rct->xmax - dx - 3.0f * snode->runtime->aspect, centy - 4.0f);
-  immVertex2f(pos, rct->xmax - dx - 3.0f * snode->runtime->aspect, centy + 4.0f);
+  immVertex2f(pos, rct->xmax - dx - dx2, centy - dy);
+  immVertex2f(pos, rct->xmax - dx - dx2, centy + dy);
   immEnd();
 
   immUniformThemeColorShadeAlpha(TH_TEXT, 0, -180);
   dx -= snode->runtime->aspect;
 
   immBegin(GPU_PRIM_LINES, 4);
-  immVertex2f(pos, rct->xmax - dx, centy - 4.0f);
-  immVertex2f(pos, rct->xmax - dx, centy + 4.0f);
+  immVertex2f(pos, rct->xmax - dx, centy - dy);
+  immVertex2f(pos, rct->xmax - dx, centy + dy);
 
-  immVertex2f(pos, rct->xmax - dx - 3.0f * snode->runtime->aspect, centy - 4.0f);
-  immVertex2f(pos, rct->xmax - dx - 3.0f * snode->runtime->aspect, centy + 4.0f);
+  immVertex2f(pos, rct->xmax - dx - dx2, centy - dy);
+  immVertex2f(pos, rct->xmax - dx - dx2, centy + dy);
   immEnd();
 
   immUnbindProgram();



More information about the Bf-blender-cvs mailing list