diff options
Diffstat (limited to 'CruUI/ui/window.cpp')
-rw-r--r-- | CruUI/ui/window.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/CruUI/ui/window.cpp b/CruUI/ui/window.cpp index 2c731a1e..392bca87 100644 --- a/CruUI/ui/window.cpp +++ b/CruUI/ui/window.cpp @@ -97,9 +97,9 @@ namespace cru RefreshInvalidControlPositionCache(); // first refresh position cache. for (const auto i : cache_invalid_controls_) // traverse all descendants of position-invalid controls and notify position change event i->TraverseDescendants([](Control* control) - { - control->CheckAndNotifyPositionChanged(); - }); + { + control->CheckAndNotifyPositionChanged(); + }); cache_invalid_controls_.clear(); // after update and notify, clear the set. }); } @@ -401,6 +401,12 @@ namespace cru return rect; } + bool Window::IsMessageInQueue(UINT message) + { + MSG msg; + return ::PeekMessageW(&msg, hwnd_, message, message, PM_NOREMOVE) != 0; + } + void Window::OnDestroyInternal() { Application::GetInstance()->GetWindowManager()->UnregisterWindow(hwnd_); hwnd_ = nullptr; |