StyleBox¶
Inherits: Resource < RefCounted < Object
Inherited By: StyleBoxEmpty, StyleBoxFlat, StyleBoxLine, StyleBoxTexture
Base class for drawing stylized boxes for the UI.
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.
Note: For children of Control that have Theme Properties, the focus
StyleBox
is displayed over the normal
, hover
or pressed
StyleBox
. This makes the focus
StyleBox
more reusable across different nodes.
Properties¶
Methods¶
void |
|
_get_center_size ( ) virtual const |
|
_get_draw_rect ( Rect2 rect ) virtual const |
|
_get_style_margin ( Side side ) virtual const |
|
_test_mask ( Vector2 point, Rect2 rect ) virtual const |
|
void |
|
get_center_size ( ) const |
|
get_current_item_drawn ( ) const |
|
get_default_margin ( Side margin ) const |
|
get_margin ( Side margin ) const |
|
get_minimum_size ( ) const |
|
get_offset ( ) const |
|
void |
set_default_margin ( Side margin, float offset ) |
Property Descriptions¶
float content_margin_bottom
Setter |
set_default_margin(value) |
Getter |
get_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
Setter |
set_default_margin(value) |
Getter |
get_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
Setter |
set_default_margin(value) |
Getter |
get_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
Setter |
set_default_margin(value) |
Getter |
get_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¶
Vector2 _get_center_size ( ) virtual const
Draws this stylebox using a CanvasItem with given RID.
You can get a RID value using Object.get_instance_id on a CanvasItem-derived node.
Vector2 get_center_size ( ) const
Returns the size of this StyleBox
without the margins.
CanvasItem get_current_item_drawn ( ) const
Returns the CanvasItem that handles its CanvasItem.NOTIFICATION_DRAW or CanvasItem._draw callback at this moment.
Returns the default margin of the specified Side.
Returns the content margin offset for the specified Side.
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.
Vector2 get_offset ( ) const
Returns the "offset" of a stylebox. This helper function returns a value equivalent to Vector2(style.get_margin(MARGIN_LEFT), style.get_margin(MARGIN_TOP))
.
Sets the default value of the specified Side to offset
pixels.
Test a position in a rectangle, return whether it passes the mask test.