StyleBoxFlat
Inherits: StyleBox < Resource < Reference < Object
可通过一系列参数自定义的 StyleBox(无需纹理) 。
描述
这个 StyleBox 可以用来实现各种外观,无需纹理。以下属性是可定制的:
颜色
边框宽度(每个边框的单独宽度)
圆角(每个角的单独半径)
阴影(带有模糊和偏移)
允许将圆角半径设置为很高的值。两角重叠时,样式盒将切换到相对系统。例子:
height = 30
corner_radius_top_left = 50
corner_radius_bottom_left = 100
相对系统现在将采用两个左角的 1:2 比率来计算实际角宽度。添加的两个角永远不会超过高度。结果:
corner_radius_top_left: 10
corner_radius_bottom_left: 20
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
方法
get_border_width ( Margin margin ) const | |
get_border_width_min ( ) const | |
get_corner_radius ( Corner corner ) const | |
get_expand_margin ( Margin margin ) const | |
void | set_border_width ( Margin margin, int width ) |
void | set_border_width_all ( int width ) |
void | set_corner_radius ( Corner corner, int radius ) |
void | set_corner_radius_all ( int radius ) |
void | set_corner_radius_individual ( int radius_top_left, int radius_top_right, int radius_bottom_right, int radius_bottom_left ) |
void | set_expand_margin ( Margin margin, float size ) |
void | set_expand_margin_all ( float size ) |
void | set_expand_margin_individual ( float size_left, float size_top, float size_right, float size_bottom ) |
属性说明
- bool anti_aliasing
Default |
|
Setter | set_anti_aliased(value) |
Getter | is_anti_aliased() |
抗锯齿会在边缘周围绘制一个渐变到透明的小环。因此边缘看起来会更加平滑。这仅在使用圆角时才明显。
注意: 使用 45 度倒角(corner_detail = 1)时,建议将 anti_aliasing 设为 false
,这样可以保证画面锐利、避免一些显示问题。
- float anti_aliasing_size
Default |
|
Setter | set_aa_size(value) |
Getter | get_aa_size() |
这将改变褪色环的大小。更高的数值可以用来实现 “模糊 “的效果。
- Color bg_color
Default |
|
Setter | set_bg_color(value) |
Getter | get_bg_color() |
StyleBox的背景颜色。
- bool border_blend
Default |
|
Setter | set_border_blend(value) |
Getter | get_border_blend() |
如果true
,边框会淡入背景色。
- Color border_color
Default |
|
Setter | set_border_color(value) |
Getter | get_border_color() |
设置边框的颜色。
- int border_width_bottom
Default |
|
Setter | set_border_width(value) |
Getter | get_border_width() |
底部边框的宽度。
- int border_width_left
Default |
|
Setter | set_border_width(value) |
Getter | get_border_width() |
左边框的宽度。
- int border_width_right
Default |
|
Setter | set_border_width(value) |
Getter | get_border_width() |
右边框的宽度。
- int border_width_top
Default |
|
Setter | set_border_width(value) |
Getter | get_border_width() |
顶部边框的宽度。
- int corner_detail
Default |
|
Setter | set_corner_detail(value) |
Getter | get_corner_detail() |
设置用于每个角的顶点数。更高的值生成更圆的角,但需要更多的处理计算。选择值时,应考虑角半径(set_corner_radius_all)。
对于小于 10 的角半径,4
或 5
应该就足够。对于小于 30 的角半径,8
和 12
之间的值应该足够。
1
的角细节会导致倒角而不是圆角,这对于某些艺术效果很有用。
- int corner_radius_bottom_left
Default |
|
Setter | set_corner_radius(value) |
Getter | get_corner_radius() |
左下角的半径。如果0
,则角不圆滑。
- int corner_radius_bottom_right
Default |
|
Setter | set_corner_radius(value) |
Getter | get_corner_radius() |
右下角的半径。如果0
,则角不圆滑。
- int corner_radius_top_left
Default |
|
Setter | set_corner_radius(value) |
Getter | get_corner_radius() |
左上角的半径。如果0
,则角不圆滑。
- int corner_radius_top_right
Default |
|
Setter | set_corner_radius(value) |
Getter | get_corner_radius() |
右上角的半径。如果0
,则角不圆滑。
- bool draw_center
Default |
|
Setter | set_draw_center(value) |
Getter | is_draw_center_enabled() |
切换绘制StyleBox的内部部分。
- float expand_margin_bottom
Default |
|
Setter | set_expand_margin(value) |
Getter | get_expand_margin() |
在底部边缘的控件矩形之外扩展StyleBox。与 border_width_bottom 结合使用可在控件 rect 外绘制边框。
- float expand_margin_left
Default |
|
Setter | set_expand_margin(value) |
Getter | get_expand_margin() |
在左边缘的控件矩形之外扩展StyleBox。与 border_width_left 结合使用可在控件矩形外绘制边框。
- float expand_margin_right
Default |
|
Setter | set_expand_margin(value) |
Getter | get_expand_margin() |
在右边缘的控件矩形之外扩展StyleBox。与 border_width_right 结合使用可在控件矩形外绘制边框。
- float expand_margin_top
Default |
|
Setter | set_expand_margin(value) |
Getter | get_expand_margin() |
在顶部边缘的控件矩形之外扩展StyleBox。与 border_width_top 结合使用可在控件 rect 外绘制边框。
- Color shadow_color
Default |
|
Setter | set_shadow_color(value) |
Getter | get_shadow_color() |
阴影的颜色。如果 shadow_size 小于 1,这将不起作用。
- Vector2 shadow_offset
Default |
|
Setter | set_shadow_offset(value) |
Getter | get_shadow_offset() |
以像素为单位的阴影偏移。相对于StyleBox调整阴影的位置。
- int shadow_size
Default |
|
Setter | set_shadow_size(value) |
Getter | get_shadow_size() |
以像素为单位的阴影大小。
方法说明
返回给定的 margin
的边框宽度。有关可能的值,请参阅 Margin。
- int get_border_width_min ( ) const
返回所有四个边界中最小的边框宽度。
返回给定的 corner
的半径。有关可能的值,请参阅 Corner。
返回给定的margin
的扩展边距的大小。可能的值见Margin。
用给定的margin
设置边界宽度为width
像素。可能的值见Margin。
- void set_border_width_all ( int width )
将所有边距的边框宽度设置为 width
像素。
用给定的corner
设置角的半径为radius
像素。可能的值见Corner。
- void set_corner_radius_all ( int radius )
将所有角的角半径设置为 radius
像素。
- void set_corner_radius_individual ( int radius_top_left, int radius_top_right, int radius_bottom_right, int radius_bottom_left )
将每个角的角半径设置为 radius_top_left
、radius_top_right
、radius_bottom_right
和 radius_bottom_left
像素。
将给定的 margin
的扩展边距设置为 size
像素。有关可能的值,请参阅 Margin。
- void set_expand_margin_all ( float size )
将所有边距的扩展边距设置为 size
像素。
- void set_expand_margin_individual ( float size_left, float size_top, float size_right, float size_bottom )
将每个边距的扩展边距设置为 size_left
、size_top
、size_right
和 size_bottom
像素。