diff options
Diffstat (limited to 'src/crepe/system/InputSystem.h')
-rw-r--r-- | src/crepe/system/InputSystem.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/crepe/system/InputSystem.h b/src/crepe/system/InputSystem.h index eefd9fe..45c593a 100644 --- a/src/crepe/system/InputSystem.h +++ b/src/crepe/system/InputSystem.h @@ -3,6 +3,8 @@ #include "../api/Config.h" #include "../facade/EventData.h" +#include "../api/Event.h" +#include "../api/Metadata.h" #include "../types.h" #include "../util/OptionalRef.h" @@ -13,6 +15,37 @@ namespace crepe { class Camera; class Button; class Transform; +//! Event triggered when a button is clicked +class ButtonPressEvent : public Event { +public: + //! Metadata of the button. + const Metadata & meta_data; + /** + * \param meta_data Metadata of the button pressed + */ + ButtonPressEvent(const Metadata & meta_data) : meta_data(meta_data){}; +}; +//! Event triggered when the mouse enters a button +class ButtonEnterEvent : public Event { +public: + //! Metadata of the button. + const Metadata & meta_data; + /** + * \param meta_data Metadata of the button pressed + */ + ButtonEnterEvent(const Metadata & meta_data) : meta_data(meta_data){}; +}; +//! Event triggered when the mouse leaves a button +class ButtonExitEvent : public Event { +public: + //! Metadata of the button. + const Metadata & meta_data; + /** + * \param meta_data Metadata of the button pressed + */ + ButtonExitEvent(const Metadata & meta_data) : meta_data(meta_data){}; +}; + /** * \brief Handles the processing of input events created by SDLContext * |