NinePatchRect

Inherits: Control < CanvasItem < Node < 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.

Methods

int

get_patch_margin ( Margin margin ) const

void

set_patch_margin ( Margin margin, int value )

Signals

  • texture_changed ( )

Emitted when the node's texture changes.

Enumerations

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

Default

0

Setter

set_h_axis_stretch_mode(value)

Getter

get_h_axis_stretch_mode()

Doesn't do anything at the time of writing.


Default

0

Setter

set_v_axis_stretch_mode(value)

Getter

get_v_axis_stretch_mode()

Doesn't do anything at the time of writing.


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.


  • 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.


  • int patch_margin_left

Default

0

Setter

set_patch_margin(value)

Getter

get_patch_margin()

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


  • int patch_margin_right

Default

0

Setter

set_patch_margin(value)

Getter

get_patch_margin()

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


  • int patch_margin_top

Default

0

Setter

set_patch_margin(value)

Getter

get_patch_margin()

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


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.


Setter

set_texture(value)

Getter

get_texture()

The node's texture resource.

Method Descriptions

  • int get_patch_margin ( Margin margin ) const

Returns the size of the margin identified by the given Margin constant.


  • void set_patch_margin ( Margin margin, int value )

Sets the size of the margin identified by the given Margin constant to value in pixels.