Inherits: Control < CanvasItem < Node < Object

Inherited By: TextureButton, Button

Category: Core

Brief Description

Provides a base class for different kinds of buttons.

Member Functions

void _pressed ( ) virtual
void _toggled ( bool pressed ) virtual
bool get_click_on_press ( ) const
int get_draw_mode ( ) const
bool is_disabled ( ) const
bool is_hovered ( ) const
bool is_pressed ( ) const
bool is_toggle_mode ( ) const
void set_click_on_press ( bool enable )
void set_disabled ( bool disabled )
void set_pressed ( bool pressed )
void set_toggle_mode ( bool enabled )


  • pressed ( )
  • released ( )
  • toggled ( bool pressed )

Numeric Constants

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


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.

Member Function Description

  • void _pressed ( ) virtual

Called when button is pressed.

  • void _toggled ( bool pressed ) virtual

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

  • bool get_click_on_press ( ) const

Return the state of the click_on_press property (see set_click_on_press).

  • int get_draw_mode ( ) const

Return 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 DRAW_* enum.

  • bool is_disabled ( ) const

Return whether the button is in disabled state (see set_disabled).

  • bool is_hovered ( ) const

Return true if mouse entered the button before it exit.

  • bool is_pressed ( ) const

If toggle_mode is active, return whether the button is toggled. If toggle_mode is not active, return whether the button is pressed down.

  • bool is_toggle_mode ( ) const

Return the toggle_mode property (see set_toggle_mode).

  • void set_click_on_press ( bool enable )

Set the button click_on_press mode. This mode generates click events when a mouse button or key is just pressed (by default events are generated when the button/keys are released and both press and release occur in the visual area of the Button).

  • void set_disabled ( bool disabled )

Set the button into disabled state. When a button is disabled, it can’t be clicked or toggled.

  • void set_pressed ( bool pressed )

Set the button to pressed state (only if toggle_mode is active).

  • void set_toggle_mode ( bool enabled )

Set the button toggle_mode property. Toggle mode makes the button flip state between pressed and unpressed each time its area is clicked.