StyleBoxFlat

Inherits: StyleBox < Resource < Reference < Object

可通过一系列参数自定义的 StyleBox(无需纹理) 。

描述

这个 StyleBox 可以用来实现各种外观,无需纹理。以下属性是可定制的:

  • 颜色

  • 边框宽度(每个边框的单独宽度)

  • 圆角(每个角的单独半径)

  • 阴影(带有模糊和偏移)

允许将圆角半径设置为很高的值。两角重叠时,样式盒将切换到相对系统。例子:

  1. height = 30
  2. corner_radius_top_left = 50
  3. corner_radius_bottom_left = 100

相对系统现在将采用两个左角的 1:2 比率来计算实际角宽度。添加的两个角永远不会超过高度。结果:

  1. corner_radius_top_left: 10
  2. corner_radius_bottom_left: 20

属性

bool

anti_aliasing

true

float

anti_aliasing_size

0.625

Color

bg_color

Color( 0.6, 0.6, 0.6, 1 )

bool

border_blend

false

Color

border_color

Color( 0.8, 0.8, 0.8, 1 )

int

border_width_bottom

0

int

border_width_left

0

int

border_width_right

0

int

border_width_top

0

int

corner_detail

8

int

corner_radius_bottom_left

0

int

corner_radius_bottom_right

0

int

corner_radius_top_left

0

int

corner_radius_top_right

0

bool

draw_center

true

float

expand_margin_bottom

0.0

float

expand_margin_left

0.0

float

expand_margin_right

0.0

float

expand_margin_top

0.0

Color

shadow_color

Color( 0, 0, 0, 0.6 )

Vector2

shadow_offset

Vector2( 0, 0 )

int

shadow_size

0

方法

int

get_border_width ( Margin margin ) const

int

get_border_width_min ( ) const

int

get_corner_radius ( Corner corner ) const

float

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 )

属性说明

Default

true

Setter

set_anti_aliased(value)

Getter

is_anti_aliased()

抗锯齿会在边缘周围绘制一个渐变到透明的小环。因此边缘看起来会更加平滑。这仅在使用圆角时才明显。

注意: 使用 45 度倒角(corner_detail = 1)时,建议将 anti_aliasing 设为 false,这样可以保证画面锐利、避免一些显示问题。


  • float anti_aliasing_size

Default

0.625

Setter

set_aa_size(value)

Getter

get_aa_size()

这将改变褪色环的大小。更高的数值可以用来实现 “模糊 “的效果。


Default

Color( 0.6, 0.6, 0.6, 1 )

Setter

set_bg_color(value)

Getter

get_bg_color()

StyleBox的背景颜色。


Default

false

Setter

set_border_blend(value)

Getter

get_border_blend()

如果true,边框会淡入背景色。


Default

Color( 0.8, 0.8, 0.8, 1 )

Setter

set_border_color(value)

Getter

get_border_color()

设置边框的颜色。


  • int border_width_bottom

Default

0

Setter

set_border_width(value)

Getter

get_border_width()

底部边框的宽度。


  • int border_width_left

Default

0

Setter

set_border_width(value)

Getter

get_border_width()

左边框的宽度。


  • int border_width_right

Default

0

Setter

set_border_width(value)

Getter

get_border_width()

右边框的宽度。


  • int border_width_top

Default

0

Setter

set_border_width(value)

Getter

get_border_width()

顶部边框的宽度。


  • int corner_detail

Default

8

Setter

set_corner_detail(value)

Getter

get_corner_detail()

设置用于每个角的顶点数。更高的值生成更圆的角,但需要更多的处理计算。选择值时,应考虑角半径(set_corner_radius_all)。

对于小于 10 的角半径,45 应该就足够。对于小于 30 的角半径,812 之间的值应该足够。

1的角细节会导致倒角而不是圆角,这对于某些艺术效果很有用。


  • int corner_radius_bottom_left

Default

0

Setter

set_corner_radius(value)

Getter

get_corner_radius()

左下角的半径。如果0,则角不圆滑。


  • int corner_radius_bottom_right

Default

0

Setter

set_corner_radius(value)

Getter

get_corner_radius()

右下角的半径。如果0,则角不圆滑。


  • int corner_radius_top_left

Default

0

Setter

set_corner_radius(value)

Getter

get_corner_radius()

左上角的半径。如果0,则角不圆滑。


  • int corner_radius_top_right

Default

0

Setter

set_corner_radius(value)

Getter

get_corner_radius()

右上角的半径。如果0,则角不圆滑。


Default

true

Setter

set_draw_center(value)

Getter

is_draw_center_enabled()

切换绘制StyleBox的内部部分。


  • float expand_margin_bottom

Default

0.0

Setter

set_expand_margin(value)

Getter

get_expand_margin()

在底部边缘的控件矩形之外扩展StyleBox。与 border_width_bottom 结合使用可在控件 rect 外绘制边框。


  • float expand_margin_left

Default

0.0

Setter

set_expand_margin(value)

Getter

get_expand_margin()

在左边缘的控件矩形之外扩展StyleBox。与 border_width_left 结合使用可在控件矩形外绘制边框。


  • float expand_margin_right

Default

0.0

Setter

set_expand_margin(value)

Getter

get_expand_margin()

在右边缘的控件矩形之外扩展StyleBox。与 border_width_right 结合使用可在控件矩形外绘制边框。


Default

0.0

Setter

set_expand_margin(value)

Getter

get_expand_margin()

在顶部边缘的控件矩形之外扩展StyleBox。与 border_width_top 结合使用可在控件 rect 外绘制边框。


Default

Color( 0, 0, 0, 0.6 )

Setter

set_shadow_color(value)

Getter

get_shadow_color()

阴影的颜色。如果 shadow_size 小于 1,这将不起作用。


Default

Vector2( 0, 0 )

Setter

set_shadow_offset(value)

Getter

get_shadow_offset()

以像素为单位的阴影偏移。相对于StyleBox调整阴影的位置。


  • int shadow_size

Default

0

Setter

set_shadow_size(value)

Getter

get_shadow_size()

以像素为单位的阴影大小。

方法说明

  • int get_border_width ( Margin margin ) const

返回给定的 margin 的边框宽度。有关可能的值,请参阅 Margin


  • int get_border_width_min ( ) const

返回所有四个边界中最小的边框宽度。


  • int get_corner_radius ( Corner corner ) const

返回给定的 corner 的半径。有关可能的值,请参阅 Corner


返回给定的margin的扩展边距的大小。可能的值见Margin


  • void set_border_width ( Margin margin, int width )

用给定的margin设置边界宽度为width像素。可能的值见Margin


  • void set_border_width_all ( int width )

将所有边距的边框宽度设置为 width 像素。


  • void set_corner_radius ( Corner corner, int radius )

用给定的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_leftradius_top_rightradius_bottom_rightradius_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_leftsize_topsize_rightsize_bottom 像素。