github_url: | hide |
---|
Inherits: :ref:`StyleBox<class_StyleBox>` < :ref:`Resource<class_Resource>` < :ref:`Reference<class_Reference>` < :ref:`Object<class_Object>`
Customizable :ref:`StyleBox<class_StyleBox>` with a given set of parameters (no texture required).
This :ref:`StyleBox<class_StyleBox>` can be used to achieve all kinds of looks without the need of a texture. Those properties are customizable:
- Color
- Border width (individual width for each border)
- Rounded corners (individual radius for each corner)
- Shadow (with blur and offset)
Setting corner radius to high values is allowed. As soon as corners would overlap, the stylebox will switch to a relative system. Example:
height = 30 corner_radius_top_left = 50 corner_radius_bottom_left = 100
The relative system now would take the 1:2 ratio of the two left corners to calculate the actual corner width. Both corners added will never be more than the height. Result:
corner_radius_top_left: 10 corner_radius_bottom_left: 20
- :ref:`bool<class_bool>` anti_aliasing
Default | true |
Setter | set_anti_aliased(value) |
Getter | is_anti_aliased() |
Antialiasing draws a small ring around the edges, which fades to transparency. As a result, edges look much smoother. This is only noticeable when using rounded corners.
- :ref:`int<class_int>` anti_aliasing_size
Default | 1 |
Setter | set_aa_size(value) |
Getter | get_aa_size() |
This changes the size of the faded ring. Higher values can be used to achieve a "blurry" effect.
- :ref:`Color<class_Color>` bg_color
Default | Color( 0.6, 0.6, 0.6, 1 ) |
Setter | set_bg_color(value) |
Getter | get_bg_color() |
The background color of the stylebox.
- :ref:`bool<class_bool>` border_blend
Default | false |
Setter | set_border_blend(value) |
Getter | get_border_blend() |
If true
, the border will fade into the background color.
- :ref:`Color<class_Color>` border_color
Default | Color( 0.8, 0.8, 0.8, 1 ) |
Setter | set_border_color(value) |
Getter | get_border_color() |
Sets the color of the border.
- :ref:`int<class_int>` border_width_bottom
Default | 0 |
Setter | set_border_width(value) |
Getter | get_border_width() |
Border width for the bottom border.
- :ref:`int<class_int>` border_width_left
Default | 0 |
Setter | set_border_width(value) |
Getter | get_border_width() |
Border width for the left border.
- :ref:`int<class_int>` border_width_right
Default | 0 |
Setter | set_border_width(value) |
Getter | get_border_width() |
Border width for the right border.
- :ref:`int<class_int>` border_width_top
Default | 0 |
Setter | set_border_width(value) |
Getter | get_border_width() |
Border width for the top border.
- :ref:`int<class_int>` corner_detail
Default | 8 |
Setter | set_corner_detail(value) |
Getter | get_corner_detail() |
This sets the amount of vertices used for each corner. Higher values result in rounder corners but take more processing power to compute. When choosing a value, you should take the corner radius (:ref:`set_corner_radius_all<class_StyleBoxFlat_method_set_corner_radius_all>`) into account.
For corner radii smaller than 10, 4
or 5
should be enough. For corner radii smaller than 30, values between 8
and 12
should be enough.
A corner detail of 1
will result in chamfered corners instead of rounded corners, which is useful for some artistic effects.
- :ref:`int<class_int>` corner_radius_bottom_left
Default | 0 |
Setter | set_corner_radius(value) |
Getter | get_corner_radius() |
The bottom-left corner's radius. If 0
, the corner is not rounded.
- :ref:`int<class_int>` corner_radius_bottom_right
Default | 0 |
Setter | set_corner_radius(value) |
Getter | get_corner_radius() |
The bottom-right corner's radius. If 0
, the corner is not rounded.
- :ref:`int<class_int>` corner_radius_top_left
Default | 0 |
Setter | set_corner_radius(value) |
Getter | get_corner_radius() |
The top-left corner's radius. If 0
, the corner is not rounded.
- :ref:`int<class_int>` corner_radius_top_right
Default | 0 |
Setter | set_corner_radius(value) |
Getter | get_corner_radius() |
The top-right corner's radius. If 0
, the corner is not rounded.
- :ref:`bool<class_bool>` draw_center
Default | true |
Setter | set_draw_center(value) |
Getter | is_draw_center_enabled() |
Toggles drawing of the inner part of the stylebox.
- :ref:`float<class_float>` expand_margin_bottom
Default | 0.0 |
Setter | set_expand_margin(value) |
Getter | get_expand_margin() |
Expands the stylebox outside of the control rect on the bottom edge. Useful in combination with :ref:`border_width_bottom<class_StyleBoxFlat_property_border_width_bottom>` to draw a border outside the control rect.
- :ref:`float<class_float>` expand_margin_left
Default | 0.0 |
Setter | set_expand_margin(value) |
Getter | get_expand_margin() |
Expands the stylebox outside of the control rect on the left edge. Useful in combination with :ref:`border_width_left<class_StyleBoxFlat_property_border_width_left>` to draw a border outside the control rect.
- :ref:`float<class_float>` expand_margin_right
Default | 0.0 |
Setter | set_expand_margin(value) |
Getter | get_expand_margin() |
Expands the stylebox outside of the control rect on the right edge. Useful in combination with :ref:`border_width_right<class_StyleBoxFlat_property_border_width_right>` to draw a border outside the control rect.
- :ref:`float<class_float>` expand_margin_top
Default | 0.0 |
Setter | set_expand_margin(value) |
Getter | get_expand_margin() |
Expands the stylebox outside of the control rect on the top edge. Useful in combination with :ref:`border_width_top<class_StyleBoxFlat_property_border_width_top>` to draw a border outside the control rect.
- :ref:`Color<class_Color>` shadow_color
Default | Color( 0, 0, 0, 0.6 ) |
Setter | set_shadow_color(value) |
Getter | get_shadow_color() |
The color of the shadow. This has no effect if :ref:`shadow_size<class_StyleBoxFlat_property_shadow_size>` is lower than 1.
- :ref:`Vector2<class_Vector2>` shadow_offset
Default | Vector2( 0, 0 ) |
Setter | set_shadow_offset(value) |
Getter | get_shadow_offset() |
The shadow offset in pixels. Adjusts the position of the shadow relatively to the stylebox.
- :ref:`int<class_int>` shadow_size
Default | 0 |
Setter | set_shadow_size(value) |
Getter | get_shadow_size() |
The shadow size in pixels.
- :ref:`int<class_int>` get_border_width ( :ref:`Margin<enum_@GlobalScope_Margin>` margin ) const
Returns the given margin
's border width. See :ref:`Margin<enum_@GlobalScope_Margin>` for possible values.
- :ref:`int<class_int>` get_border_width_min ( ) const
Returns the smallest border width out of all four borders.
- :ref:`int<class_int>` get_corner_radius ( :ref:`Corner<enum_@GlobalScope_Corner>` corner ) const
Returns the given corner
's radius. See :ref:`Corner<enum_@GlobalScope_Corner>` for possible values.
- :ref:`float<class_float>` get_expand_margin ( :ref:`Margin<enum_@GlobalScope_Margin>` margin ) const
Returns the size of the given margin
's expand margin. See :ref:`Margin<enum_@GlobalScope_Margin>` for possible values.
- void set_border_width ( :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` width )
Sets the border width to width
pixels for the given margin
. See :ref:`Margin<enum_@GlobalScope_Margin>` for possible values.
- void set_border_width_all ( :ref:`int<class_int>` width )
Sets the border width to width
pixels for all margins.
- void set_corner_radius ( :ref:`Corner<enum_@GlobalScope_Corner>` corner, :ref:`int<class_int>` radius )
Sets the corner radius to radius
pixels for the given corner
. See :ref:`Corner<enum_@GlobalScope_Corner>` for possible values.
- void set_corner_radius_all ( :ref:`int<class_int>` radius )
Sets the corner radius to radius
pixels for all corners.
- void set_corner_radius_individual ( :ref:`int<class_int>` radius_top_left, :ref:`int<class_int>` radius_top_right, :ref:`int<class_int>` radius_bottom_right, :ref:`int<class_int>` radius_bottom_left )
Sets the corner radius for each corner to radius_top_left
, radius_top_right
, radius_bottom_right
, and radius_bottom_left
pixels.
- void set_expand_margin ( :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`float<class_float>` size )
Sets the expand margin to size
pixels for the given margin
. See :ref:`Margin<enum_@GlobalScope_Margin>` for possible values.
- void set_expand_margin_all ( :ref:`float<class_float>` size )
Sets the expand margin to size
pixels for all margins.
- void set_expand_margin_individual ( :ref:`float<class_float>` size_left, :ref:`float<class_float>` size_top, :ref:`float<class_float>` size_right, :ref:`float<class_float>` size_bottom )
Sets the expand margin for each margin to size_left
, size_top
, size_right
, and size_bottom
pixels.