Browse Source

win32 tests

gh-pages
falkTX 11 years ago
parent
commit
d2e2770f19
1 changed files with 18 additions and 7 deletions
  1. +18
    -7
      dgl/src/pugl/pugl_win.cpp

+ 18
- 7
dgl/src/pugl/pugl_win.cpp View File

@@ -39,6 +39,8 @@


const int LOCAL_CLOSE_MSG = WM_USER + 50; const int LOCAL_CLOSE_MSG = WM_USER + 50;


HINSTANCE hInstance = NULL;

struct PuglInternalsImpl { struct PuglInternalsImpl {
HWND hwnd; HWND hwnd;
HDC hdc; HDC hdc;
@@ -49,6 +51,15 @@ struct PuglInternalsImpl {
LRESULT CALLBACK LRESULT CALLBACK
wndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); wndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);


extern "C" {
BOOL WINAPI
DllMain(HINSTANCE hInst, DWORD, LPVOID)
{
hInstance = hInst;
return 1;
}
} // extern "C"

PuglView* PuglView*
puglCreate(PuglNativeWindow parent, puglCreate(PuglNativeWindow parent,
const char* title, const char* title,
@@ -77,9 +88,9 @@ puglCreate(PuglNativeWindow parent,
impl->wc.lpfnWndProc = wndProc; impl->wc.lpfnWndProc = wndProc;
impl->wc.cbClsExtra = 0; impl->wc.cbClsExtra = 0;
impl->wc.cbWndExtra = 0; impl->wc.cbWndExtra = 0;
impl->wc.hInstance = 0;
impl->wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
impl->wc.hCursor = LoadCursor(NULL, IDC_ARROW);
impl->wc.hInstance = hInstance;
impl->wc.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
impl->wc.hCursor = LoadCursor(hInstance, IDC_ARROW);
impl->wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); impl->wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
impl->wc.lpszMenuName = NULL; impl->wc.lpszMenuName = NULL;
impl->wc.lpszClassName = classNameBuf; impl->wc.lpszClassName = classNameBuf;
@@ -98,8 +109,8 @@ puglCreate(PuglNativeWindow parent,
WS_EX_TOPMOST, WS_EX_TOPMOST,
classNameBuf, title, classNameBuf, title,
(visible ? WS_VISIBLE : 0) | (parent ? WS_CHILD : winFlags), (visible ? WS_VISIBLE : 0) | (parent ? WS_CHILD : winFlags),
0, 0, wr.right-wr.left, wr.bottom-wr.top,
(HWND)parent, NULL, NULL, NULL);
CW_USEDEFAULT, CW_USEDEFAULT, wr.right-wr.left, wr.bottom-wr.top,
(HWND)parent, NULL, hInstance, NULL);


if (!impl->hwnd) { if (!impl->hwnd) {
free(impl); free(impl);
@@ -221,7 +232,7 @@ processMouseEvent(PuglView* view, int button, bool press, LPARAM lParam)
} else { } else {
ReleaseCapture(); ReleaseCapture();
} }
if (view->mouseFunc) { if (view->mouseFunc) {
view->mouseFunc(view, button, press, view->mouseFunc(view, button, press,
GET_X_LPARAM(lParam), GET_X_LPARAM(lParam),
@@ -251,7 +262,7 @@ handleMessage(PuglView* view, UINT message, WPARAM wParam, LPARAM lParam)
case WM_CREATE: case WM_CREATE:
case WM_SHOWWINDOW: case WM_SHOWWINDOW:
case WM_SIZE: case WM_SIZE:
RECT rect;
RECT rect;
GetClientRect(view->impl->hwnd, &rect); GetClientRect(view->impl->hwnd, &rect);
puglReshape(view, rect.right, rect.bottom); puglReshape(view, rect.right, rect.bottom);
view->width = rect.right; view->width = rect.right;


Loading…
Cancel
Save