From beac7a12432bd0ecb22d4a6703a774cf9d51374e Mon Sep 17 00:00:00 2001 From: TotallyNotElite <1yourexperiment@protonmail.com> Date: Fri, 24 May 2019 23:35:28 +0200 Subject: [PATCH] Proper fix for playerlist click detection --- include/visual/menu/menu/object/Text.hpp | 2 -- include/visual/menu/menu/object/container/TRow.hpp | 4 +++- .../visual/menu/menu/object/container/Table.hpp | 2 +- src/visual/menu/menu/Text.cpp | 14 -------------- src/visual/menu/menu/objects/container/TRow.cpp | 10 ++++++++++ src/visual/menu/menu/wm/WMWindow.cpp | 2 +- 6 files changed, 15 insertions(+), 19 deletions(-) diff --git a/include/visual/menu/menu/object/Text.hpp b/include/visual/menu/menu/object/Text.hpp index 271bf38a..fed4a26c 100644 --- a/include/visual/menu/menu/object/Text.hpp +++ b/include/visual/menu/menu/object/Text.hpp @@ -41,8 +41,6 @@ public: void emitSizeUpdate() override; - bool isHovered(); - // void setColorText(const rgba_t *color); diff --git a/include/visual/menu/menu/object/container/TRow.hpp b/include/visual/menu/menu/object/container/TRow.hpp index 67a9dcfe..3ad7c3d7 100644 --- a/include/visual/menu/menu/object/container/TRow.hpp +++ b/include/visual/menu/menu/object/container/TRow.hpp @@ -20,10 +20,12 @@ public: void setParent(BaseMenuObject *parent) override; + void updateIsHovered() override; + // // Table *table; }; -} // namespace zerokernel \ No newline at end of file +} // namespace zerokernel diff --git a/include/visual/menu/menu/object/container/Table.hpp b/include/visual/menu/menu/object/container/Table.hpp index 6974787d..1455abf7 100644 --- a/include/visual/menu/menu/object/container/Table.hpp +++ b/include/visual/menu/menu/object/container/Table.hpp @@ -40,4 +40,4 @@ public: std::vector columns{}; }; -} // namespace zerokernel \ No newline at end of file +} // namespace zerokernel diff --git a/src/visual/menu/menu/Text.cpp b/src/visual/menu/menu/Text.cpp index 0ec31e95..3ff4e300 100644 --- a/src/visual/menu/menu/Text.cpp +++ b/src/visual/menu/menu/Text.cpp @@ -31,20 +31,6 @@ void zerokernel::Text::set(std::string text) BaseMenuObject::emitSizeUpdate(); } -bool zerokernel::Text::isHovered() -{ - int mx{ 0 }; - int my{ 0 }; - - if (Menu::instance) - { - mx = Menu::instance->mouseX; - my = Menu::instance->mouseY; - } - - return bb.contains(mx, my); -} - bool zerokernel::Text::handleSdlEvent(SDL_Event *event) { if (!isHidden()) diff --git a/src/visual/menu/menu/objects/container/TRow.cpp b/src/visual/menu/menu/objects/container/TRow.cpp index a45554a2..c45f4a21 100755 --- a/src/visual/menu/menu/objects/container/TRow.cpp +++ b/src/visual/menu/menu/objects/container/TRow.cpp @@ -6,6 +6,16 @@ Created on 08.07.18. */ +void zerokernel::TRow::updateIsHovered() +{ + BaseMenuObject::updateIsHovered(); + + for (auto it = objects.rbegin(); it != objects.rend(); ++it) + { + (*it)->updateIsHovered(); + } +} + void zerokernel::TRow::reorderElements() { Container::reorderElements(); diff --git a/src/visual/menu/menu/wm/WMWindow.cpp b/src/visual/menu/menu/wm/WMWindow.cpp index 3319bc29..1a7a5522 100644 --- a/src/visual/menu/menu/wm/WMWindow.cpp +++ b/src/visual/menu/menu/wm/WMWindow.cpp @@ -184,4 +184,4 @@ bool WMWindow::isFocused() { return focused && !Menu::instance->isInGame(); } -} // namespace zerokernel \ No newline at end of file +} // namespace zerokernel