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

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.

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. Default value: true

    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.

    public Texture Texture { get; set; }

The node’s texture resource.

Methods

    public AxisStretchMode GetHAxisStretchMode()

Getter for AxisStretchHorizontal

    public int GetPatchMargin(Margin margin)

    public Rect2 GetRegionRect()

Getter for RegionRect

    public Texture GetTexture()

Getter for Texture

    public AxisStretchMode GetVAxisStretchMode()

Getter for AxisStretchVertical

    public bool IsDrawCenterEnabled()

Getter for DrawCenter

    public void SetDrawCenter(bool drawCenter)

Setter for DrawCenter

    public void SetHAxisStretchMode(AxisStretchMode mode)

Setter for AxisStretchHorizontal

    public void SetPatchMargin(Margin margin, int value)

    public void SetRegionRect(Rect2 rect)

Setter for RegionRect

    public void SetTexture(Texture texture)

Setter for Texture

    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. Default value for [code]axis_stretch_horizontal[/code] and [code]axis_stretch_vertical[/code].
Tile 1 Doesn’t do anything at the time of writing.
TileFit 2 Doesn’t do anything at the time of writing.
Tags: