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