2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-02-01 09:03:48 +08:00
<class name= "StyleBoxFlat" inherits= "StyleBox" version= "4.0" >
2017-09-13 04:42:36 +08:00
<brief_description >
2019-12-03 22:46:11 +08:00
Customizable [StyleBox] with a given set of parameters (no texture required).
2017-09-13 04:42:36 +08:00
</brief_description>
<description >
2021-03-01 09:09:10 +08:00
This [StyleBox] can be used to achieve all kinds of looks without the need of a texture. The following properties are customizable:
2018-11-20 17:18:11 +08:00
- Color
- Border width (individual width for each border)
- Rounded corners (individual radius for each corner)
2019-12-03 22:46:11 +08:00
- Shadow (with blur and offset)
2021-03-01 09:09:10 +08:00
Setting corner radius to high values is allowed. As soon as corners overlap, the stylebox will switch to a relative system. Example:
2018-11-20 17:18:11 +08:00
[codeblock]
height = 30
corner_radius_top_left = 50
corner_radius_bottom_left = 100
[/codeblock]
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 [b]never[/b] be more than the height. Result:
[codeblock]
corner_radius_top_left: 10
corner_radius_bottom_left: 20
[/codeblock]
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
</tutorials>
<methods >
2019-06-27 22:10:09 +08:00
<method name= "get_border_width" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "int" />
<argument index= "0" name= "margin" type= "int" enum= "Side" />
2019-06-27 22:10:09 +08:00
<description >
2020-12-23 00:24:29 +08:00
Returns the specified [enum Side]'s border width.
2019-06-27 22:10:09 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "get_border_width_min" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "int" />
2017-09-13 04:42:36 +08:00
<description >
2019-12-03 22:46:11 +08:00
Returns the smallest border width out of all four borders.
2017-09-13 04:42:36 +08:00
</description>
</method>
2019-06-27 22:10:09 +08:00
<method name= "get_corner_radius" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "int" />
<argument index= "0" name= "corner" type= "int" enum= "Corner" />
2019-06-27 22:10:09 +08:00
<description >
2019-12-03 22:46:11 +08:00
Returns the given [code]corner[/code]'s radius. See [enum Corner] for possible values.
2019-06-27 22:10:09 +08:00
</description>
</method>
<method name= "get_expand_margin" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "float" />
<argument index= "0" name= "margin" type= "int" enum= "Side" />
2019-06-27 22:10:09 +08:00
<description >
2020-12-23 00:24:29 +08:00
Returns the size of the specified [enum Side]'s expand margin.
2019-06-27 22:10:09 +08:00
</description>
</method>
<method name= "set_border_width" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
<argument index= "0" name= "margin" type= "int" enum= "Side" />
<argument index= "1" name= "width" type= "int" />
2019-06-27 22:10:09 +08:00
<description >
2020-12-23 00:24:29 +08:00
Sets the specified [enum Side]'s border width to [code]width[/code] pixels.
2019-06-27 22:10:09 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "set_border_width_all" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
<argument index= "0" name= "width" type= "int" />
2017-09-13 04:42:36 +08:00
<description >
2020-12-23 00:24:29 +08:00
Sets the border width to [code]width[/code] pixels for all sides.
2017-09-13 04:42:36 +08:00
</description>
</method>
2019-06-27 22:10:09 +08:00
<method name= "set_corner_radius" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
<argument index= "0" name= "corner" type= "int" enum= "Corner" />
<argument index= "1" name= "radius" type= "int" />
2019-06-27 22:10:09 +08:00
<description >
2019-12-03 22:46:11 +08:00
Sets the corner radius to [code]radius[/code] pixels for the given [code]corner[/code]. See [enum Corner] for possible values.
2019-06-27 22:10:09 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "set_corner_radius_all" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
<argument index= "0" name= "radius" type= "int" />
2017-09-13 04:42:36 +08:00
<description >
2019-12-03 22:46:11 +08:00
Sets the corner radius to [code]radius[/code] pixels for all corners.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "set_corner_radius_individual" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
<argument index= "0" name= "radius_top_left" type= "int" />
<argument index= "1" name= "radius_top_right" type= "int" />
<argument index= "2" name= "radius_bottom_right" type= "int" />
<argument index= "3" name= "radius_bottom_left" type= "int" />
2017-09-13 04:42:36 +08:00
<description >
2019-12-03 22:46:11 +08:00
Sets the corner radius for each corner to [code]radius_top_left[/code], [code]radius_top_right[/code], [code]radius_bottom_right[/code], and [code]radius_bottom_left[/code] pixels.
2017-09-13 04:42:36 +08:00
</description>
</method>
2019-06-27 22:10:09 +08:00
<method name= "set_expand_margin" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
<argument index= "0" name= "margin" type= "int" enum= "Side" />
<argument index= "1" name= "size" type= "float" />
2019-06-27 22:10:09 +08:00
<description >
2020-12-23 00:24:29 +08:00
Sets the expand margin to [code]size[/code] pixels for the specified [enum Side].
2019-06-27 22:10:09 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "set_expand_margin_all" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
<argument index= "0" name= "size" type= "float" />
2017-09-13 04:42:36 +08:00
<description >
2019-12-03 22:46:11 +08:00
Sets the expand margin to [code]size[/code] pixels for all margins.
2017-09-13 04:42:36 +08:00
</description>
</method>
<method name= "set_expand_margin_individual" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
<argument index= "0" name= "size_left" type= "float" />
<argument index= "1" name= "size_top" type= "float" />
<argument index= "2" name= "size_right" type= "float" />
<argument index= "3" name= "size_bottom" type= "float" />
2017-09-13 04:42:36 +08:00
<description >
2019-12-03 22:46:11 +08:00
Sets the expand margin for each margin to [code]size_left[/code], [code]size_top[/code], [code]size_right[/code], and [code]size_bottom[/code] pixels.
2017-09-13 04:42:36 +08:00
</description>
</method>
</methods>
<members >
2019-06-29 18:38:01 +08:00
<member name= "anti_aliasing" type= "bool" setter= "set_anti_aliased" getter= "is_anti_aliased" default= "true" >
2019-06-22 07:04:47 +08:00
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.
2021-09-15 00:47:45 +08:00
[b]Note:[/b] When using beveled corners with 45-degree angles ([member corner_detail] = 1), it is recommended to set [member anti_aliasing] to [code]false[/code] to ensure crisp visuals and avoid possible visual glitches.
2017-09-13 04:42:36 +08:00
</member>
2021-08-11 05:37:06 +08:00
<member name= "anti_aliasing_size" type= "float" setter= "set_aa_size" getter= "get_aa_size" default= "0.625" >
2017-09-13 04:42:36 +08:00
This changes the size of the faded ring. Higher values can be used to achieve a "blurry" effect.
</member>
2019-09-25 01:45:03 +08:00
<member name= "bg_color" type= "Color" setter= "set_bg_color" getter= "get_bg_color" default= "Color(0.6, 0.6, 0.6, 1)" >
2017-09-13 04:42:36 +08:00
The background color of the stylebox.
</member>
2019-06-29 18:38:01 +08:00
<member name= "border_blend" type= "bool" setter= "set_border_blend" getter= "get_border_blend" default= "false" >
2019-06-22 07:04:47 +08:00
If [code]true[/code], the border will fade into the background color.
2017-09-13 04:42:36 +08:00
</member>
2019-09-25 01:45:03 +08:00
<member name= "border_color" type= "Color" setter= "set_border_color" getter= "get_border_color" default= "Color(0.8, 0.8, 0.8, 1)" >
2017-09-13 04:42:36 +08:00
Sets the color of the border.
</member>
2019-06-29 18:38:01 +08:00
<member name= "border_width_bottom" type= "int" setter= "set_border_width" getter= "get_border_width" default= "0" >
2017-09-13 04:42:36 +08:00
Border width for the bottom border.
</member>
2019-06-29 18:38:01 +08:00
<member name= "border_width_left" type= "int" setter= "set_border_width" getter= "get_border_width" default= "0" >
2017-09-13 04:42:36 +08:00
Border width for the left border.
</member>
2019-06-29 18:38:01 +08:00
<member name= "border_width_right" type= "int" setter= "set_border_width" getter= "get_border_width" default= "0" >
2017-09-13 04:42:36 +08:00
Border width for the right border.
</member>
2019-06-29 18:38:01 +08:00
<member name= "border_width_top" type= "int" setter= "set_border_width" getter= "get_border_width" default= "0" >
2017-09-13 04:42:36 +08:00
Border width for the top border.
</member>
2019-06-29 18:38:01 +08:00
<member name= "corner_detail" type= "int" setter= "set_corner_detail" getter= "get_corner_detail" default= "8" >
2021-03-01 09:09:10 +08:00
This sets the number 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 ([method set_corner_radius_all]) into account.
For corner radii less than 10, [code]4[/code] or [code]5[/code] should be enough. For corner radii less than 30, values between [code]8[/code] and [code]12[/code] should be enough.
2020-01-26 02:56:40 +08:00
A corner detail of [code]1[/code] will result in chamfered corners instead of rounded corners, which is useful for some artistic effects.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "corner_radius_bottom_left" type= "int" setter= "set_corner_radius" getter= "get_corner_radius" default= "0" >
2019-06-22 07:04:47 +08:00
The bottom-left corner's radius. If [code]0[/code], the corner is not rounded.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "corner_radius_bottom_right" type= "int" setter= "set_corner_radius" getter= "get_corner_radius" default= "0" >
2019-06-22 07:04:47 +08:00
The bottom-right corner's radius. If [code]0[/code], the corner is not rounded.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "corner_radius_top_left" type= "int" setter= "set_corner_radius" getter= "get_corner_radius" default= "0" >
2019-06-22 07:04:47 +08:00
The top-left corner's radius. If [code]0[/code], the corner is not rounded.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "corner_radius_top_right" type= "int" setter= "set_corner_radius" getter= "get_corner_radius" default= "0" >
2019-06-22 07:04:47 +08:00
The top-right corner's radius. If [code]0[/code], the corner is not rounded.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "draw_center" type= "bool" setter= "set_draw_center" getter= "is_draw_center_enabled" default= "true" >
2019-06-22 07:04:47 +08:00
Toggles drawing of the inner part of the stylebox.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "expand_margin_bottom" type= "float" setter= "set_expand_margin" getter= "get_expand_margin" default= "0.0" >
2019-06-22 07:04:47 +08:00
Expands the stylebox outside of the control rect on the bottom edge. Useful in combination with [member border_width_bottom] to draw a border outside the control rect.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "expand_margin_left" type= "float" setter= "set_expand_margin" getter= "get_expand_margin" default= "0.0" >
2019-06-22 07:04:47 +08:00
Expands the stylebox outside of the control rect on the left edge. Useful in combination with [member border_width_left] to draw a border outside the control rect.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "expand_margin_right" type= "float" setter= "set_expand_margin" getter= "get_expand_margin" default= "0.0" >
2019-06-22 07:04:47 +08:00
Expands the stylebox outside of the control rect on the right edge. Useful in combination with [member border_width_right] to draw a border outside the control rect.
2017-09-13 04:42:36 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "expand_margin_top" type= "float" setter= "set_expand_margin" getter= "get_expand_margin" default= "0.0" >
2019-06-22 07:04:47 +08:00
Expands the stylebox outside of the control rect on the top edge. Useful in combination with [member border_width_top] to draw a border outside the control rect.
2017-09-13 04:42:36 +08:00
</member>
2019-09-25 01:45:03 +08:00
<member name= "shadow_color" type= "Color" setter= "set_shadow_color" getter= "get_shadow_color" default= "Color(0, 0, 0, 0.6)" >
2019-06-22 07:04:47 +08:00
The color of the shadow. This has no effect if [member shadow_size] is lower than 1.
2017-09-13 04:42:36 +08:00
</member>
2019-09-25 01:45:03 +08:00
<member name= "shadow_offset" type= "Vector2" setter= "set_shadow_offset" getter= "get_shadow_offset" default= "Vector2(0, 0)" >
2019-04-03 21:25:44 +08:00
The shadow offset in pixels. Adjusts the position of the shadow relatively to the stylebox.
</member>
2019-06-29 18:38:01 +08:00
<member name= "shadow_size" type= "int" setter= "set_shadow_size" getter= "get_shadow_size" default= "0" >
2019-04-15 20:49:41 +08:00
The shadow size in pixels.
</member>
2017-09-13 04:42:36 +08:00
</members>
</class>