StyleBox

Inherits: Resource < Reference < Object

Inherited By: StyleBoxEmpty, StyleBoxFlat, StyleBoxLine, StyleBoxTexture

用于为 UI 绘制风格化框的基类。

描述

样式盒 StyleBox 是一种 Resource,它提供了一个抽象基类,用于为 UI 绘制风格化的框。 StyleBox 被用于绘制按钮的样式、行编辑框的背景、树的背景等,也被用作测试指针信号的透明掩码。将 StyleBox 指定为控件的掩码时,如果在掩码测试失败,点击和运动信号将透过它传递至下层控件。

注意: 对于有 主题属性Control 控件,名为 focusStyleBox 会显示在名为 normalhoverpressedStyleBox之上。这样的行为有助于 focus StyleBox 在不同节点上复用。

属性

float

content_margin_bottom

-1.0

float

content_margin_left

-1.0

float

content_margin_right

-1.0

float

content_margin_top

-1.0

方法

void

draw ( RID canvas_item, Rect2 rect ) const

Vector2

get_center_size ( ) const

CanvasItem

get_current_item_drawn ( ) const

float

get_default_margin ( Margin margin ) const

float

get_margin ( Margin margin ) const

Vector2

get_minimum_size ( ) const

Vector2

get_offset ( ) const

void

set_default_margin ( Margin margin, float offset )

bool

test_mask ( Vector2 point, Rect2 rect ) const

属性说明

  • float content_margin_bottom

Default

-1.0

Setter

set_default_margin(value)

Getter

get_default_margin()

此样式盒内容的底边距。增加此值会从底部减少内容的可用空间。

如果此值为负,则将其忽略并改为使用特定于该子类型的边距。例如,对于 StyleBoxFlat,(如果有厚度的话)将使用边框厚度。

内容是什么由使用此样式盒的代码决定:例如 Button 会为其文本内容设置此内容边距。

使用者应该通过 get_margin 获取边距,而不是直接读取单独方向上的属性。这是因为这个函数会正确处理负值和上述备用逻辑。


  • float content_margin_left

Default

-1.0

Setter

set_default_margin(value)

Getter

get_default_margin()

The left margin for the contents of this style box. Increasing this value reduces the space available to the contents from the left.

Refer to content_margin_bottom for extra considerations.


  • float content_margin_right

Default

-1.0

Setter

set_default_margin(value)

Getter

get_default_margin()

此样式盒内容的右边距。增加此值会从右侧减少内容的可用空间。

额外的注意事项请参阅 content_margin_bottom


  • float content_margin_top

Default

-1.0

Setter

set_default_margin(value)

Getter

get_default_margin()

此样式盒内容的顶边距。增加此值会从顶部减少内容的可用空间。

额外的注意事项请参阅 content_margin_bottom

方法说明

  • void draw ( RID canvas_item, Rect2 rect ) const

使用具有给定 RIDCanvasItem 绘制此StyleBox。

您可以在 CanvasItem 派生节点上使用 Object.get_instance_id 获取 RID 值。


返回没有边距的 StyleBox 的大小。


返回此时处理其 CanvasItem.NOTIFICATION_DRAWCanvasItem._draw 回调的 CanvasItem


返回指定 Margin 的默认值。


返回指定 Margin 的内容边距偏移量。

Control 的边距值不同,正值会向内减小尺寸。


  • Vector2 get_minimum_size ( ) const

返回此样式盒可以缩小到的最小尺寸。


返回样式盒的“偏移量”。这个辅助函数返回一个等价于 Vector2(style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP)) 的值。


  • void set_default_margin ( Margin margin, float offset )

将指定 Margin 边距的默认值设置为给定的 offset,单位为像素。


测试矩形中的一个位置,返回它是否通过掩码测试。