Scalable texture-based frame that tiles the texture's centers and sides, but keeps the corners' original size. Perfect for panels and dialog boxes.
    public class NinePatchRect : Control

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.

Inheritance Chain

Constructors

    public NinePatchRect()

Signals

    "texture_changed" ()

Fired when the node’s texture changes.

Properties

    public AxisStretchMode AxisStretchHorizontal { get; set; }

Doesn’t do anything at the time of writing.

    public AxisStretchMode AxisStretchVertical { get; set; }

Doesn’t do anything at the time of writing.

    public bool DrawCenter { get; set; }

If true, draw the panel’s center. Else, only draw the 9-slice’s borders.

    public int PatchMarginBottom { get; set; }

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.

    public int PatchMarginLeft { get; set; }

The height of the 9-slice’s left column.

    public int PatchMarginRight { get; set; }

The height of the 9-slice’s right column.

    public int PatchMarginTop { get; set; }

The height of the 9-slice’s top row.

    public Rect2 RegionRect { get; set; }

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.

    public Texture Texture { get; set; }

The node’s texture resource.

Methods

    [Obsolete("GetHAxisStretchMode is deprecated. Use the AxisStretchHorizontal property instead.")]
    public AxisStretchMode GetHAxisStretchMode()

Getter for AxisStretchHorizontal

    [Obsolete("GetPatchMargin is deprecated. Use the PatchMarginBottom property instead.")]
    public int GetPatchMargin(Margin margin)

    [Obsolete("GetRegionRect is deprecated. Use the RegionRect property instead.")]
    public Rect2 GetRegionRect()

Getter for RegionRect

    [Obsolete("GetTexture is deprecated. Use the Texture property instead.")]
    public Texture GetTexture()

Getter for Texture

    [Obsolete("GetVAxisStretchMode is deprecated. Use the AxisStretchVertical property instead.")]
    public AxisStretchMode GetVAxisStretchMode()

Getter for AxisStretchVertical

    [Obsolete("IsDrawCenterEnabled is deprecated. Use the DrawCenter property instead.")]
    public bool IsDrawCenterEnabled()

Getter for DrawCenter

    [Obsolete("SetDrawCenter is deprecated. Use the DrawCenter property instead.")]
    public void SetDrawCenter(bool drawCenter)

Setter for DrawCenter

    [Obsolete("SetHAxisStretchMode is deprecated. Use the AxisStretchHorizontal property instead.")]
    public void SetHAxisStretchMode(AxisStretchMode mode)

Setter for AxisStretchHorizontal

    [Obsolete("SetPatchMargin is deprecated. Use the PatchMarginBottom property instead.")]
    public void SetPatchMargin(Margin margin, int value)

    [Obsolete("SetRegionRect is deprecated. Use the RegionRect property instead.")]
    public void SetRegionRect(Rect2 rect)

Setter for RegionRect

    [Obsolete("SetTexture is deprecated. Use the Texture property instead.")]
    public void SetTexture(Texture texture)

Setter for Texture

    [Obsolete("SetVAxisStretchMode is deprecated. Use the AxisStretchVertical property instead.")]
    public void SetVAxisStretchMode(AxisStretchMode mode)

Setter for AxisStretchVertical

Inner Types

AxisStretchMode

Name Value Description
Stretch 0 Doesn’t do anything at the time of writing.
Tile 1 Doesn’t do anything at the time of writing.
TileFit 2 Doesn’t do anything at the time of writing.
Tags: