NinePatchRect
A control that displays a texture by keeping its corners intact, but tiling its edges and center.
NinePatchRect.swift:16class NinePatchRect
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 edges horizontally or vertically, tiles the center on both axes, and leaves the corners unchanged.
This object emits the following signals:
Superclasses
class Control
Base class for all GUI controls. Adapts its position and size based on its parent control.
Citizens in SwiftGodot
Conformances
protocol CustomStringConvertible
A type with a customized textual representation.
protocol Equatable
A type that can be compared for value equality.
protocol Hashable
A type that can be hashed into a
Hasher
to produce an integer hash value.protocol Identifiable<ID>
A class of types whose instances hold the value of an entity with stable identity.
protocol VariantRepresentable
Types that conform to VariantRepresentable can be stored directly in
Variant
with no conversion. These include all of the Variant types from Godot (for exampleGString
,Rect
,Plane
), Godot objects (those that subclass SwiftGodot.Object) as well as the built-in Swift types UInt8, Int64 and Double.protocol VariantStorable
Types that conform to VariantStorable can be stored in a Variant and can be extracted back out of a Variant.
Types
Type members
Instance members
var axisStretchHorizontal: NinePatchRect.AxisStretchMode
The stretch mode to use for horizontal stretching/tiling. See
NinePatchRect.AxisStretchMode
for possible values.var axisStretchVertical: NinePatchRect.AxisStretchMode
The stretch mode to use for vertical stretching/tiling. See
NinePatchRect.AxisStretchMode
for possible values.var drawCenter: Bool
If
true
, draw the panel’s center. Else, only draw the 9-slice’s borders.var patchMarginBottom: Int32
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.
var patchMarginLeft: Int32
The width of the 9-slice’s left column. A margin of 16 means the 9-slice’s left corners and side will have a width of 16 pixels. You can set all 4 margin values individually to create panels with non-uniform borders.
var patchMarginRight: Int32
The width of the 9-slice’s right column. A margin of 16 means the 9-slice’s right corners and side will have a width of 16 pixels. You can set all 4 margin values individually to create panels with non-uniform borders.
var patchMarginTop: Int32
The height of the 9-slice’s top row. A margin of 16 means the 9-slice’s top 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.
var regionRect: Rect2
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.
var texture: Texture2D?
The node’s texture resource.
var textureChanged: SimpleSignal
Emitted when the node’s texture changes.