Files
godot-docs/classes/class_ninepatchrect.rst
2020-01-21 09:28:25 +01:00

204 lines
8.0 KiB
ReStructuredText

:github_url: hide
.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the NinePatchRect.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_NinePatchRect:
NinePatchRect
=============
**Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
**Category:** Core
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.
Properties
----------
+------------------------------------------------------------+--------------------------------------------------------------------------------------+
| :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` | :ref:`axis_stretch_horizontal<class_NinePatchRect_property_axis_stretch_horizontal>` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+
| :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` | :ref:`axis_stretch_vertical<class_NinePatchRect_property_axis_stretch_vertical>` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`draw_center<class_NinePatchRect_property_draw_center>` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`patch_margin_bottom<class_NinePatchRect_property_patch_margin_bottom>` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`patch_margin_left<class_NinePatchRect_property_patch_margin_left>` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`patch_margin_right<class_NinePatchRect_property_patch_margin_right>` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`patch_margin_top<class_NinePatchRect_property_patch_margin_top>` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+
| :ref:`Rect2<class_Rect2>` | :ref:`region_rect<class_NinePatchRect_property_region_rect>` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+
| :ref:`Texture<class_Texture>` | :ref:`texture<class_NinePatchRect_property_texture>` |
+------------------------------------------------------------+--------------------------------------------------------------------------------------+
Signals
-------
.. _class_NinePatchRect_signal_texture_changed:
- **texture_changed** **(** **)**
Fired when the node's texture changes.
Enumerations
------------
.. _enum_NinePatchRect_AxisStretchMode:
.. _class_NinePatchRect_constant_AXIS_STRETCH_MODE_STRETCH:
.. _class_NinePatchRect_constant_AXIS_STRETCH_MODE_TILE:
.. _class_NinePatchRect_constant_AXIS_STRETCH_MODE_TILE_FIT:
enum **AxisStretchMode**:
- **AXIS_STRETCH_MODE_STRETCH** = **0** --- Doesn't do anything at the time of writing. Default value for ``axis_stretch_horizontal`` and ``axis_stretch_vertical``.
- **AXIS_STRETCH_MODE_TILE** = **1** --- Doesn't do anything at the time of writing.
- **AXIS_STRETCH_MODE_TILE_FIT** = **2** --- Doesn't do anything at the time of writing.
Description
-----------
Better 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 by 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.
Property Descriptions
---------------------
.. _class_NinePatchRect_property_axis_stretch_horizontal:
- :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` **axis_stretch_horizontal**
+----------+--------------------------------+
| *Setter* | set_h_axis_stretch_mode(value) |
+----------+--------------------------------+
| *Getter* | get_h_axis_stretch_mode() |
+----------+--------------------------------+
Doesn't do anything at the time of writing.
----
.. _class_NinePatchRect_property_axis_stretch_vertical:
- :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` **axis_stretch_vertical**
+----------+--------------------------------+
| *Setter* | set_v_axis_stretch_mode(value) |
+----------+--------------------------------+
| *Getter* | get_v_axis_stretch_mode() |
+----------+--------------------------------+
Doesn't do anything at the time of writing.
----
.. _class_NinePatchRect_property_draw_center:
- :ref:`bool<class_bool>` **draw_center**
+----------+--------------------------+
| *Setter* | set_draw_center(value) |
+----------+--------------------------+
| *Getter* | is_draw_center_enabled() |
+----------+--------------------------+
If ``true``, draw the panel's center. Else, only draw the 9-slice's borders. Default value: ``true``
----
.. _class_NinePatchRect_property_patch_margin_bottom:
- :ref:`int<class_int>` **patch_margin_bottom**
+----------+-------------------------+
| *Setter* | set_patch_margin(value) |
+----------+-------------------------+
| *Getter* | get_patch_margin() |
+----------+-------------------------+
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.
----
.. _class_NinePatchRect_property_patch_margin_left:
- :ref:`int<class_int>` **patch_margin_left**
+----------+-------------------------+
| *Setter* | set_patch_margin(value) |
+----------+-------------------------+
| *Getter* | get_patch_margin() |
+----------+-------------------------+
The height of the 9-slice's left column.
----
.. _class_NinePatchRect_property_patch_margin_right:
- :ref:`int<class_int>` **patch_margin_right**
+----------+-------------------------+
| *Setter* | set_patch_margin(value) |
+----------+-------------------------+
| *Getter* | get_patch_margin() |
+----------+-------------------------+
The height of the 9-slice's right column.
----
.. _class_NinePatchRect_property_patch_margin_top:
- :ref:`int<class_int>` **patch_margin_top**
+----------+-------------------------+
| *Setter* | set_patch_margin(value) |
+----------+-------------------------+
| *Getter* | get_patch_margin() |
+----------+-------------------------+
The height of the 9-slice's top row.
----
.. _class_NinePatchRect_property_region_rect:
- :ref:`Rect2<class_Rect2>` **region_rect**
+----------+------------------------+
| *Setter* | set_region_rect(value) |
+----------+------------------------+
| *Getter* | get_region_rect() |
+----------+------------------------+
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.
----
.. _class_NinePatchRect_property_texture:
- :ref:`Texture<class_Texture>` **texture**
+----------+--------------------+
| *Setter* | set_texture(value) |
+----------+--------------------+
| *Getter* | get_texture() |
+----------+--------------------+
The node's texture resource.