Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Zaal <gregzzmail@gmail.com>2015-04-14 17:27:00 +0300
committerGreg Zaal <gregzzmail@gmail.com>2015-04-14 17:27:00 +0300
commit99c4beeba0aa1997c82a86d12186f7b897908221 (patch)
treef58aafc7449d0732e83d3c4af75005be9110ec57
parentf66dd9829acb10625e49a15fa28d8a3f5ad414fd (diff)
Node Wrangler: Lazy func drawing tweaks
- Increase line thickness slightly - Draw in gray when source and target nodes are the same one (nothing will be done) - Use DPI factor for line thickness - Draw circles with 12 sides (32 was overkill for such tiny circles) - Rename node outline draw callback accordingly
-rw-r--r--node_wrangler.py34
1 files changed, 19 insertions, 15 deletions
diff --git a/node_wrangler.py b/node_wrangler.py
index 01e1176f..c1d02df0 100644
--- a/node_wrangler.py
+++ b/node_wrangler.py
@@ -758,7 +758,7 @@ def store_mouse_cursor(context, event):
def draw_line(x1, y1, x2, y2, size, colour=[1.0, 1.0, 1.0, 0.7]):
bgl.glEnable(bgl.GL_BLEND)
- bgl.glLineWidth(size)
+ bgl.glLineWidth(size * dpifac())
bgl.glShadeModel(bgl.GL_SMOOTH)
bgl.glEnable(bgl.GL_LINE_SMOOTH)
@@ -779,8 +779,8 @@ def draw_circle(mx, my, radius, colour=[1.0, 1.0, 1.0, 0.7]):
bgl.glEnable(bgl.GL_LINE_SMOOTH)
bgl.glBegin(bgl.GL_TRIANGLE_FAN)
bgl.glColor4f(colour[0], colour[1], colour[2], colour[3])
- radius = radius
- sides = 32
+ radius = radius * dpifac()
+ sides = 12
for i in range(sides + 1):
cosine = radius * cos(i * 2 * pi / sides) + mx
sine = radius * sin(i * 2 * pi / sides) + my
@@ -931,7 +931,7 @@ def draw_rounded_node_border(node, radius=8, colour=[1.0, 1.0, 1.0, 0.7]):
bgl.glDisable(bgl.GL_LINE_SMOOTH)
-def draw_callback_mixnodes(self, context, mode):
+def draw_callback_nodeoutline(self, context, mode):
if self.mouse_path:
nodes = context.space_data.node_tree.nodes
bgl.glEnable(bgl.GL_LINE_SMOOTH)
@@ -940,7 +940,7 @@ def draw_callback_mixnodes(self, context, mode):
col_outer = [1.0, 0.2, 0.2, 0.4]
col_inner = [0.0, 0.0, 0.0, 0.5]
col_circle_inner = [0.3, 0.05, 0.05, 1.0]
- if mode == "LINKMENU":
+ elif mode == "LINKMENU":
col_outer = [0.4, 0.6, 1.0, 0.4]
col_inner = [0.0, 0.0, 0.0, 0.5]
col_circle_inner = [0.08, 0.15, .3, 1.0]
@@ -957,18 +957,22 @@ def draw_callback_mixnodes(self, context, mode):
n1 = nodes[context.scene.NWLazySource]
n2 = nodes[context.scene.NWLazyTarget]
- if n1 != n2:
- draw_rounded_node_border(n1, radius=6, colour=col_outer) # outline
- draw_rounded_node_border(n1, radius=5, colour=col_inner) # inner
- draw_rounded_node_border(n2, radius=6, colour=col_outer) # outline
- draw_rounded_node_border(n2, radius=5, colour=col_inner) # inner
+ if n1 == n2:
+ col_outer = [0.4, 0.4, 0.4, 0.4]
+ col_inner = [0.0, 0.0, 0.0, 0.5]
+ col_circle_inner = [0.2, 0.2, 0.2, 1.0]
+
+ draw_rounded_node_border(n1, radius=6, colour=col_outer) # outline
+ draw_rounded_node_border(n1, radius=5, colour=col_inner) # inner
+ draw_rounded_node_border(n2, radius=6, colour=col_outer) # outline
+ draw_rounded_node_border(n2, radius=5, colour=col_inner) # inner
- draw_line(m1x, m1y, m2x, m2y, 4, col_outer) # line outline
+ draw_line(m1x, m1y, m2x, m2y, 5, col_outer) # line outline
draw_line(m1x, m1y, m2x, m2y, 2, col_inner) # line inner
# circle outline
- draw_circle(m1x, m1y, 6, col_outer)
- draw_circle(m2x, m2y, 6, col_outer)
+ draw_circle(m1x, m1y, 7, col_outer)
+ draw_circle(m2x, m2y, 7, col_outer)
# circle inner
draw_circle(m1x, m1y, 5, col_circle_inner)
@@ -1150,7 +1154,7 @@ class NWLazyMix(Operator, NWBase):
args = (self, context, 'MIX')
# Add the region OpenGL drawing callback
# draw in view space with 'POST_VIEW' and 'PRE_VIEW'
- self._handle = bpy.types.SpaceNodeEditor.draw_handler_add(draw_callback_mixnodes, args, 'WINDOW', 'POST_PIXEL')
+ self._handle = bpy.types.SpaceNodeEditor.draw_handler_add(draw_callback_nodeoutline, args, 'WINDOW', 'POST_PIXEL')
self.mouse_path = []
@@ -1255,7 +1259,7 @@ class NWLazyConnect(Operator, NWBase):
args = (self, context, mode)
# Add the region OpenGL drawing callback
# draw in view space with 'POST_VIEW' and 'PRE_VIEW'
- self._handle = bpy.types.SpaceNodeEditor.draw_handler_add(draw_callback_mixnodes, args, 'WINDOW', 'POST_PIXEL')
+ self._handle = bpy.types.SpaceNodeEditor.draw_handler_add(draw_callback_nodeoutline, args, 'WINDOW', 'POST_PIXEL')
self.mouse_path = []