BaseButton

    Inherited By: Button, , TextureButton

    Base class for different kinds of buttons.

    BaseButton is the abstract base class for buttons, so it shouldn’t be used directly (it doesn’t display anything). Other types of buttons inherit from it.

    Properties

    void

    _pressed ( ) virtual

    void

    ( bool button_pressed ) virtual

    get_draw_mode ( ) const

    is_hovered ( ) const

    void

    Signals

    • button_down ( )

    Emitted when the button starts being held down.


    • button_up ( )

    Emitted when the button stops being held down.


    • pressed ( )

    Emitted when the button is toggled or pressed. This is on button_down if is ACTION_MODE_BUTTON_PRESS and on otherwise.

    If you need to know the button’s pressed state (and toggle_mode is active), use instead.


    Emitted when the button was just toggled between pressed and normal states (only if toggle_mode is active). The new state is contained in the argument.

    enum DrawMode:

    • DRAW_NORMAL = 0 —- The normal state (i.e. not pressed, not hovered, not toggled and enabled) of buttons.

    • DRAW_PRESSED = 1 —- The state of buttons are pressed.

    • DRAW_HOVER = 2 —- The state of buttons are hovered.

    • DRAW_DISABLED = 3 —- The state of buttons are disabled.

    • DRAW_HOVER_PRESSED = 4 —- The state of buttons are both hovered and pressed.


    enum ActionMode:

    • ACTION_MODE_BUTTON_PRESS = 0 —- Require just a press to consider the button clicked.

    • ACTION_MODE_BUTTON_RELEASE = 1 —- Require a press and a subsequent release before considering the button clicked.

    Property Descriptions

    • action_mode

    Default

    1

    Setter

    set_action_mode(value)

    Getter

    get_action_mode()

    Determines when the button is considered clicked, one of the ActionMode constants.


    • button_mask

    Default

    1

    Setter

    set_button_mask(value)

    Getter

    get_button_mask()

    Binary mask to choose which mouse buttons this button will respond to.

    To allow both left-click and right-click, use BUTTON_MASK_LEFT | BUTTON_MASK_RIGHT.


    If true, the button is in disabled state and can’t be clicked or toggled.


    Default

    2

    Setter

    set_enabled_focus_mode(value)

    Getter

    get_enabled_focus_mode()

    Deprecated. This property has been deprecated due to redundancy and will be removed in Godot 4.0. This property no longer has any effect when set. Please use instead.


    set_button_group(value)

    Getter

    get_button_group()

    associated to the button.


    • bool keep_pressed_outside

    Default

    false

    Setter

    set_keep_pressed_outside(value)

    Getter

    is_keep_pressed_outside()

    If true, the button stays pressed when moving the cursor outside the button while pressing it.

    Note: This property only affects the button’s visual appearance. Signals will be emitted at the same moment regardless of this property’s value.


    • pressed

    If true, the button’s state is pressed. Means the button is pressed down or toggled (if toggle_mode is active). Only works if is true.

    Note: Setting pressed will result in to be emitted. If you want to change the pressed state without emitting that signal, use set_pressed_no_signal.


    • shortcut

    Setter

    set_shortcut(value)

    Getter

    get_shortcut()

    ShortCut associated to the button.


    • shortcut_in_tooltip

    Default

    true

    Setter

    set_shortcut_in_tooltip(value)

    Getter

    is_shortcut_in_tooltip_enabled()

    If true, the button will add information about its shortcut in the tooltip.


    Default

    false

    Setter

    set_toggle_mode(value)

    Getter

    is_toggle_mode()

    If true, the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.

    • void _pressed ( ) virtual

    Called when the button is pressed. If you need to know the button’s pressed state (and toggle_mode is active), use instead.


    • void _toggled ( bool button_pressed ) virtual

    Called when the button is toggled (only if is active).


    Returns the visual state used to draw the button. This is useful mainly when implementing your own draw code by either overriding _draw() or connecting to “draw” signal. The visual state of the button is defined by the enum.


    • bool is_hovered ( ) const

    Returns true if the mouse has entered the button and has not left it yet.


    Note: This method doesn’t unpress other buttons in its button .