diff options
Diffstat (limited to 'src/crepe')
-rw-r--r-- | src/crepe/api/Button.cpp | 9 | ||||
-rw-r--r-- | src/crepe/api/Button.h | 5 | ||||
-rw-r--r-- | src/crepe/api/UiObject.cpp | 5 | ||||
-rw-r--r-- | src/crepe/api/UiObject.h | 2 | ||||
-rw-r--r-- | src/crepe/facade/SDLContext.h | 2 | ||||
-rw-r--r-- | src/crepe/system/InputSystem.cpp | 25 | ||||
-rw-r--r-- | src/crepe/system/InputSystem.h | 6 |
7 files changed, 30 insertions, 24 deletions
diff --git a/src/crepe/api/Button.cpp b/src/crepe/api/Button.cpp index 077a5e7..c0ff5a8 100644 --- a/src/crepe/api/Button.cpp +++ b/src/crepe/api/Button.cpp @@ -2,7 +2,12 @@ namespace crepe { -Button::Button(game_object_id_t id, int width, int height, bool is_toggle, std::function<void()> on_click) - : UiObject(id, width, height), is_toggle(is_toggle), is_pressed(false), hover(false), on_click(on_click) {} +Button::Button(game_object_id_t id, int width, int height, bool is_toggle, + std::function<void()> on_click) + : UiObject(id, width, height), + is_toggle(is_toggle), + is_pressed(false), + hover(false), + on_click(on_click) {} } // namespace crepe diff --git a/src/crepe/api/Button.h b/src/crepe/api/Button.h index df6f1e0..2fa94ae 100644 --- a/src/crepe/api/Button.h +++ b/src/crepe/api/Button.h @@ -1,7 +1,7 @@ #pragma once -#include <functional> #include "UiObject.h" +#include <functional> namespace crepe { @@ -24,7 +24,8 @@ public: * \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, int width, int height, bool is_toggle = false, std::function<void()> on_click = nullptr); + Button(game_object_id_t id, int width, int height, bool is_toggle = false, + std::function<void()> on_click = nullptr); /** * \brief Indicates if the button is a toggle button (can be pressed and released). diff --git a/src/crepe/api/UiObject.cpp b/src/crepe/api/UiObject.cpp index 987fc06..7859a90 100644 --- a/src/crepe/api/UiObject.cpp +++ b/src/crepe/api/UiObject.cpp @@ -2,4 +2,7 @@ using namespace crepe; -UiObject::UiObject(game_object_id_t id,int width,int height) : Component(id),width(width),height(height){}; +UiObject::UiObject(game_object_id_t id, int width, int height) + : Component(id), + width(width), + height(height){}; diff --git a/src/crepe/api/UiObject.h b/src/crepe/api/UiObject.h index 6b0323e..c056877 100644 --- a/src/crepe/api/UiObject.h +++ b/src/crepe/api/UiObject.h @@ -14,7 +14,7 @@ public: * \brief Constructs a UiObject with the specified game object ID. * \param id The unique ID of the game object associated with this UI object. */ - UiObject(game_object_id_t id,int width,int height); + UiObject(game_object_id_t id, int width, int height); //! The width of the UI object. int width = 0; diff --git a/src/crepe/facade/SDLContext.h b/src/crepe/facade/SDLContext.h index 9f18728..886dda8 100644 --- a/src/crepe/facade/SDLContext.h +++ b/src/crepe/facade/SDLContext.h @@ -11,11 +11,11 @@ #include <string> #include <utility> +#include "api/Camera.h" #include "api/Event.h" #include "api/KeyCodes.h" #include "api/Sprite.h" #include "api/Transform.h" -#include "api/Camera.h" #include "types.h" diff --git a/src/crepe/system/InputSystem.cpp b/src/crepe/system/InputSystem.cpp index bb67e5f..070f804 100644 --- a/src/crepe/system/InputSystem.cpp +++ b/src/crepe/system/InputSystem.cpp @@ -1,6 +1,6 @@ +#include "ComponentManager.h" #include "api/Button.h" #include "api/EventManager.h" -#include "ComponentManager.h" #include "InputSystem.h" @@ -41,7 +41,7 @@ void InputSystem::update() { int delta_x = event.mouse_position.first - last_mouse_down_position.first; int delta_y = event.mouse_position.second - last_mouse_down_position.second; - + if (last_mouse_button == event.mouse_button && std::abs(delta_x) <= click_tolerance && std::abs(delta_y) <= click_tolerance) { @@ -53,8 +53,7 @@ void InputSystem::update() { handle_click(event); } - } - break; + } break; case SDLContext::EventType::MOUSEMOVE: event_mgr.queue_event<MouseMoveEvent>(MouseMoveEvent{ .mouse_x = event.mouse_position.first, @@ -113,20 +112,18 @@ void InputSystem::handle_click(const SDLContext::EventData & event_data) { } } +OptionalRef<Transform> +InputSystem::find_transform_for_button(Button & button, RefVector<Transform> & transforms) { -OptionalRef<Transform> InputSystem::find_transform_for_button( - Button & button, RefVector<Transform>& transforms) { - - for (auto& transform : transforms) { - if (button.game_object_id == transform.get().game_object_id) { - return OptionalRef<Transform>(transform); - } - } + for (auto & transform : transforms) { + if (button.game_object_id == transform.get().game_object_id) { + return OptionalRef<Transform>(transform); + } + } - return OptionalRef<Transform>(); + return OptionalRef<Transform>(); } - bool InputSystem::is_mouse_inside_button(const SDLContext::EventData & event_data, const Button & button, const Transform & transform) { return event_data.mouse_position.first >= transform.position.x diff --git a/src/crepe/system/InputSystem.h b/src/crepe/system/InputSystem.h index 13c3fc1..b648144 100644 --- a/src/crepe/system/InputSystem.h +++ b/src/crepe/system/InputSystem.h @@ -1,8 +1,8 @@ #pragma once #include "facade/SDLContext.h" -#include "util/OptionalRef.h" #include "types.h" +#include "util/OptionalRef.h" #include "System.h" @@ -61,8 +61,8 @@ private: * \param transforms A list of transforms to search through. * \return A pointer to the transform of the button, or nullptr if not found. */ - OptionalRef<Transform> - find_transform_for_button(Button & button, RefVector<Transform>& transforms); + OptionalRef<Transform> find_transform_for_button(Button & button, + RefVector<Transform> & transforms); /** * \brief Checks if the mouse position is inside the bounds of the button. |