Node wrangler: remove viewer focus operator #105257
@ -2592,63 +2592,6 @@ class NWAddMultipleImages(Operator, NWBase, ImportHelper):
|
|||||||
return {'FINISHED'}
|
return {'FINISHED'}
|
||||||
|
|
||||||
|
|
||||||
class NWViewerFocus(bpy.types.Operator):
|
|
||||||
"""Set the viewer tile center to the mouse position"""
|
|
||||||
bl_idname = "node.nw_viewer_focus"
|
|
||||||
bl_label = "Viewer Focus"
|
|
||||||
|
|
||||||
x: bpy.props.IntProperty()
|
|
||||||
y: bpy.props.IntProperty()
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def poll(cls, context):
|
|
||||||
return (nw_check(cls, context)
|
|
||||||
and nw_check_space_type(cls, context, {'CompositorNodeTree'}))
|
|
||||||
|
|
||||||
def execute(self, context):
|
|
||||||
return {'FINISHED'}
|
|
||||||
|
|
||||||
def invoke(self, context, event):
|
|
||||||
render = context.scene.render
|
|
||||||
space = context.space_data
|
|
||||||
percent = render.resolution_percentage * 0.01
|
|
||||||
|
|
||||||
nodes, links = get_nodes_links(context)
|
|
||||||
viewers = [n for n in nodes if n.type == 'VIEWER']
|
|
||||||
|
|
||||||
if viewers:
|
|
||||||
mlocx = event.mouse_region_x
|
|
||||||
mlocy = event.mouse_region_y
|
|
||||||
select_node = bpy.ops.node.select(location=(mlocx, mlocy), extend=False)
|
|
||||||
|
|
||||||
if 'FINISHED' not in select_node: # only run if we're not clicking on a node
|
|
||||||
region_x = context.region.width
|
|
||||||
region_y = context.region.height
|
|
||||||
|
|
||||||
region_center_x = context.region.width / 2
|
|
||||||
region_center_y = context.region.height / 2
|
|
||||||
|
|
||||||
bd_x = render.resolution_x * percent * space.backdrop_zoom
|
|
||||||
bd_y = render.resolution_y * percent * space.backdrop_zoom
|
|
||||||
|
|
||||||
backdrop_center_x = (bd_x / 2) - space.backdrop_offset[0]
|
|
||||||
backdrop_center_y = (bd_y / 2) - space.backdrop_offset[1]
|
|
||||||
|
|
||||||
margin_x = region_center_x - backdrop_center_x
|
|
||||||
margin_y = region_center_y - backdrop_center_y
|
|
||||||
|
|
||||||
abs_mouse_x = (mlocx - margin_x) / bd_x
|
|
||||||
abs_mouse_y = (mlocy - margin_y) / bd_y
|
|
||||||
|
|
||||||
for node in viewers:
|
|
||||||
node.center_x = abs_mouse_x
|
|
||||||
node.center_y = abs_mouse_y
|
|
||||||
else:
|
|
||||||
return {'PASS_THROUGH'}
|
|
||||||
|
|
||||||
return self.execute(context)
|
|
||||||
|
|
||||||
|
|
||||||
class NWSaveViewer(bpy.types.Operator, ExportHelper):
|
class NWSaveViewer(bpy.types.Operator, ExportHelper):
|
||||||
"""Save the current viewer node to an image file"""
|
"""Save the current viewer node to an image file"""
|
||||||
bl_idname = "node.nw_save_viewer"
|
bl_idname = "node.nw_save_viewer"
|
||||||
@ -2838,7 +2781,6 @@ classes = (
|
|||||||
NWCallInputsMenu,
|
NWCallInputsMenu,
|
||||||
NWAddSequence,
|
NWAddSequence,
|
||||||
NWAddMultipleImages,
|
NWAddMultipleImages,
|
||||||
NWViewerFocus,
|
|
||||||
NWSaveViewer,
|
NWSaveViewer,
|
||||||
NWResetNodes,
|
NWResetNodes,
|
||||||
)
|
)
|
||||||
|
@ -347,8 +347,6 @@ kmi_defs = (
|
|||||||
# Lazy Connect with Menu
|
# Lazy Connect with Menu
|
||||||
(operators.NWLazyConnect.bl_idname, 'RIGHTMOUSE', 'PRESS', False,
|
(operators.NWLazyConnect.bl_idname, 'RIGHTMOUSE', 'PRESS', False,
|
||||||
True, True, (('with_menu', True),), "Lazy Connect with Socket Menu"),
|
True, True, (('with_menu', True),), "Lazy Connect with Socket Menu"),
|
||||||
# Viewer Tile Center
|
|
||||||
(operators.NWViewerFocus.bl_idname, 'LEFTMOUSE', 'DOUBLE_CLICK', False, False, False, None, "Set Viewers Tile Center"),
|
|
||||||
# Align Nodes
|
# Align Nodes
|
||||||
(operators.NWAlignNodes.bl_idname, 'EQUAL', 'PRESS', False, True,
|
(operators.NWAlignNodes.bl_idname, 'EQUAL', 'PRESS', False, True,
|
||||||
False, None, "Align selected nodes neatly in a row/column"),
|
False, None, "Align selected nodes neatly in a row/column"),
|
||||||
|
Loading…
Reference in New Issue
Block a user