StyleBox
继承: Resource
< RefCounted
< Object
派生: StyleBoxEmpty
, StyleBoxFlat
, StyleBoxLine
, StyleBoxTexture
Abstract base class for defining stylized boxes for UI elements.
描述
StyleBox is an abstract base class for drawing stylized boxes for UI elements. It is used for panels, buttons, LineEdit
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 control nodes 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.
属性
float | content_margin_bottom |
float | content_margin_left |
float | content_margin_right |
float | content_margin_top |
方法
void | _draw ( to_canvas_item: RID , rect: Rect2 ) virtual1 const2 |
Rect2 | _get_draw_rect ( rect: Rect2 ) virtual1 const2 |
Vector2 | _get_minimum_size ( ) virtual1 const2 |
bool | _test_mask ( point: Vector2 , rect: Rect2 ) virtual1 const2 |
void | draw ( canvas_item: RID , rect: Rect2 ) const2 |
float | get_content_margin ( margin: Side ) const2 |
CanvasItem | get_current_item_drawn ( ) const2 |
float | get_margin ( margin: Side ) const2 |
Vector2 | get_minimum_size ( ) const2 |
Vector2 | get_offset ( ) const2 |
void | set_content_margin ( margin: Side, offset: float ) |
void | set_content_margin_all ( offset: float ) |
bool | test_mask ( point: Vector2 , rect: Rect2 ) const2 |
属性说明
float
content_margin_bottom = -1.0
void
set_content_margin ( margin: Side, offset:float
)float
get_content_margin ( margin: Side ) const2
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 = -1.0
void
set_content_margin ( margin: Side, offset:float
)float
get_content_margin ( margin: Side ) const2
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 = -1.0
void
set_content_margin ( margin: Side, offset:float
)float
get_content_margin ( margin: Side ) const2
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 = -1.0
void
set_content_margin ( margin: Side, offset:float
)float
get_content_margin ( margin: Side ) const2
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.
方法说明
void
_draw ( to_canvas_item: RID
, rect: Rect2
) virtual1 const2
该方法目前没有描述,请帮我们\ :ref:贡献一个 <doc_updating_the_class_reference>
\ 吧!
Rect2
_get_draw_rect ( rect: Rect2
) virtual1 const2
该方法目前没有描述,请帮我们\ :ref:贡献一个 <doc_updating_the_class_reference>
\ 吧!
Vector2
_get_minimum_size ( ) virtual1 const2
Virtual method to be implemented by the user. Returns a custom minimum size that the stylebox must respect when drawing. By default get_minimum_size
only takes content margins into account. This method can be overridden to add another size restriction. A combination of the default behavior and the output of this method will be used, to account for both sizes.
bool
_test_mask ( point: Vector2
, rect: Rect2
) virtual1 const2
该方法目前没有描述,请帮我们\ :ref:贡献一个 <doc_updating_the_class_reference>
\ 吧!
void
draw ( canvas_item: RID
, rect: Rect2
) const2
Draws this stylebox using a canvas item identified by the given RID
.
The RID
value can either be the result of CanvasItem.get_canvas_item
called on an existing CanvasItem
-derived node, or directly from creating a canvas item in the RenderingServer
with RenderingServer.canvas_item_create
.
float
get_content_margin ( margin: Side ) const2
Returns the default margin of the specified Side.
CanvasItem
get_current_item_drawn ( ) const2
Returns the CanvasItem
that handles its CanvasItem.NOTIFICATION_DRAW
or CanvasItem._draw
callback at this moment.
float
get_margin ( margin: Side ) const2
Returns the content margin offset for the specified Side.
Positive values reduce size inwards, unlike Control
's margin values.
Vector2
get_minimum_size ( ) const2
Returns the minimum size that this stylebox can be shrunk to.
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))
.
void
set_content_margin ( margin: Side, offset: float
)
Sets the default value of the specified Side to offset
pixels.
void
set_content_margin_all ( offset: float
)
Sets the default margin to offset
pixels for all sides.
bool
test_mask ( point: Vector2
, rect: Rect2
) const2
Test a position in a rectangle, return whether it passes the mask test.
本方法通常需要用户覆盖才能生效。
本方法无副作用,不会修改该实例的任何成员变量。
本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。
本方法用于构造某个类型。
调用本方法无需实例,可直接使用类名进行调用。
本方法描述的是使用本类型作为左操作数的有效运算符。
这个值是由下列位标志构成位掩码的整数。
无返回值。