From 061261b91127d9294d8f09a66cae344253963089 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: a2a018254f6f6ebc36f402e6cec12b5ab048d4c3 [formerly d3a5c72ac4b0df83cb1100ea0f58b2c03e029d18] [formerly 404765b9f0bac1b2b41e594783ae730c15c7dfc0 [formerly e0628754a233a7cde8ffa60e02e4614dc3d9961e]] Former-commit-id: 127c9d5cd50790a3003fd4a6ea4c21b17526c7ae [formerly 545310c49f5a4e118cf089480e7c7321f09719a0] Former-commit-id: 217ef14e8265f3bb469e859e61c1a18e5f8e5c14 --- 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));