<?xml version="1.0" encoding="UTF-8" ?> <class name="NinePatchRect" inherits="Control" version="4.0"> <brief_description> Scalable texture-based frame that tiles the texture's centers and sides, but keeps the corners' original size. Perfect for panels and dialog boxes. </brief_description> <description> Also known as 9-slice panels, NinePatchRect produces clean panels of any size, based on a small texture. To do so, it splits the texture in a 3×3 grid. When you scale the node, it tiles the texture's sides horizontally or vertically, the center on both axes but it doesn't scale or tile the corners. </description> <tutorials> </tutorials> <methods> <method name="get_patch_margin" qualifiers="const"> <return type="int"> </return> <argument index="0" name="margin" type="int" enum="Margin"> </argument> <description> Returns the size of the margin identified by the given [enum Margin] constant. </description> </method> <method name="set_patch_margin"> <return type="void"> </return> <argument index="0" name="margin" type="int" enum="Margin"> </argument> <argument index="1" name="value" type="int"> </argument> <description> Sets the size of the margin identified by the given [enum Margin] constant to [code]value[/code] in pixels. </description> </method> </methods> <members> <member name="axis_stretch_horizontal" type="int" setter="set_h_axis_stretch_mode" getter="get_h_axis_stretch_mode" enum="NinePatchRect.AxisStretchMode" default="0"> Doesn't do anything at the time of writing. </member> <member name="axis_stretch_vertical" type="int" setter="set_v_axis_stretch_mode" getter="get_v_axis_stretch_mode" enum="NinePatchRect.AxisStretchMode" default="0"> Doesn't do anything at the time of writing. </member> <member name="draw_center" type="bool" setter="set_draw_center" getter="is_draw_center_enabled" default="true"> If [code]true[/code], draw the panel's center. Else, only draw the 9-slice's borders. </member> <member name="mouse_filter" type="int" setter="set_mouse_filter" getter="get_mouse_filter" override="true" enum="Control.MouseFilter" default="2" /> <member name="patch_margin_bottom" type="int" setter="set_patch_margin" getter="get_patch_margin" default="0"> The height of the 9-slice's bottom row. A margin of 16 means the 9-slice's bottom corners and side will have a height of 16 pixels. You can set all 4 margin values individually to create panels with non-uniform borders. </member> <member name="patch_margin_left" type="int" setter="set_patch_margin" getter="get_patch_margin" default="0"> The height of the 9-slice's left column. </member> <member name="patch_margin_right" type="int" setter="set_patch_margin" getter="get_patch_margin" default="0"> The height of the 9-slice's right column. </member> <member name="patch_margin_top" type="int" setter="set_patch_margin" getter="get_patch_margin" default="0"> The height of the 9-slice's top row. </member> <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2( 0, 0, 0, 0 )"> Rectangular region of the texture to sample from. If you're working with an atlas, use this property to define the area the 9-slice should use. All other properties are relative to this one. If the rect is empty, NinePatchRect will use the whole texture. </member> <member name="texture" type="Texture2D" setter="set_texture" getter="get_texture"> The node's texture resource. </member> </members> <signals> <signal name="texture_changed"> <description> Emitted when the node's texture changes. </description> </signal> </signals> <constants> <constant name="AXIS_STRETCH_MODE_STRETCH" value="0" enum="AxisStretchMode"> Doesn't do anything at the time of writing. </constant> <constant name="AXIS_STRETCH_MODE_TILE" value="1" enum="AxisStretchMode"> Doesn't do anything at the time of writing. </constant> <constant name="AXIS_STRETCH_MODE_TILE_FIT" value="2" enum="AxisStretchMode"> Doesn't do anything at the time of writing. </constant> </constants> </class>