StyleBoxTexture

继承: StyleBox < Resource < RefCounted < Object

基于纹理的九补丁StyleBox

描述

基于纹理的九块贴片StyleBox,类似于NinePatchRect。该样式箱对纹理执行3×3缩放,其中只有中心单元被完全拉伸。这使得无论样式箱的大小如何,都可以设计边框样式。

属性

方法

float

get_expand_margin(margin: Side) const

float

get_texture_margin(margin: Side) const

void

set_expand_margin(margin: Side, size: float)

void

set_expand_margin_all(size: float)

void

set_texture_margin(margin: Side, size: float)

void

set_texture_margin_all(size: float)


枚举

enum AxisStretchMode: 🔗

AxisStretchMode AXIS_STRETCH_MODE_STRETCH = 0

拉伸样式框的纹理。这会导致可见的失真,除非纹理大小与样式框的大小完全匹配。

AxisStretchMode AXIS_STRETCH_MODE_TILE = 1

重复样式框的纹理以根据九个补丁系统匹配样式框的大小。

AxisStretchMode AXIS_STRETCH_MODE_TILE_FIT = 2

根据九贴片系统重复样式盒的纹理以匹配样式盒的大小。与AXIS_STRETCH_MODE_TILE不同,纹理可能会稍微拉伸以使九贴片纹理无缝平铺。


属性说明

AxisStretchMode axis_stretch_horizontal = 0 🔗

控制样式框的纹理如何水平拉伸或平铺。有关可能的值,请参阅AxisStretchMode


AxisStretchMode axis_stretch_vertical = 0 🔗

控制样式框的纹理如何垂直拉伸或平铺。有关可能的值,请参阅AxisStretchMode


bool draw_center = true 🔗

  • void set_draw_center(value: bool)

  • bool is_draw_center_enabled()

如果true,则将绘制九个补丁纹理的中心图块。


float expand_margin_bottom = 0.0 🔗

  • void set_expand_margin(margin: Side, size: float)

  • float get_expand_margin(margin: Side) const

绘制时展开此样式框的底部边距,使其绘制得比请求的大。


float expand_margin_left = 0.0 🔗

  • void set_expand_margin(margin: Side, size: float)

  • float get_expand_margin(margin: Side) const

绘制时展开此样式框的左边距,使其绘制得比请求的大。


float expand_margin_right = 0.0 🔗

  • void set_expand_margin(margin: Side, size: float)

  • float get_expand_margin(margin: Side) const

绘制时展开此样式框的右边距,使其绘制得比请求的大。


float expand_margin_top = 0.0 🔗

  • void set_expand_margin(margin: Side, size: float)

  • float get_expand_margin(margin: Side) const

绘制时展开此样式框的上边距,使其绘制得比请求的大。


Color modulate_color = Color(1, 1, 1, 1) 🔗

  • void set_modulate(value: Color)

  • Color get_modulate()

绘制此样式框时调整纹理的颜色。


Rect2 region_rect = Rect2(0, 0, 0, 0) 🔗

  • void set_region_rect(value: Rect2)

  • Rect2 get_region_rect()

要从texture中使用的区域。

这相当于首先将texture包装在具有相同区域的AtlasTexture中。

如果为空(Rect2(0,0,0,0)),则使用整个texture


Texture2D texture 🔗

绘制此样式框时使用的纹理。


float texture_margin_bottom = 0.0 🔗

  • void set_texture_margin(margin: Side, size: float)

  • float get_texture_margin(margin: Side) const

增加3×3纹理框的底部边距。

较高的值意味着更多的源纹理被认为是3×3框底部边界的一部分。

如果值为负数,则这也是用作StyleBox.content_margin_bottom回退的值。


float texture_margin_left = 0.0 🔗

  • void set_texture_margin(margin: Side, size: float)

  • float get_texture_margin(margin: Side) const

增加3×3纹理框的左边距。

较高的值意味着更多的源纹理被认为是3×3框左边框的一部分。

如果值为负数,则这也是用作StyleBox.content_margin_left回退的值。


float texture_margin_right = 0.0 🔗

  • void set_texture_margin(margin: Side, size: float)

  • float get_texture_margin(margin: Side) const

增加3×3纹理框的右边距。

较高的值意味着更多的源纹理被认为是3×3框右边框的一部分。

如果为负数,这也是用作StyleBox.content_margin_right回退的值。


float texture_margin_top = 0.0 🔗

  • void set_texture_margin(margin: Side, size: float)

  • float get_texture_margin(margin: Side) const

增加3×3纹理框的顶部边距。

较高的值意味着更多的源纹理被认为是3×3框顶部边框的一部分。

如果值为负数,则这也是用作StyleBox.content_margin_top回退的值。


方法说明

float get_expand_margin(margin: Side) const 🔗

返回指定Side的展开边距大小。


float get_texture_margin(margin: Side) const 🔗

返回指定Side的边距大小。


void set_expand_margin(margin: Side, size: float) 🔗

将指定Side的展开边距设置为size像素。


void set_expand_margin_all(size: float) 🔗

将所有边的展开边距设置为size像素。


void set_texture_margin(margin: Side, size: float) 🔗

将指定Side的边距设置为size像素。


void set_texture_margin_all(size: float) 🔗

将所有边的边距设置为size像素。