aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/crepe/api/Button.cpp6
-rw-r--r--src/crepe/api/Button.h2
-rw-r--r--src/crepe/api/Event.h2
-rw-r--r--src/crepe/api/UiObject.cpp5
-rw-r--r--src/crepe/api/UiObject.h3
-rw-r--r--src/crepe/system/InputSystem.cpp25
-rw-r--r--src/crepe/system/InputSystem.h6
-rw-r--r--src/example/button.cpp3
-rw-r--r--src/test/InputTest.cpp10
9 files changed, 30 insertions, 32 deletions
diff --git a/src/crepe/api/Button.cpp b/src/crepe/api/Button.cpp
index f179f60..b104329 100644
--- a/src/crepe/api/Button.cpp
+++ b/src/crepe/api/Button.cpp
@@ -2,9 +2,9 @@
namespace crepe {
-Button::Button(game_object_id_t id, vec2 dimensions,vec2 offset, std::function<void()> on_click,
- bool is_toggle)
- : UIObject(id, dimensions,offset),
+Button::Button(game_object_id_t id, vec2 dimensions, vec2 offset,
+ std::function<void()> on_click, bool is_toggle)
+ : UIObject(id, dimensions, offset),
is_toggle(is_toggle),
on_click(on_click) {}
diff --git a/src/crepe/api/Button.h b/src/crepe/api/Button.h
index 043cc78..5c803ba 100644
--- a/src/crepe/api/Button.h
+++ b/src/crepe/api/Button.h
@@ -21,7 +21,7 @@ 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, vec2 dimensions,vec2 offset, std::function<void()> on_click,
+ Button(game_object_id_t id, vec2 dimensions, vec2 offset, std::function<void()> on_click,
bool is_toggle = false);
/**
diff --git a/src/crepe/api/Event.h b/src/crepe/api/Event.h
index 8083d7c..6298118 100644
--- a/src/crepe/api/Event.h
+++ b/src/crepe/api/Event.h
@@ -94,8 +94,6 @@ public:
// Movement since last event in y
int delta_y = 0;
-
-
};
/**
diff --git a/src/crepe/api/UiObject.cpp b/src/crepe/api/UiObject.cpp
index 0262d31..2b287b3 100644
--- a/src/crepe/api/UiObject.cpp
+++ b/src/crepe/api/UiObject.cpp
@@ -2,6 +2,7 @@
using namespace crepe;
-UIObject::UIObject(game_object_id_t id, vec2 dimensions,vec2 offset)
+UIObject::UIObject(game_object_id_t id, vec2 dimensions, vec2 offset)
: Component(id),
- dimensions(dimensions),offset(offset){}
+ dimensions(dimensions),
+ offset(offset) {}
diff --git a/src/crepe/api/UiObject.h b/src/crepe/api/UiObject.h
index 1130f99..0634f97 100644
--- a/src/crepe/api/UiObject.h
+++ b/src/crepe/api/UiObject.h
@@ -16,11 +16,10 @@ public:
* \param dimensions width and height of the UIObject
* \param offset Offset relative to the GameObject Transform
*/
- UIObject(game_object_id_t id, vec2 dimensions,vec2 offset);
+ UIObject(game_object_id_t id, vec2 dimensions, vec2 offset);
//! Width and height of the UIObject
vec2 dimensions;
vec2 offset;
-
};
} // namespace crepe
diff --git a/src/crepe/system/InputSystem.cpp b/src/crepe/system/InputSystem.cpp
index bbf2547..21ec24b 100644
--- a/src/crepe/system/InputSystem.cpp
+++ b/src/crepe/system/InputSystem.cpp
@@ -152,7 +152,7 @@ void InputSystem::handle_click(const MouseButton & mouse_button, const int world
for (Button & button : buttons) {
RefVector<Transform> transform_vec
= mgr.get_components_by_id<Transform>(button.game_object_id);
- Transform& transform(transform_vec.front().get());
+ Transform & transform(transform_vec.front().get());
if (button.active
&& this->is_mouse_inside_button(world_mouse_x, world_mouse_y, button, transform)) {
@@ -162,20 +162,17 @@ void InputSystem::handle_click(const MouseButton & mouse_button, const int world
}
bool InputSystem::is_mouse_inside_button(const int mouse_x, const int mouse_y,
- const Button &button, const Transform &transform) {
- int actual_x = transform.position.x + button.offset.x;
- int actual_y = transform.position.y + button.offset.y;
-
- int half_width = button.dimensions.x / 2;
- int half_height = button.dimensions.y / 2;
-
- // Check if the mouse is within the button's boundaries
- return mouse_x >= actual_x - half_width
- && mouse_x <= actual_x + half_width
- && mouse_y >= actual_y - half_height
- && mouse_y <= actual_y + half_height;
-}
+ const Button & button, const Transform & transform) {
+ int actual_x = transform.position.x + button.offset.x;
+ int actual_y = transform.position.y + button.offset.y;
+ int half_width = button.dimensions.x / 2;
+ int half_height = button.dimensions.y / 2;
+
+ // Check if the mouse is within the button's boundaries
+ return mouse_x >= actual_x - half_width && mouse_x <= actual_x + half_width
+ && mouse_y >= actual_y - half_height && mouse_y <= actual_y + half_height;
+}
void InputSystem::handle_button_press(Button & button) {
//checks if the button is a toggle button
diff --git a/src/crepe/system/InputSystem.h b/src/crepe/system/InputSystem.h
index 557ba47..eafeb91 100644
--- a/src/crepe/system/InputSystem.h
+++ b/src/crepe/system/InputSystem.h
@@ -31,15 +31,15 @@ public:
private:
//! Stores the last position of the mouse when the button was pressed.
- ivec2 last_mouse_down_position{std::numeric_limits<int>::max(), std::numeric_limits<int>::max()};
+ ivec2 last_mouse_down_position{std::numeric_limits<int>::max(),
+ std::numeric_limits<int>::max()};
//! Stores the last mouse button pressed.
MouseButton last_mouse_button = MouseButton::NONE;
-
+
//! The maximum allowable distance between mouse down and mouse up to register as a click.
const int click_tolerance = 5;
-
/**
* \brief Handles the mouse click event.
* \param mouse_button The mouse button involved in the click.
diff --git a/src/example/button.cpp b/src/example/button.cpp
index 7efd889..00bdc28 100644
--- a/src/example/button.cpp
+++ b/src/example/button.cpp
@@ -36,7 +36,8 @@ int main(int argc, char * argv[]) {
std::function<void()> on_click = [&]() { std::cout << "button clicked" << std::endl; };
std::function<void()> on_enter = [&]() { std::cout << "enter" << std::endl; };
std::function<void()> on_exit = [&]() { std::cout << "exit" << std::endl; };
- auto & button = button_obj.add_component<Button>(vec2{100,100},vec2{0,0}, on_click, false);
+ auto & button
+ = button_obj.add_component<Button>(vec2{100, 100}, vec2{0, 0}, on_click, false);
button.on_mouse_enter = on_enter;
button.on_mouse_exit = on_exit;
button.is_toggle = true;
diff --git a/src/test/InputTest.cpp b/src/test/InputTest.cpp
index f7d1059..f9b2fe7 100644
--- a/src/test/InputTest.cpp
+++ b/src/test/InputTest.cpp
@@ -119,8 +119,8 @@ TEST_F(InputTest, MouseMove) {
function_triggered = true;
EXPECT_EQ(e.mouse_x, 0);
EXPECT_EQ(e.mouse_y, 0);
- EXPECT_EQ(e.delta_x , 10);
- EXPECT_EQ(e.delta_y , 10);
+ EXPECT_EQ(e.delta_x, 10);
+ EXPECT_EQ(e.delta_y, 10);
return false;
};
event_manager.subscribe<MouseMoveEvent>(on_mouse_move);
@@ -223,7 +223,8 @@ TEST_F(InputTest, testButtonClick) {
GameObject button_obj = mgr.new_object("body", "person", vec2{0, 0}, 0, 1);
bool button_clicked = false;
std::function<void()> on_click = [&]() { button_clicked = true; };
- auto & button = button_obj.add_component<Button>(vec2{100,100},vec2{0,0}, on_click, false);
+ auto & button
+ = button_obj.add_component<Button>(vec2{100, 100}, vec2{0, 0}, on_click, false);
bool hover = false;
button.active = true;
@@ -249,7 +250,8 @@ TEST_F(InputTest, testButtonHover) {
GameObject button_obj = mgr.new_object("body", "person", vec2{0, 0}, 0, 1);
bool button_clicked = false;
std::function<void()> on_click = [&]() { button_clicked = true; };
- auto & button = button_obj.add_component<Button>(vec2{100,100},vec2{0,0}, on_click, false);
+ auto & button
+ = button_obj.add_component<Button>(vec2{100, 100}, vec2{0, 0}, on_click, false);
button.active = true;
button.is_pressed = false;
button.is_toggle = false;