2017-09-12 22:42:36 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-02-01 02:03:48 +01:00
<class name= "NinePatchRect" inherits= "Control" version= "4.0" >
2017-09-12 22:42:36 +02:00
<brief_description >
2017-09-16 11:54:44 +02:00
Scalable texture-based frame that tiles the texture's centers and sides, but keeps the corners' original size. Perfect for panels and dialog boxes.
2017-09-12 22:42:36 +02:00
</brief_description>
<description >
2019-06-22 01:04:47 +02:00
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.
2017-09-12 22:42:36 +02:00
</description>
<tutorials >
</tutorials>
<methods >
2019-06-27 16:10:09 +02:00
<method name= "get_patch_margin" qualifiers= "const" >
<return type= "int" >
</return>
<argument index= "0" name= "margin" type= "int" enum= "Margin" >
</argument>
<description >
2020-01-13 23:08:42 +01:00
Returns the size of the margin identified by the given [enum Margin] constant.
2019-06-27 16:10:09 +02:00
</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 >
2020-01-13 23:08:42 +01:00
Sets the size of the margin identified by the given [enum Margin] constant to [code]value[/code] in pixels.
2019-06-27 16:10:09 +02:00
</description>
</method>
2017-09-12 22:42:36 +02:00
</methods>
<members >
2019-06-29 12:38:01 +02:00
<member name= "axis_stretch_horizontal" type= "int" setter= "set_h_axis_stretch_mode" getter= "get_h_axis_stretch_mode" enum= "NinePatchRect.AxisStretchMode" default= "0" >
2017-09-16 11:54:44 +02:00
Doesn't do anything at the time of writing.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "axis_stretch_vertical" type= "int" setter= "set_v_axis_stretch_mode" getter= "get_v_axis_stretch_mode" enum= "NinePatchRect.AxisStretchMode" default= "0" >
2017-09-16 11:54:44 +02:00
Doesn't do anything at the time of writing.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "draw_center" type= "bool" setter= "set_draw_center" getter= "is_draw_center_enabled" default= "true" >
2019-06-29 15:24:23 +02:00
If [code]true[/code], draw the panel's center. Else, only draw the 9-slice's borders.
2017-09-12 22:42:36 +02:00
</member>
2019-09-24 13:34:03 +02:00
<member name= "mouse_filter" type= "int" setter= "set_mouse_filter" getter= "get_mouse_filter" override= "true" enum= "Control.MouseFilter" default= "2" />
2019-06-29 12:38:01 +02:00
<member name= "patch_margin_bottom" type= "int" setter= "set_patch_margin" getter= "get_patch_margin" default= "0" >
2017-10-14 12:45:26 +02:00
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.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "patch_margin_left" type= "int" setter= "set_patch_margin" getter= "get_patch_margin" default= "0" >
2017-09-16 11:54:44 +02:00
The height of the 9-slice's left column.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "patch_margin_right" type= "int" setter= "set_patch_margin" getter= "get_patch_margin" default= "0" >
2017-09-16 11:54:44 +02:00
The height of the 9-slice's right column.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "patch_margin_top" type= "int" setter= "set_patch_margin" getter= "get_patch_margin" default= "0" >
2017-09-16 11:54:44 +02:00
The height of the 9-slice's top row.
2017-09-12 22:42:36 +02:00
</member>
2019-06-29 12:38:01 +02:00
<member name= "region_rect" type= "Rect2" setter= "set_region_rect" getter= "get_region_rect" default= "Rect2( 0, 0, 0, 0 )" >
2019-09-17 19:26:20 +02:00
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.
2017-09-12 22:42:36 +02:00
</member>
2020-02-12 09:59:06 +01:00
<member name= "texture" type= "Texture2D" setter= "set_texture" getter= "get_texture" >
2017-09-16 11:54:44 +02:00
The node's texture resource.
2017-09-12 22:42:36 +02:00
</member>
</members>
<signals >
<signal name= "texture_changed" >
<description >
2020-01-10 19:46:41 +01:00
Emitted when the node's texture changes.
2017-09-12 22:42:36 +02:00
</description>
</signal>
</signals>
<constants >
2017-11-24 23:16:30 +01:00
<constant name= "AXIS_STRETCH_MODE_STRETCH" value= "0" enum= "AxisStretchMode" >
2019-06-29 15:24:23 +02:00
Doesn't do anything at the time of writing.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "AXIS_STRETCH_MODE_TILE" value= "1" enum= "AxisStretchMode" >
2017-09-16 11:54:44 +02:00
Doesn't do anything at the time of writing.
2017-09-12 22:42:36 +02:00
</constant>
2017-11-24 23:16:30 +01:00
<constant name= "AXIS_STRETCH_MODE_TILE_FIT" value= "2" enum= "AxisStretchMode" >
2017-09-16 11:54:44 +02:00
Doesn't do anything at the time of writing.
2017-09-12 22:42:36 +02:00
</constant>
</constants>
</class>