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.
Properties
AxisStretchMode | axis_stretch_horizontal | 0 |
AxisStretchMode | axis_stretch_vertical | 0 |
bool | draw_center | true |
MouseFilter | mouse_filter |
2 (parent override)
|
int | patch_margin_bottom | 0 |
int | patch_margin_left | 0 |
int | patch_margin_right | 0 |
int | patch_margin_top | 0 |
Rect2 | region_rect | Rect2( 0, 0, 0, 0 ) |
Texture | texture |
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
AxisStretchMode axis_stretch_horizontal
Default | 0 |
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
Default | 0 |
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
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.
Rect2 region_rect
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.
Texture 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.
© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.
https://docs.godotengine.org/en/3.2/classes/class_ninepatchrect.html