From f59d2329c904e8cb5f6509050444bf2aee4b8f65 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sun, 29 Nov 2015 09:32:52 +0100 Subject: Move event skip optimization fromNativeWindowXYZ to EventHandler --- plugingui/nativewindow_win32.cc | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'plugingui/nativewindow_win32.cc') diff --git a/plugingui/nativewindow_win32.cc b/plugingui/nativewindow_win32.cc index 9f8936f..72e0598 100644 --- a/plugingui/nativewindow_win32.cc +++ b/plugingui/nativewindow_win32.cc @@ -411,7 +411,7 @@ void NativeWindowWin32::grabMouse(bool grab) bool NativeWindowWin32::hasEvent() { MSG msg; - return PeekMessage(&msg, nullptr, 0, 0, 0) != 0; + return PeekMessage(&msg, nullptr, 0, 0, PM_NOREMOVE) != 0; } Event* NativeWindowWin32::getNextEvent() @@ -431,4 +431,21 @@ Event* NativeWindowWin32::getNextEvent() return event; } +Event* NativeWindowWin32::peekNextEvent() +{ + Event* event = nullptr; + + MSG msg; + if(PeekMessage(&msg, nullptr, 0, 0, PM_NOREMOVE)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + event = this->event; + this->event = nullptr; + + return event; +} + } // GUI:: -- cgit v1.2.3