StyleBox¶
继承: Resource < RefCounted < Object
派生: StyleBoxEmpty, StyleBoxFlat, StyleBoxLine, StyleBoxTexture
用于定义UI元素风格化的抽象基类。
描述¶
StyleBox是一个抽象基类,用于绘制风格化的UI元素框。它用于面板、按钮、LineEdit背景、Tree背景等,也用于测试指针信号的透明度蒙版。如果蒙版测试在分配给控件的StyleBox上失败,点击和运动信号将通过它到达下面的控件。
注意:对于具有主题属性的控制节点,焦点StyleBox显示在正常、悬停或按下StyleBox之上。这使得焦点StyleBox在不同节点之间更具可重用性。
属性¶
|
||
|
||
|
||
|
方法¶
void |
|
_get_draw_rect(rect: Rect2) virtual const |
|
_get_minimum_size() virtual const |
|
_test_mask(point: Vector2, rect: Rect2) virtual const |
|
void |
|
get_content_margin(margin: Side) const |
|
CanvasItem |
get_current_item_drawn() const |
get_margin(margin: Side) const |
|
get_minimum_size() const |
|
get_offset() const |
|
void |
set_content_margin(margin: Side, offset: float) |
void |
set_content_margin_all(offset: float) |
属性说明¶
float content_margin_bottom = -1.0 🔗
此样式框内容的底部边距。增加此值会减少底部内容的可用空间。
如果此值为负数,则忽略它并使用子级特定的边距。例如,对于StyleBoxFlat,将使用边框厚度(如果有)代替。
由使用此样式框的代码来决定这些内容是什么:例如,Button尊重该按钮的文本内容的内容边距。
get_margin()应该用于以消费者身份获取此值,而不是直接读取这些属性。这是因为它正确地尊重负值和上面提到的回退。
float content_margin_left = -1.0 🔗
此样式框内容的左边距。增加此值会减少左侧内容的可用空间。
有关额外注意事项,请参阅content_margin_bottom。
float content_margin_right = -1.0 🔗
此样式框内容的右边距。增加此值会减少右侧内容的可用空间。
有关额外注意事项,请参阅content_margin_bottom。
float content_margin_top = -1.0 🔗
此样式框内容的上边距。增加此值会减少顶部内容的可用空间。
有关额外注意事项,请参阅content_margin_bottom。
方法说明¶
void _draw(to_canvas_item: RID, rect: Rect2) virtual const 🔗
Rect2 _get_draw_rect(rect: Rect2) virtual const 🔗
Vector2 _get_minimum_size() virtual const 🔗
由用户实现的虚拟方法。返回样式框在绘图时必须遵守的自定义最小大小。默认情况下get_minimum_size()仅考虑内容边距。可以覆盖此方法以添加另一个大小限制。将使用默认行为和此方法的输出的组合,以考虑两个大小。
bool _test_mask(point: Vector2, rect: Rect2) virtual const 🔗
void draw(canvas_item: RID, rect: Rect2) const 🔗
使用由给定RID标识的画布项绘制此样式框。
RID值可以是在现有CanvasItem派生节点上调用的CanvasItem.get_canvas_item()的结果,也可以是直接使用RenderingServer.canvas_item_create()在RenderingServer中创建画布项的结果。
float get_content_margin(margin: Side) const 🔗
返回指定Side的默认边距。
CanvasItem get_current_item_drawn() const 🔗
返回此时处理其CanvasItem.NOTIFICATION_DRAW或CanvasItem._draw()回调的CanvasItem。
float get_margin(margin: Side) const 🔗
返回指定Side的内容边距偏移量。
与Control的边距值不同,正值会向内减小大小。
Vector2 get_minimum_size() const 🔗
返回此样式框可以缩小到的最小大小。
返回样式框的“偏移量”。此辅助函数返回一个等效于Vector2(style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP))的值。
void set_content_margin(margin: Side, offset: float) 🔗
将指定Side的默认值设置为offset像素。
void set_content_margin_all(offset: float) 🔗
将所有边的默认边距设置为offset像素。
bool test_mask(point: Vector2, rect: Rect2) const 🔗
测试矩形中的一个位置,返回它是否通过掩码测试。