summaryrefslogtreecommitdiff
path: root/kurator
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2023-04-21 22:52:28 +0200
committerAki <please@ignore.pl>2024-04-05 19:41:19 +0200
commit654c94e1d312970413e376214b11bd554040d30f (patch)
tree217084920141425c3f7f5bbc4657a97523dde5c0 /kurator
parent727ae858a73f4c36bf253a873530dc4dd78c498f (diff)
downloadkurator-654c94e1d312970413e376214b11bd554040d30f.zip
kurator-654c94e1d312970413e376214b11bd554040d30f.tar.gz
kurator-654c94e1d312970413e376214b11bd554040d30f.tar.bz2
Replaced Mouse dragging start+pos combo with a Rect
Diffstat (limited to 'kurator')
-rw-r--r--kurator/src/Controller.cpp11
-rw-r--r--kurator/src/Mouse.cpp7
-rw-r--r--kurator/src/Mouse.h3
3 files changed, 8 insertions, 13 deletions
diff --git a/kurator/src/Controller.cpp b/kurator/src/Controller.cpp
index d7efcdb..3512f3e 100644
--- a/kurator/src/Controller.cpp
+++ b/kurator/src/Controller.cpp
@@ -26,15 +26,8 @@ void Controller::update(sim::State& ctx)
void Controller::draw(const sim::State&) const
{
if (mouse.is_dragging()) {
- const auto pos = mouse.position();
- const auto start = mouse.start();
- const auto diff = start - pos;
- DrawRectangleLines(
- std::min(pos.x, start.x),
- std::min(pos.y, start.y),
- std::abs(diff.x),
- std::abs(diff.y),
- GRAY);
+ const auto rect = mouse.selection();
+ DrawRectangleLines(rect.position.x, rect.position.y, rect.size.x, rect.size.y, GRAY);
}
}
diff --git a/kurator/src/Mouse.cpp b/kurator/src/Mouse.cpp
index e66d869..aeaa8e5 100644
--- a/kurator/src/Mouse.cpp
+++ b/kurator/src/Mouse.cpp
@@ -3,6 +3,7 @@
#include <raylib.h>
#include <kurator/engine/Point.h>
+#include <kurator/engine/Rect.h>
namespace kurator
@@ -30,10 +31,10 @@ Mouse::position() const
}
-engine::Point
-Mouse::start() const
+engine::Rect
+Mouse::selection() const
{
- return start_;
+ return {start_, position()};
}
diff --git a/kurator/src/Mouse.h b/kurator/src/Mouse.h
index c5c1f0e..81afe2c 100644
--- a/kurator/src/Mouse.h
+++ b/kurator/src/Mouse.h
@@ -1,6 +1,7 @@
#pragma once
#include <kurator/engine/Point.h>
+#include <kurator/engine/Rect.h>
namespace kurator
@@ -13,7 +14,7 @@ public:
Mouse();
void update();
engine::Point position() const;
- engine::Point start() const;
+ engine::Rect selection() const;
bool is_dragging() const;
private:
engine::Point start_;