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.
- texture_changed ( )
Fired when the node’s texture changes.
- AxisStretchMode axis_stretch_horizontal - Doesn’t do anything at the time of writing.
- AxisStretchMode axis_stretch_vertical - Doesn’t do anything at the time of writing.
- bool draw_center - If
true, draw the panel’s center. Else, only draw the 9-slice’s borders. Default value:
- int patch_margin_bottom - 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 - The height of the 9-slice’s left column.
- int patch_margin_right - The height of the 9-slice’s right column.
- int patch_margin_top - The height of the 9-slice’s top row.
- Rect2 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 - The node’s texture resource.
- AXIS_STRETCH_MODE_STRETCH = 0 — Doesn’t do anything at the time of writing. Default value for
- 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.
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.