StyleBox

    Inherited By: StyleBoxEmpty, , StyleBoxLine,

    Base class for drawing stylized boxes for the UI.

    StyleBox is 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 StyleBox is displayed over the normal, hover or pressed StyleBox. This makes the StyleBox more reusable across different nodes.

    void

    ( RID canvas_item, rect ) const

    Vector2

    ( ) const

    CanvasItem

    ( ) const

    float

    ( Margin margin ) const

    Vector2

    ( ) const

    Vector2

    ( ) const

    void

    set_default_margin ( margin, float offset )

    test_mask ( point, Rect2 rect ) const

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


    • content_margin_left

    Default

    -1.0

    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.


    • float content_margin_right

    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 for extra considerations.


    • float content_margin_top

    Default

    -1.0

    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 for extra considerations.

    • void draw ( canvas_item, Rect2 rect ) const

    Draws this stylebox using a canvas item identified by the given .

    The RID value can either be the result of called on an existing CanvasItem-derived node, or directly from creating a canvas item in the with VisualServer.canvas_item_create.


    • get_center_size ( ) const

    Returns the size of this StyleBox without the margins.


    Returns the CanvasItem that handles its or CanvasItem._draw callback at this moment.


    • get_default_margin ( Margin margin ) const

    Returns the default value of the specified .


    • float get_margin ( margin ) const

    Returns the content margin offset for the specified Margin.

    Positive values reduce size inwards, unlike ‘s margin values.


    • Vector2 get_minimum_size ( ) const

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


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


    • void set_default_margin ( Margin margin, offset )

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