: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//doc_classes. .. _class_NinePatchRect: NinePatchRect ============= **Inherits:** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`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` | :ref:`axis_stretch_horizontal` | +------------------------------------------------------------+--------------------------------------------------------------------------------------+ | :ref:`AxisStretchMode` | :ref:`axis_stretch_vertical` | +------------------------------------------------------------+--------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`draw_center` | +------------------------------------------------------------+--------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`patch_margin_bottom` | +------------------------------------------------------------+--------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`patch_margin_left` | +------------------------------------------------------------+--------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`patch_margin_right` | +------------------------------------------------------------+--------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`patch_margin_top` | +------------------------------------------------------------+--------------------------------------------------------------------------------------+ | :ref:`Rect2` | :ref:`region_rect` | +------------------------------------------------------------+--------------------------------------------------------------------------------------+ | :ref:`Texture` | :ref:`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` **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` **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` **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` **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` **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` **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` **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` **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` **texture** +----------+--------------------+ | *Setter* | set_texture(value) | +----------+--------------------+ | *Getter* | get_texture() | +----------+--------------------+ The node's texture resource.