summaryrefslogtreecommitdiff
path: root/plugingui/nativewindow_win32.cc
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2016-03-12 10:54:52 +0100
committerBent Bisballe Nyeng <deva@aasimon.org>2016-03-12 10:54:52 +0100
commitb9773f6eecea38e6a5aa28745cc6fe79aa2d441f (patch)
tree3740949c67bb6bfe533b35974f230c0443ce2c57 /plugingui/nativewindow_win32.cc
parent4bda33e204fafc4fdee6d14d5167ca7a801400ae (diff)
Add parent widget pointer for contained plugin windows. Remove threaded event handling and make all event handling depend on processEcvents being called with a regular (~50ms) interval.
Diffstat (limited to 'plugingui/nativewindow_win32.cc')
-rw-r--r--plugingui/nativewindow_win32.cc23
1 files changed, 6 insertions, 17 deletions
diff --git a/plugingui/nativewindow_win32.cc b/plugingui/nativewindow_win32.cc
index e3103b1..5acb43b 100644
--- a/plugingui/nativewindow_win32.cc
+++ b/plugingui/nativewindow_win32.cc
@@ -283,11 +283,10 @@ LRESULT CALLBACK NativeWindowWin32::dialogProc(HWND hwnd, UINT msg,
return DefWindowProc(hwnd, msg, wp, lp);
}
-NativeWindowWin32::NativeWindowWin32(Window& window)
+NativeWindowWin32::NativeWindowWin32(void* native_window, Window& window)
: window(window)
{
WNDCLASSEX wcex;
- WNDID wndId;
std::memset(&wcex, 0, sizeof(wcex));
@@ -316,22 +315,12 @@ NativeWindowWin32::NativeWindowWin32(Window& window)
RegisterClassEx(&wcex);
- /*
- if(parent) {
- style = style | WS_CHILD;
- wndId = parent->getWndId();
- } else {
- */
- //style = style | WS_OVERLAPPEDWINDOW;
- wndId = 0;
- // }
-
m_hwnd = CreateWindowEx(0/*ex_style*/, m_className,
"DGBasisWidget",
- (WS_OVERLAPPEDWINDOW | WS_VISIBLE),
+ (native_window?WS_CHILD:WS_OVERLAPPEDWINDOW) | WS_VISIBLE,
window.x(), window.y(),
window.width(), window.height(),
- wndId, nullptr,
+ (HWND)native_window, nullptr,
GetModuleHandle(nullptr), nullptr);
SetWindowLongPtr(m_hwnd, GWLP_USERDATA, (LONG_PTR)this);
@@ -407,7 +396,7 @@ void NativeWindowWin32::grabMouse(bool grab)
bool NativeWindowWin32::hasEvent()
{
MSG msg;
- return PeekMessage(&msg, nullptr, 0, 0, PM_NOREMOVE) != 0;
+ return PeekMessage(&msg, m_hwnd, 0, 0, PM_NOREMOVE) != 0;
}
Event* NativeWindowWin32::getNextEvent()
@@ -415,7 +404,7 @@ Event* NativeWindowWin32::getNextEvent()
Event* event = nullptr;
MSG msg;
- if(GetMessage(&msg, nullptr, 0, 0))
+ if(GetMessage(&msg, m_hwnd, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
@@ -432,7 +421,7 @@ Event* NativeWindowWin32::peekNextEvent()
Event* event = nullptr;
MSG msg;
- if(PeekMessage(&msg, nullptr, 0, 0, PM_NOREMOVE))
+ if(PeekMessage(&msg, m_hwnd, 0, 0, PM_NOREMOVE))
{
TranslateMessage(&msg);
DispatchMessage(&msg);