diff options
Diffstat (limited to 'src/crepe/api/Button.h')
-rw-r--r-- | src/crepe/api/Button.h | 56 |
1 files changed, 22 insertions, 34 deletions
diff --git a/src/crepe/api/Button.h b/src/crepe/api/Button.h index 578f21e..26e7526 100644 --- a/src/crepe/api/Button.h +++ b/src/crepe/api/Button.h @@ -6,38 +6,35 @@ namespace crepe { -/** - * \brief Represents a clickable UI button, derived from the UiObject class. - * - */ +//! Represents a clickable UI button, derived from the UiObject class. class Button : public UIObject { public: /** - * \brief Constructs a Button with the specified game object ID and dimensions. - * - * \param id The unique ID of the game object associated with this button. - * \param Dimensions The width and height of the UIObject - * \param offset The offset relative this GameObjects Transform - * \param is_toggle Optional flag to indicate if the button is a toggle button. Defaults to false. - * \param on_click callback function that will be invoked when the button is clicked. - */ + * \brief Constructs a Button with the specified game object ID and dimensions. + * + * \param id The unique ID of the game object associated with this button. + * \param dimensions The width and height of the UIObject + * \param offset The offset relative this GameObjects Transform + * \param is_toggle Optional flag to indicate if the button is a toggle button. Defaults to false. + * \param on_click callback function that will be invoked when the button is clicked. + */ Button(game_object_id_t id, const vec2 & dimensions, const vec2 & offset, const std::function<void()> & on_click, bool is_toggle = false); /** - * \brief Indicates if the button is a toggle button (can be pressed and released). - * - * A toggle button allows for a pressed/released state, whereas a regular button - * typically only has an on-click state. - */ + * \brief Indicates if the button is a toggle button (can be pressed and released). + * + * A toggle button allows for a pressed/released state, whereas a regular button + * typically only has an on-click state. + */ bool is_toggle = false; - // TODO: toggle button in new class + // TODO: create separate toggle button class /** - * \brief The callback function to be executed when the button is clicked. - * - * This function is invoked whenever the button is clicked. It can be set to any - * function that matches the signature `void()`. - */ + * \brief The callback function to be executed when the button is clicked. + * + * This function is invoked whenever the button is clicked. It can be set to any + * function that matches the signature `void()`. + */ std::function<void()> on_click = nullptr; /** @@ -59,18 +56,9 @@ public: private: //! friend relation for is_pressed and hover variables friend class InputSystem; - /** - * \brief Indicates whether the toggle button is pressed - * - * This state indicates if the toggle button is pressed or not - */ + //! Indicates whether the toggle button is pressed bool is_pressed = false; - - /** - * \brief Indicates whether the mouse is currently hovering over the button. - * - * This is set to true when the mouse is over the button and false otherwise. - */ + //! Indicates whether the mouse is currently hovering over the button bool hover = false; public: |