aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Button.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/api/Button.h')
-rw-r--r--src/crepe/api/Button.h56
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: