From 4f1438f0f1acec0c6b4b6095b9df45ee0fa73024 Mon Sep 17 00:00:00 2001 From: Lynix Date: Wed, 11 Jan 2017 18:27:32 +0100 Subject: [PATCH] SDK/BaseWidget: Add OnParentResized method --- SDK/include/NDK/BaseWidget.hpp | 2 ++ SDK/include/NDK/BaseWidget.inl | 9 ++++++++- SDK/src/NDK/BaseWidget.cpp | 4 ++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/SDK/include/NDK/BaseWidget.hpp b/SDK/include/NDK/BaseWidget.hpp index 1e6fe7c64..9ec787890 100644 --- a/SDK/include/NDK/BaseWidget.hpp +++ b/SDK/include/NDK/BaseWidget.hpp @@ -78,11 +78,13 @@ namespace Ndk virtual void OnMouseButtonPress(int x, int y, Nz::Mouse::Button button); virtual void OnMouseButtonRelease(int x, int y, Nz::Mouse::Button button); virtual void OnMouseExit(); + virtual void OnParentResized(const Nz::Vector2f& newSize); virtual void OnTextEntered(char32_t character, bool repeated); private: inline BaseWidget(); + inline void NotifyParentResized(const Nz::Vector2f& newSize); inline void UpdateCanvasIndex(std::size_t index); std::size_t m_canvasIndex; diff --git a/SDK/include/NDK/BaseWidget.inl b/SDK/include/NDK/BaseWidget.inl index 0b13ee7c7..4bc1be8b3 100644 --- a/SDK/include/NDK/BaseWidget.inl +++ b/SDK/include/NDK/BaseWidget.inl @@ -63,8 +63,9 @@ namespace Ndk inline void BaseWidget::SetContentSize(const Nz::Vector2f& size) { + NotifyParentResized(size); m_contentSize = size; - + Layout(); } @@ -78,6 +79,12 @@ namespace Ndk Layout(); } + inline void BaseWidget::NotifyParentResized(const Nz::Vector2f& newSize) + { + for (const auto& widgetPtr : m_children) + widgetPtr->OnParentResized(newSize); + } + inline void BaseWidget::UpdateCanvasIndex(std::size_t index) { m_canvasIndex = index; diff --git a/SDK/src/NDK/BaseWidget.cpp b/SDK/src/NDK/BaseWidget.cpp index 43ffbeb52..dcaccd756 100644 --- a/SDK/src/NDK/BaseWidget.cpp +++ b/SDK/src/NDK/BaseWidget.cpp @@ -126,6 +126,10 @@ namespace Ndk { } + void BaseWidget::OnParentResized(const Nz::Vector2f& newSize) + { + } + void BaseWidget::OnTextEntered(char32_t character, bool repeated) { }