mirror of
https://github.com/godotengine/godot-docs.git
synced 2025-12-31 17:49:03 +03:00
204 lines
8.0 KiB
ReStructuredText
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.
|
|
|