StyleBoxFlat

Inherits: StyleBox < Resource < Reference < Object

Customizable StyleBox with a given set of parameters (no texture required).

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:

  1. height = 30
  2. corner_radius_top_left = 50
  3. 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:

  1. corner_radius_top_left: 10
  2. corner_radius_bottom_left: 20

Properties

bool

anti_aliasing

true

float

anti_aliasing_size

0.625

Color

bg_color

Color( 0.6, 0.6, 0.6, 1 )

bool

border_blend

false

Color

border_color

Color( 0.8, 0.8, 0.8, 1 )

int

border_width_bottom

0

int

border_width_left

0

int

border_width_right

0

int

border_width_top

0

int

corner_detail

8

int

corner_radius_bottom_left

0

int

corner_radius_bottom_right

0

int

corner_radius_top_left

0

int

corner_radius_top_right

0

bool

draw_center

true

float

expand_margin_bottom

0.0

float

expand_margin_left

0.0

float

expand_margin_right

0.0

float

expand_margin_top

0.0

Color

shadow_color

Color( 0, 0, 0, 0.6 )

Vector2

shadow_offset

Vector2( 0, 0 )

int

shadow_size

0

Methods

int

get_border_width ( Margin margin ) const

int

get_border_width_min ( ) const

int

get_corner_radius ( Corner corner ) const

float

get_expand_margin ( Margin margin ) const

void

set_border_width ( Margin margin, int width )

void

set_border_width_all ( int width )

void

set_corner_radius ( Corner corner, int radius )

void

set_corner_radius_all ( int radius )

void

set_corner_radius_individual ( int radius_top_left, int radius_top_right, int radius_bottom_right, int radius_bottom_left )

void

set_expand_margin ( Margin margin, float size )

void

set_expand_margin_all ( float size )

void

set_expand_margin_individual ( float size_left, float size_top, float size_right, 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.

Note: When using beveled corners with 45-degree angles (corner_detail = 1), it is recommended to set anti_aliasing to false to ensure crisp visuals and avoid possible visual glitches.


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


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.


  • int border_width_bottom

Default

0

Setter

set_border_width(value)

Getter

get_border_width()

Border width for the bottom border.


  • int border_width_left

Default

0

Setter

set_border_width(value)

Getter

get_border_width()

Border width for the left border.


  • int border_width_right

Default

0

Setter

set_border_width(value)

Getter

get_border_width()

Border width for the right border.


  • int border_width_top

Default

0

Setter

set_border_width(value)

Getter

get_border_width()

Border width for the top border.


  • 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 (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.


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


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


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


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


Default

true

Setter

set_draw_center(value)

Getter

is_draw_center_enabled()

Toggles drawing of the inner part of the stylebox.


  • 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 border_width_bottom to draw a border outside the control rect.


  • 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 border_width_left to draw a border outside the control rect.


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


  • int shadow_size

Default

0

Setter

set_shadow_size(value)

Getter

get_shadow_size()

The shadow size in pixels.

Method Descriptions

  • int get_border_width ( Margin margin ) const

Returns the given margin‘s border width. See Margin for possible values.


  • int get_border_width_min ( ) const

Returns the smallest border width out of all four borders.


  • int get_corner_radius ( Corner corner ) const

Returns the given corner‘s radius. See Corner for possible values.


Returns the size of the given margin‘s expand margin. See Margin for possible values.


  • void set_border_width ( Margin margin, int width )

Sets the border width to width pixels for the given margin. See Margin for possible values.


  • void set_border_width_all ( int width )

Sets the border width to width pixels for all margins.


  • void set_corner_radius ( Corner corner, int radius )

Sets the corner radius to radius pixels for the given corner. See Corner for possible values.


  • void set_corner_radius_all ( int radius )

Sets the corner radius to radius pixels for all corners.


  • void set_corner_radius_individual ( int radius_top_left, int radius_top_right, int radius_bottom_right, 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.


Sets the expand margin to size pixels for the given margin. See Margin for possible values.


  • void set_expand_margin_all ( float size )

Sets the expand margin to size pixels for all margins.


  • void set_expand_margin_individual ( float size_left, float size_top, float size_right, float size_bottom )

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