Skip to content

Latest commit

 

History

History
575 lines (393 loc) · 29.9 KB

class_styleboxflat.rst

File metadata and controls

575 lines (393 loc) · 29.9 KB
github_url:hide

StyleBoxFlat

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).

Description

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

Properties

:ref:`bool<class_bool>` :ref:`anti_aliasing<class_StyleBoxFlat_property_anti_aliasing>` true
:ref:`int<class_int>` :ref:`anti_aliasing_size<class_StyleBoxFlat_property_anti_aliasing_size>` 1
:ref:`Color<class_Color>` :ref:`bg_color<class_StyleBoxFlat_property_bg_color>` Color( 0.6, 0.6, 0.6, 1 )
:ref:`bool<class_bool>` :ref:`border_blend<class_StyleBoxFlat_property_border_blend>` false
:ref:`Color<class_Color>` :ref:`border_color<class_StyleBoxFlat_property_border_color>` Color( 0.8, 0.8, 0.8, 1 )
:ref:`int<class_int>` :ref:`border_width_bottom<class_StyleBoxFlat_property_border_width_bottom>` 0
:ref:`int<class_int>` :ref:`border_width_left<class_StyleBoxFlat_property_border_width_left>` 0
:ref:`int<class_int>` :ref:`border_width_right<class_StyleBoxFlat_property_border_width_right>` 0
:ref:`int<class_int>` :ref:`border_width_top<class_StyleBoxFlat_property_border_width_top>` 0
:ref:`int<class_int>` :ref:`corner_detail<class_StyleBoxFlat_property_corner_detail>` 8
:ref:`int<class_int>` :ref:`corner_radius_bottom_left<class_StyleBoxFlat_property_corner_radius_bottom_left>` 0
:ref:`int<class_int>` :ref:`corner_radius_bottom_right<class_StyleBoxFlat_property_corner_radius_bottom_right>` 0
:ref:`int<class_int>` :ref:`corner_radius_top_left<class_StyleBoxFlat_property_corner_radius_top_left>` 0
:ref:`int<class_int>` :ref:`corner_radius_top_right<class_StyleBoxFlat_property_corner_radius_top_right>` 0
:ref:`bool<class_bool>` :ref:`draw_center<class_StyleBoxFlat_property_draw_center>` true
:ref:`float<class_float>` :ref:`expand_margin_bottom<class_StyleBoxFlat_property_expand_margin_bottom>` 0.0
:ref:`float<class_float>` :ref:`expand_margin_left<class_StyleBoxFlat_property_expand_margin_left>` 0.0
:ref:`float<class_float>` :ref:`expand_margin_right<class_StyleBoxFlat_property_expand_margin_right>` 0.0
:ref:`float<class_float>` :ref:`expand_margin_top<class_StyleBoxFlat_property_expand_margin_top>` 0.0
:ref:`Color<class_Color>` :ref:`shadow_color<class_StyleBoxFlat_property_shadow_color>` Color( 0, 0, 0, 0.6 )
:ref:`Vector2<class_Vector2>` :ref:`shadow_offset<class_StyleBoxFlat_property_shadow_offset>` Vector2( 0, 0 )
:ref:`int<class_int>` :ref:`shadow_size<class_StyleBoxFlat_property_shadow_size>` 0

Methods

:ref:`int<class_int>` :ref:`get_border_width<class_StyleBoxFlat_method_get_border_width>` ( :ref:`Margin<enum_@GlobalScope_Margin>` margin ) const
:ref:`int<class_int>` :ref:`get_border_width_min<class_StyleBoxFlat_method_get_border_width_min>` ( ) const
:ref:`int<class_int>` :ref:`get_corner_radius<class_StyleBoxFlat_method_get_corner_radius>` ( :ref:`Corner<enum_@GlobalScope_Corner>` corner ) const
:ref:`float<class_float>` :ref:`get_expand_margin<class_StyleBoxFlat_method_get_expand_margin>` ( :ref:`Margin<enum_@GlobalScope_Margin>` margin ) const
void :ref:`set_border_width<class_StyleBoxFlat_method_set_border_width>` ( :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`int<class_int>` width )
void :ref:`set_border_width_all<class_StyleBoxFlat_method_set_border_width_all>` ( :ref:`int<class_int>` width )
void :ref:`set_corner_radius<class_StyleBoxFlat_method_set_corner_radius>` ( :ref:`Corner<enum_@GlobalScope_Corner>` corner, :ref:`int<class_int>` radius )
void :ref:`set_corner_radius_all<class_StyleBoxFlat_method_set_corner_radius_all>` ( :ref:`int<class_int>` radius )
void :ref:`set_corner_radius_individual<class_StyleBoxFlat_method_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 )
void :ref:`set_expand_margin<class_StyleBoxFlat_method_set_expand_margin>` ( :ref:`Margin<enum_@GlobalScope_Margin>` margin, :ref:`float<class_float>` size )
void :ref:`set_expand_margin_all<class_StyleBoxFlat_method_set_expand_margin_all>` ( :ref:`float<class_float>` size )
void :ref:`set_expand_margin_individual<class_StyleBoxFlat_method_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 )

Property Descriptions

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.


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.


Default Color( 0.6, 0.6, 0.6, 1 )
Setter set_bg_color(value)
Getter get_bg_color()

The background color of the stylebox.


Default false
Setter set_border_blend(value)
Getter get_border_blend()

If true, the border will fade into the background 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.


Default 0
Setter set_border_width(value)
Getter get_border_width()

Border width for the bottom border.


Default 0
Setter set_border_width(value)
Getter get_border_width()

Border width for the left border.


Default 0
Setter set_border_width(value)
Getter get_border_width()

Border width for the right border.


Default 0
Setter set_border_width(value)
Getter get_border_width()

Border width for the top border.


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.


Default 0
Setter set_corner_radius(value)
Getter get_corner_radius()

The bottom-left corner's radius. If 0, the corner is not rounded.


Default 0
Setter set_corner_radius(value)
Getter get_corner_radius()

The bottom-right corner's radius. If 0, the corner is not rounded.


Default 0
Setter set_corner_radius(value)
Getter get_corner_radius()

The top-left corner's radius. If 0, the corner is not rounded.


Default 0
Setter set_corner_radius(value)
Getter get_corner_radius()

The top-right corner's radius. If 0, the corner is not rounded.


Default true
Setter set_draw_center(value)
Getter is_draw_center_enabled()

Toggles drawing of the inner part of the stylebox.


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.


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.


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.


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.


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.


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.


Default 0
Setter set_shadow_size(value)
Getter get_shadow_size()

The shadow size in pixels.

Method Descriptions

Returns the given margin's border width. See :ref:`Margin<enum_@GlobalScope_Margin>` for possible values.


Returns the smallest border width out of all four borders.


Returns the given corner's radius. See :ref:`Corner<enum_@GlobalScope_Corner>` for possible values.


Returns the size of the given margin's expand margin. See :ref:`Margin<enum_@GlobalScope_Margin>` for possible values.


Sets the border width to width pixels for the given margin. See :ref:`Margin<enum_@GlobalScope_Margin>` for possible values.


Sets the border width to width pixels for all margins.


Sets the corner radius to radius pixels for the given corner. See :ref:`Corner<enum_@GlobalScope_Corner>` for possible values.


Sets the corner radius to radius pixels for all corners.


Sets the corner radius for each corner to radius_top_left, radius_top_right, radius_bottom_right, and radius_bottom_left pixels.


Sets the expand margin to size pixels for the given margin. See :ref:`Margin<enum_@GlobalScope_Margin>` for possible values.


Sets the expand margin to size pixels for all margins.


Sets the expand margin for each margin to size_left, size_top, size_right, and size_bottom pixels.