W3cubDocs

/Godot 3.1

NinePatchRect

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

AxisStretchMode axis_stretch_horizontal
AxisStretchMode axis_stretch_vertical
bool draw_center
int patch_margin_bottom
int patch_margin_left
int patch_margin_right
int patch_margin_top
Rect2 region_rect
Texture texture

Signals

texture_changed ( )

Fired when the node’s texture changes.

Enumerations

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

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.

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.

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

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.

int patch_margin_left

Setter set_patch_margin(value)
Getter get_patch_margin()

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

int patch_margin_right

Setter set_patch_margin(value)
Getter get_patch_margin()

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

int patch_margin_top

Setter set_patch_margin(value)
Getter get_patch_margin()

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

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.

Texture texture

Setter set_texture(value)
Getter get_texture()

The node’s texture resource.

© 2014–2019 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
http://docs.godotengine.org/en/3.1/classes/class_ninepatchrect.html