StyleBox

Inherits: Resource < Reference < Object

Inherited By: StyleBoxEmpty, StyleBoxFlat, StyleBoxLine, StyleBoxTexture

Category: Core

Brief Description

Base class for drawing stylized boxes for the UI.

Properties

floatcontent_margin_bottom
floatcontent_margin_left
floatcontent_margin_right
floatcontent_margin_top

Methods

voiddraw ( RID canvas_item, Rect2 rect ) const
Vector2get_center_size ( ) const
CanvasItemget_current_item_drawn ( ) const
floatget_margin ( Margin margin ) const
Vector2get_minimum_size ( ) const
Vector2get_offset ( ) const
booltest_mask ( Vector2 point, Rect2 rect ) const

Description

StyleBox is Resource that provides an abstract base class for drawing stylized boxes for the UI. StyleBoxes are used for drawing the styles of buttons, line edit backgrounds, tree backgrounds, etc. and also for testing a transparency mask for pointer signals. If mask test fails on a StyleBox assigned as mask to a control, clicks and motion signals will go through it to the one below.

Property Descriptions

  • float content_margin_bottom
Setterset_default_margin(value)
Getterget_default_margin()

The bottom margin for the contents of this style box. Increasing this value reduces the space available to the contents from the bottom.

If this value is negative, it is ignored and a child-specific margin is used instead. For example for StyleBoxFlat the border thickness (if any) is used instead.

It is up to the code using this style box to decide what these contents are: for example, a Button respects this content margin for the textual contents of the button.

get_margin should be used to fetch this value as consumer instead of reading these properties directly. This is because it correctly respects negative values and the fallback mentioned above.


  • float content_margin_left
Setterset_default_margin(value)
Getterget_default_margin()

The left margin for the contents of this style box. Increasing this value reduces the space available to the contents from the left.

Refer to content_margin_bottom for extra considerations.


  • float content_margin_right
Setterset_default_margin(value)
Getterget_default_margin()

The right margin for the contents of this style box. Increasing this value reduces the space available to the contents from the right.

Refer to content_margin_bottom for extra considerations.


  • float content_margin_top
Setterset_default_margin(value)
Getterget_default_margin()

The top margin for the contents of this style box. Increasing this value reduces the space available to the contents from the top.

Refer to content_margin_bottom for extra considerations.

Method Descriptions

  • void draw ( RID canvas_item, Rect2 rect ) const



Returns the content margin offset for the specified margin

Positive values reduce size inwards, unlike Control’s margin values.


  • Vector2 get_minimum_size ( ) const

Returns the minimum size that this stylebox can be shrunk to.


Returns the “offset” of a stylebox, this is a helper function, like writing Vector2(style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP)).


Test a position in a rectangle, return whether it passes the mask test.