mirror of
https://github.com/godotengine/godot-docs.git
synced 2025-12-31 17:49:03 +03:00
246 lines
11 KiB
ReStructuredText
246 lines
11 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>`
|
||
|
||
Scalable texture-based frame that tiles the texture's centers and sides, but keeps the corners' original size. Perfect for panels and dialog boxes.
|
||
|
||
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.
|
||
|
||
Properties
|
||
----------
|
||
|
||
+------------------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------+
|
||
| :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` | :ref:`axis_stretch_horizontal<class_NinePatchRect_property_axis_stretch_horizontal>` | ``0`` |
|
||
+------------------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------+
|
||
| :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` | :ref:`axis_stretch_vertical<class_NinePatchRect_property_axis_stretch_vertical>` | ``0`` |
|
||
+------------------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`draw_center<class_NinePatchRect_property_draw_center>` | ``true`` |
|
||
+------------------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------+
|
||
| :ref:`MouseFilter<enum_Control_MouseFilter>` | mouse_filter | ``2`` *(parent override)* |
|
||
+------------------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------+
|
||
| :ref:`int<class_int>` | :ref:`patch_margin_bottom<class_NinePatchRect_property_patch_margin_bottom>` | ``0`` |
|
||
+------------------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------+
|
||
| :ref:`int<class_int>` | :ref:`patch_margin_left<class_NinePatchRect_property_patch_margin_left>` | ``0`` |
|
||
+------------------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------+
|
||
| :ref:`int<class_int>` | :ref:`patch_margin_right<class_NinePatchRect_property_patch_margin_right>` | ``0`` |
|
||
+------------------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------+
|
||
| :ref:`int<class_int>` | :ref:`patch_margin_top<class_NinePatchRect_property_patch_margin_top>` | ``0`` |
|
||
+------------------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------+
|
||
| :ref:`Rect2<class_Rect2>` | :ref:`region_rect<class_NinePatchRect_property_region_rect>` | ``Rect2( 0, 0, 0, 0 )`` |
|
||
+------------------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------+
|
||
| :ref:`Texture<class_Texture>` | :ref:`texture<class_NinePatchRect_property_texture>` | |
|
||
+------------------------------------------------------------+--------------------------------------------------------------------------------------+---------------------------+
|
||
|
||
Methods
|
||
-------
|
||
|
||
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`get_patch_margin<class_NinePatchRect_method_get_patch_margin>` **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** |const| |
|
||
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| void | :ref:`set_patch_margin<class_NinePatchRect_method_set_patch_margin>` **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)** |
|
||
+-----------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
Signals
|
||
-------
|
||
|
||
.. _class_NinePatchRect_signal_texture_changed:
|
||
|
||
- **texture_changed** **(** **)**
|
||
|
||
Emitted 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.
|
||
|
||
- **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.
|
||
|
||
Property Descriptions
|
||
---------------------
|
||
|
||
.. _class_NinePatchRect_property_axis_stretch_horizontal:
|
||
|
||
- :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` **axis_stretch_horizontal**
|
||
|
||
+-----------+--------------------------------+
|
||
| *Default* | ``0`` |
|
||
+-----------+--------------------------------+
|
||
| *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**
|
||
|
||
+-----------+--------------------------------+
|
||
| *Default* | ``0`` |
|
||
+-----------+--------------------------------+
|
||
| *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**
|
||
|
||
+-----------+--------------------------+
|
||
| *Default* | ``true`` |
|
||
+-----------+--------------------------+
|
||
| *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.
|
||
|
||
----
|
||
|
||
.. _class_NinePatchRect_property_patch_margin_bottom:
|
||
|
||
- :ref:`int<class_int>` **patch_margin_bottom**
|
||
|
||
+-----------+-------------------------+
|
||
| *Default* | ``0`` |
|
||
+-----------+-------------------------+
|
||
| *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**
|
||
|
||
+-----------+-------------------------+
|
||
| *Default* | ``0`` |
|
||
+-----------+-------------------------+
|
||
| *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**
|
||
|
||
+-----------+-------------------------+
|
||
| *Default* | ``0`` |
|
||
+-----------+-------------------------+
|
||
| *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**
|
||
|
||
+-----------+-------------------------+
|
||
| *Default* | ``0`` |
|
||
+-----------+-------------------------+
|
||
| *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**
|
||
|
||
+-----------+-------------------------+
|
||
| *Default* | ``Rect2( 0, 0, 0, 0 )`` |
|
||
+-----------+-------------------------+
|
||
| *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. If the rect is empty, NinePatchRect will use the whole texture.
|
||
|
||
----
|
||
|
||
.. _class_NinePatchRect_property_texture:
|
||
|
||
- :ref:`Texture<class_Texture>` **texture**
|
||
|
||
+----------+--------------------+
|
||
| *Setter* | set_texture(value) |
|
||
+----------+--------------------+
|
||
| *Getter* | get_texture() |
|
||
+----------+--------------------+
|
||
|
||
The node's texture resource.
|
||
|
||
Method Descriptions
|
||
-------------------
|
||
|
||
.. _class_NinePatchRect_method_get_patch_margin:
|
||
|
||
- :ref:`int<class_int>` **get_patch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin **)** |const|
|
||
|
||
Returns the size of the margin identified by the given :ref:`Margin<enum_@GlobalScope_Margin>` constant.
|
||
|
||
----
|
||
|
||
.. _class_NinePatchRect_method_set_patch_margin:
|
||
|
||
- void **set_patch_margin** **(** :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` value **)**
|
||
|
||
Sets the size of the margin identified by the given :ref:`Margin<enum_@GlobalScope_Margin>` constant to ``value`` in pixels.
|
||
|
||
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
|
||
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
|
||
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
|