:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the StyleBoxFlat.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_StyleBoxFlat: StyleBoxFlat ============ **Inherits:** :ref:`StyleBox` **<** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` Customizable :ref:`StyleBox` with a given set of parameters (no texture required). Description ----------- This :ref:`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: :: 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` | :ref:`anti_aliasing` | ``true`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`float` | :ref:`anti_aliasing_size` | ``0.625`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`Color` | :ref:`bg_color` | ``Color( 0.6, 0.6, 0.6, 1 )`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`bool` | :ref:`border_blend` | ``false`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`Color` | :ref:`border_color` | ``Color( 0.8, 0.8, 0.8, 1 )`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`int` | :ref:`border_width_bottom` | ``0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`int` | :ref:`border_width_left` | ``0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`int` | :ref:`border_width_right` | ``0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`int` | :ref:`border_width_top` | ``0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`int` | :ref:`corner_detail` | ``8`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`int` | :ref:`corner_radius_bottom_left` | ``0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`int` | :ref:`corner_radius_bottom_right` | ``0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`int` | :ref:`corner_radius_top_left` | ``0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`int` | :ref:`corner_radius_top_right` | ``0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`bool` | :ref:`draw_center` | ``true`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`float` | :ref:`expand_margin_bottom` | ``0.0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`float` | :ref:`expand_margin_left` | ``0.0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`float` | :ref:`expand_margin_right` | ``0.0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`float` | :ref:`expand_margin_top` | ``0.0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`Color` | :ref:`shadow_color` | ``Color( 0, 0, 0, 0.6 )`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`Vector2` | :ref:`shadow_offset` | ``Vector2( 0, 0 )`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ | :ref:`int` | :ref:`shadow_size` | ``0`` | +-------------------------------+-------------------------------------------------------------------------------------------+-------------------------------+ Methods ------- +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_border_width` **(** :ref:`Margin` margin **)** |const| | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_border_width_min` **(** **)** |const| | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_corner_radius` **(** :ref:`Corner` corner **)** |const| | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_expand_margin` **(** :ref:`Margin` margin **)** |const| | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_border_width` **(** :ref:`Margin` margin, :ref:`int` width **)** | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_border_width_all` **(** :ref:`int` width **)** | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_corner_radius` **(** :ref:`Corner` corner, :ref:`int` radius **)** | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_corner_radius_all` **(** :ref:`int` radius **)** | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_corner_radius_individual` **(** :ref:`int` radius_top_left, :ref:`int` radius_top_right, :ref:`int` radius_bottom_right, :ref:`int` radius_bottom_left **)** | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_expand_margin` **(** :ref:`Margin` margin, :ref:`float` size **)** | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_expand_margin_all` **(** :ref:`float` size **)** | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_expand_margin_individual` **(** :ref:`float` size_left, :ref:`float` size_top, :ref:`float` size_right, :ref:`float` size_bottom **)** | +---------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Property Descriptions --------------------- .. _class_StyleBoxFlat_property_anti_aliasing: - :ref:`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. **Note:** When using beveled corners with 45-degree angles (:ref:`corner_detail` = 1), it is recommended to set :ref:`anti_aliasing` to ``false`` to ensure crisp visuals and avoid possible visual glitches. ---- .. _class_StyleBoxFlat_property_anti_aliasing_size: - :ref:`float` **anti_aliasing_size** +-----------+--------------------+ | *Default* | ``0.625`` | +-----------+--------------------+ | *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. ---- .. _class_StyleBoxFlat_property_bg_color: - :ref:`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. ---- .. _class_StyleBoxFlat_property_border_blend: - :ref:`bool` **border_blend** +-----------+-------------------------+ | *Default* | ``false`` | +-----------+-------------------------+ | *Setter* | set_border_blend(value) | +-----------+-------------------------+ | *Getter* | get_border_blend() | +-----------+-------------------------+ If ``true``, the border will fade into the background color. ---- .. _class_StyleBoxFlat_property_border_color: - :ref:`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. ---- .. _class_StyleBoxFlat_property_border_width_bottom: - :ref:`int` **border_width_bottom** +-----------+-------------------------+ | *Default* | ``0`` | +-----------+-------------------------+ | *Setter* | set_border_width(value) | +-----------+-------------------------+ | *Getter* | get_border_width() | +-----------+-------------------------+ Border width for the bottom border. ---- .. _class_StyleBoxFlat_property_border_width_left: - :ref:`int` **border_width_left** +-----------+-------------------------+ | *Default* | ``0`` | +-----------+-------------------------+ | *Setter* | set_border_width(value) | +-----------+-------------------------+ | *Getter* | get_border_width() | +-----------+-------------------------+ Border width for the left border. ---- .. _class_StyleBoxFlat_property_border_width_right: - :ref:`int` **border_width_right** +-----------+-------------------------+ | *Default* | ``0`` | +-----------+-------------------------+ | *Setter* | set_border_width(value) | +-----------+-------------------------+ | *Getter* | get_border_width() | +-----------+-------------------------+ Border width for the right border. ---- .. _class_StyleBoxFlat_property_border_width_top: - :ref:`int` **border_width_top** +-----------+-------------------------+ | *Default* | ``0`` | +-----------+-------------------------+ | *Setter* | set_border_width(value) | +-----------+-------------------------+ | *Getter* | get_border_width() | +-----------+-------------------------+ Border width for the top border. ---- .. _class_StyleBoxFlat_property_corner_detail: - :ref:`int` **corner_detail** +-----------+--------------------------+ | *Default* | ``8`` | +-----------+--------------------------+ | *Setter* | set_corner_detail(value) | +-----------+--------------------------+ | *Getter* | get_corner_detail() | +-----------+--------------------------+ 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 (:ref:`set_corner_radius_all`) into account. For corner radii less than 10, ``4`` or ``5`` should be enough. For corner radii less 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. ---- .. _class_StyleBoxFlat_property_corner_radius_bottom_left: - :ref:`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. ---- .. _class_StyleBoxFlat_property_corner_radius_bottom_right: - :ref:`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. ---- .. _class_StyleBoxFlat_property_corner_radius_top_left: - :ref:`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. ---- .. _class_StyleBoxFlat_property_corner_radius_top_right: - :ref:`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. ---- .. _class_StyleBoxFlat_property_draw_center: - :ref:`bool` **draw_center** +-----------+--------------------------+ | *Default* | ``true`` | +-----------+--------------------------+ | *Setter* | set_draw_center(value) | +-----------+--------------------------+ | *Getter* | is_draw_center_enabled() | +-----------+--------------------------+ Toggles drawing of the inner part of the stylebox. ---- .. _class_StyleBoxFlat_property_expand_margin_bottom: - :ref:`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` to draw a border outside the control rect. ---- .. _class_StyleBoxFlat_property_expand_margin_left: - :ref:`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` to draw a border outside the control rect. ---- .. _class_StyleBoxFlat_property_expand_margin_right: - :ref:`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` to draw a border outside the control rect. ---- .. _class_StyleBoxFlat_property_expand_margin_top: - :ref:`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` to draw a border outside the control rect. ---- .. _class_StyleBoxFlat_property_shadow_color: - :ref:`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` is lower than 1. ---- .. _class_StyleBoxFlat_property_shadow_offset: - :ref:`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. ---- .. _class_StyleBoxFlat_property_shadow_size: - :ref:`int` **shadow_size** +-----------+------------------------+ | *Default* | ``0`` | +-----------+------------------------+ | *Setter* | set_shadow_size(value) | +-----------+------------------------+ | *Getter* | get_shadow_size() | +-----------+------------------------+ The shadow size in pixels. Method Descriptions ------------------- .. _class_StyleBoxFlat_method_get_border_width: - :ref:`int` **get_border_width** **(** :ref:`Margin` margin **)** |const| Returns the given ``margin``'s border width. See :ref:`Margin` for possible values. ---- .. _class_StyleBoxFlat_method_get_border_width_min: - :ref:`int` **get_border_width_min** **(** **)** |const| Returns the smallest border width out of all four borders. ---- .. _class_StyleBoxFlat_method_get_corner_radius: - :ref:`int` **get_corner_radius** **(** :ref:`Corner` corner **)** |const| Returns the given ``corner``'s radius. See :ref:`Corner` for possible values. ---- .. _class_StyleBoxFlat_method_get_expand_margin: - :ref:`float` **get_expand_margin** **(** :ref:`Margin` margin **)** |const| Returns the size of the given ``margin``'s expand margin. See :ref:`Margin` for possible values. ---- .. _class_StyleBoxFlat_method_set_border_width: - void **set_border_width** **(** :ref:`Margin` margin, :ref:`int` width **)** Sets the border width to ``width`` pixels for the given ``margin``. See :ref:`Margin` for possible values. ---- .. _class_StyleBoxFlat_method_set_border_width_all: - void **set_border_width_all** **(** :ref:`int` width **)** Sets the border width to ``width`` pixels for all margins. ---- .. _class_StyleBoxFlat_method_set_corner_radius: - void **set_corner_radius** **(** :ref:`Corner` corner, :ref:`int` radius **)** Sets the corner radius to ``radius`` pixels for the given ``corner``. See :ref:`Corner` for possible values. ---- .. _class_StyleBoxFlat_method_set_corner_radius_all: - void **set_corner_radius_all** **(** :ref:`int` radius **)** Sets the corner radius to ``radius`` pixels for all corners. ---- .. _class_StyleBoxFlat_method_set_corner_radius_individual: - void **set_corner_radius_individual** **(** :ref:`int` radius_top_left, :ref:`int` radius_top_right, :ref:`int` radius_bottom_right, :ref:`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. ---- .. _class_StyleBoxFlat_method_set_expand_margin: - void **set_expand_margin** **(** :ref:`Margin` margin, :ref:`float` size **)** Sets the expand margin to ``size`` pixels for the given ``margin``. See :ref:`Margin` for possible values. ---- .. _class_StyleBoxFlat_method_set_expand_margin_all: - void **set_expand_margin_all** **(** :ref:`float` size **)** Sets the expand margin to ``size`` pixels for all margins. ---- .. _class_StyleBoxFlat_method_set_expand_margin_individual: - void **set_expand_margin_individual** **(** :ref:`float` size_left, :ref:`float` size_top, :ref:`float` size_right, :ref:`float` size_bottom **)** Sets the expand margin for each margin to ``size_left``, ``size_top``, ``size_right``, and ``size_bottom`` pixels. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`