diff options
author | Aki <please@ignore.pl> | 2023-04-21 22:52:28 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2024-04-05 19:41:19 +0200 |
commit | 654c94e1d312970413e376214b11bd554040d30f (patch) | |
tree | 217084920141425c3f7f5bbc4657a97523dde5c0 /kurator | |
parent | 727ae858a73f4c36bf253a873530dc4dd78c498f (diff) | |
download | kurator-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.cpp | 11 | ||||
-rw-r--r-- | kurator/src/Mouse.cpp | 7 | ||||
-rw-r--r-- | kurator/src/Mouse.h | 3 |
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_; |