from lnx.logicnode.lnx_nodes import * class TouchInRegionNode(LnxLogicTreeNode): """Detect touch in specific region. @input Center X/Y: The position of the center in pixels. @input Width: Width of the region in pixels. @input Height: Height of the region in pixels. @input Angle: Rotation angle in radians. Rotation is clockwise. @output On Enter: Activated after the cursor enters the region. @output On Exit: Activated after the cursor exits the region. @output Is Inside: True if inside the region. False otherwise. """ bl_idname = 'LNTouchInRegionNode' bl_label = 'Touch In Region' lnx_section = 'surface' lnx_version = 1 property0: HaxeEnumProperty( 'property0', items = [('rectangle', 'Rectangle', 'Rectangular region'), ('ellipse', 'Ellipse', 'Elliptical or Circular region')], name='', default='rectangle') def lnx_init(self, context): self.add_input('LnxFloatSocket', 'Center X') self.add_input('LnxFloatSocket', 'Center Y') self.add_input('LnxFloatSocket', 'Width') self.add_input('LnxFloatSocket', 'Height') self.add_input('LnxFloatSocket', 'Angle') self.add_output('LnxNodeSocketAction', 'On Enter') self.add_output('LnxNodeSocketAction', 'On Exit') self.add_output('LnxBoolSocket', 'Is Inside') def draw_buttons(self, context, layout): layout.prop(self, 'property0')