mirror of
https://github.com/godotengine/godot.git
synced 2024-12-21 10:25:24 +08:00
192 lines
10 KiB
XML
192 lines
10 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="StyleBoxFlat" inherits="StyleBox" version="4.0">
|
|
<brief_description>
|
|
Customizable [StyleBox] with a given set of parameters (no texture required).
|
|
</brief_description>
|
|
<description>
|
|
This [StyleBox] can be used to achieve all kinds of looks without the need of a texture. The following 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 overlap, the stylebox will switch to a relative system. Example:
|
|
[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]
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="get_border_width" qualifiers="const">
|
|
<return type="int" />
|
|
<argument index="0" name="margin" type="int" enum="Side" />
|
|
<description>
|
|
Returns the specified [enum Side]'s border width.
|
|
</description>
|
|
</method>
|
|
<method name="get_border_width_min" qualifiers="const">
|
|
<return type="int" />
|
|
<description>
|
|
Returns the smallest border width out of all four borders.
|
|
</description>
|
|
</method>
|
|
<method name="get_corner_radius" qualifiers="const">
|
|
<return type="int" />
|
|
<argument index="0" name="corner" type="int" enum="Corner" />
|
|
<description>
|
|
Returns the given [code]corner[/code]'s radius. See [enum Corner] for possible values.
|
|
</description>
|
|
</method>
|
|
<method name="get_expand_margin" qualifiers="const">
|
|
<return type="float" />
|
|
<argument index="0" name="margin" type="int" enum="Side" />
|
|
<description>
|
|
Returns the size of the specified [enum Side]'s expand margin.
|
|
</description>
|
|
</method>
|
|
<method name="set_border_width">
|
|
<return type="void" />
|
|
<argument index="0" name="margin" type="int" enum="Side" />
|
|
<argument index="1" name="width" type="int" />
|
|
<description>
|
|
Sets the specified [enum Side]'s border width to [code]width[/code] pixels.
|
|
</description>
|
|
</method>
|
|
<method name="set_border_width_all">
|
|
<return type="void" />
|
|
<argument index="0" name="width" type="int" />
|
|
<description>
|
|
Sets the border width to [code]width[/code] pixels for all sides.
|
|
</description>
|
|
</method>
|
|
<method name="set_corner_radius">
|
|
<return type="void" />
|
|
<argument index="0" name="corner" type="int" enum="Corner" />
|
|
<argument index="1" name="radius" type="int" />
|
|
<description>
|
|
Sets the corner radius to [code]radius[/code] pixels for the given [code]corner[/code]. See [enum Corner] for possible values.
|
|
</description>
|
|
</method>
|
|
<method name="set_corner_radius_all">
|
|
<return type="void" />
|
|
<argument index="0" name="radius" type="int" />
|
|
<description>
|
|
Sets the corner radius to [code]radius[/code] pixels for all corners.
|
|
</description>
|
|
</method>
|
|
<method name="set_corner_radius_individual">
|
|
<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" />
|
|
<description>
|
|
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.
|
|
</description>
|
|
</method>
|
|
<method name="set_expand_margin">
|
|
<return type="void" />
|
|
<argument index="0" name="margin" type="int" enum="Side" />
|
|
<argument index="1" name="size" type="float" />
|
|
<description>
|
|
Sets the expand margin to [code]size[/code] pixels for the specified [enum Side].
|
|
</description>
|
|
</method>
|
|
<method name="set_expand_margin_all">
|
|
<return type="void" />
|
|
<argument index="0" name="size" type="float" />
|
|
<description>
|
|
Sets the expand margin to [code]size[/code] pixels for all margins.
|
|
</description>
|
|
</method>
|
|
<method name="set_expand_margin_individual">
|
|
<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" />
|
|
<description>
|
|
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.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="anti_aliasing" type="bool" setter="set_anti_aliased" getter="is_anti_aliased" default="true">
|
|
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.
|
|
[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.
|
|
</member>
|
|
<member name="anti_aliasing_size" type="float" setter="set_aa_size" getter="get_aa_size" default="0.625">
|
|
This changes the size of the faded ring. Higher values can be used to achieve a "blurry" effect.
|
|
</member>
|
|
<member name="bg_color" type="Color" setter="set_bg_color" getter="get_bg_color" default="Color(0.6, 0.6, 0.6, 1)">
|
|
The background color of the stylebox.
|
|
</member>
|
|
<member name="border_blend" type="bool" setter="set_border_blend" getter="get_border_blend" default="false">
|
|
If [code]true[/code], the border will fade into the background color.
|
|
</member>
|
|
<member name="border_color" type="Color" setter="set_border_color" getter="get_border_color" default="Color(0.8, 0.8, 0.8, 1)">
|
|
Sets the color of the border.
|
|
</member>
|
|
<member name="border_width_bottom" type="int" setter="set_border_width" getter="get_border_width" default="0">
|
|
Border width for the bottom border.
|
|
</member>
|
|
<member name="border_width_left" type="int" setter="set_border_width" getter="get_border_width" default="0">
|
|
Border width for the left border.
|
|
</member>
|
|
<member name="border_width_right" type="int" setter="set_border_width" getter="get_border_width" default="0">
|
|
Border width for the right border.
|
|
</member>
|
|
<member name="border_width_top" type="int" setter="set_border_width" getter="get_border_width" default="0">
|
|
Border width for the top border.
|
|
</member>
|
|
<member name="corner_detail" type="int" setter="set_corner_detail" getter="get_corner_detail" default="8">
|
|
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.
|
|
A corner detail of [code]1[/code] will result in chamfered corners instead of rounded corners, which is useful for some artistic effects.
|
|
</member>
|
|
<member name="corner_radius_bottom_left" type="int" setter="set_corner_radius" getter="get_corner_radius" default="0">
|
|
The bottom-left corner's radius. If [code]0[/code], the corner is not rounded.
|
|
</member>
|
|
<member name="corner_radius_bottom_right" type="int" setter="set_corner_radius" getter="get_corner_radius" default="0">
|
|
The bottom-right corner's radius. If [code]0[/code], the corner is not rounded.
|
|
</member>
|
|
<member name="corner_radius_top_left" type="int" setter="set_corner_radius" getter="get_corner_radius" default="0">
|
|
The top-left corner's radius. If [code]0[/code], the corner is not rounded.
|
|
</member>
|
|
<member name="corner_radius_top_right" type="int" setter="set_corner_radius" getter="get_corner_radius" default="0">
|
|
The top-right corner's radius. If [code]0[/code], the corner is not rounded.
|
|
</member>
|
|
<member name="draw_center" type="bool" setter="set_draw_center" getter="is_draw_center_enabled" default="true">
|
|
Toggles drawing of the inner part of the stylebox.
|
|
</member>
|
|
<member name="expand_margin_bottom" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
|
|
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.
|
|
</member>
|
|
<member name="expand_margin_left" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
|
|
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.
|
|
</member>
|
|
<member name="expand_margin_right" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
|
|
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.
|
|
</member>
|
|
<member name="expand_margin_top" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
|
|
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.
|
|
</member>
|
|
<member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color" default="Color(0, 0, 0, 0.6)">
|
|
The color of the shadow. This has no effect if [member shadow_size] is lower than 1.
|
|
</member>
|
|
<member name="shadow_offset" type="Vector2" setter="set_shadow_offset" getter="get_shadow_offset" default="Vector2(0, 0)">
|
|
The shadow offset in pixels. Adjusts the position of the shadow relatively to the stylebox.
|
|
</member>
|
|
<member name="shadow_size" type="int" setter="set_shadow_size" getter="get_shadow_size" default="0">
|
|
The shadow size in pixels.
|
|
</member>
|
|
</members>
|
|
</class>
|