From 7a111101e6d1cb6403da584178373757998feff0 Mon Sep 17 00:00:00 2001 From: Lynix Date: Fri, 16 Sep 2016 16:56:10 +0200 Subject: [PATCH] Sdk/ButtonWidget: Make buttons clickable Former-commit-id: 999f91775de93746f964b5a8d9276208cd8a592b [formerly e135030f2cb801715242168c305950d8991f38f1] [formerly 9e88a4002c5293aa0f96585e23992e6b539961a4 [formerly ad29706e81fe2facde2a1e669ac0e0b558f0ae0a]] Former-commit-id: 32b8c7ebe3a5bccd02fa929471548b8872bdac16 [formerly 5d1450890b7dc43e967e3e1431f2ceb6c415b655] Former-commit-id: 21f53b1616bc5c367f7696c86781e5dad8455335 --- SDK/include/NDK/Widgets/ButtonWidget.hpp | 3 +++ SDK/src/NDK/Widgets/ButtonWidget.cpp | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/SDK/include/NDK/Widgets/ButtonWidget.hpp b/SDK/include/NDK/Widgets/ButtonWidget.hpp index 157304738..e2173d17e 100644 --- a/SDK/include/NDK/Widgets/ButtonWidget.hpp +++ b/SDK/include/NDK/Widgets/ButtonWidget.hpp @@ -34,11 +34,14 @@ namespace Ndk ButtonWidget& operator=(const ButtonWidget&) = delete; ButtonWidget& operator=(ButtonWidget&&) = default; + NazaraSignal(OnButtonTrigger, const ButtonWidget* /*button*/); + private: void Layout() override; void OnMouseEnter() override; void OnMouseMoved(int x, int y, int deltaX, int deltaY) override; + void OnMouseButtonRelease(int x, int y, Nz::Mouse::Button button) override; void OnMouseExit() override; EntityHandle m_textEntity; diff --git a/SDK/src/NDK/Widgets/ButtonWidget.cpp b/SDK/src/NDK/Widgets/ButtonWidget.cpp index db7fa53b4..d2005bb8b 100644 --- a/SDK/src/NDK/Widgets/ButtonWidget.cpp +++ b/SDK/src/NDK/Widgets/ButtonWidget.cpp @@ -48,6 +48,12 @@ namespace Ndk m_textEntity->GetComponent().SetPosition(contentSize.x / 2 - textBox.width / 2, contentSize.y / 2 - textBox.height / 2); } + void ButtonWidget::OnMouseButtonRelease(int /*x*/, int /*y*/, Nz::Mouse::Button button) + { + if (button == Nz::Mouse::Left) + OnButtonTrigger(this); + } + void ButtonWidget::OnMouseEnter() { m_gradientSprite->SetColor(Nz::Color(128, 128, 128));