diff options
Diffstat (limited to 'src/window.cpp')
| -rw-r--r-- | src/window.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/window.cpp b/src/window.cpp index a55a439..489473b 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -41,6 +41,7 @@ LRESULT CALLBACK window::window_procedure(HWND hwnd, UINT umsg, WPARAM wparam, L SetWindowLongPtr(hwnd, GWLP_USERDATA, (LONG_PTR)win); } else { win = (window*)GetWindowLongPtr(hwnd, GWLP_USERDATA); + return win->message_handler(hwnd, umsg, wparam, lparam); } return DefWindowProc(hwnd, umsg, wparam, lparam); @@ -82,4 +83,22 @@ window::window(uint32_t width, uint32_t height) isOpen = true; } + +void window::poll_events() { + MSG msg = {}; + + while (PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE)) { + TranslateMessage(&msg); + DispatchMessage(&msg); + } +} + +LRESULT window::message_handler(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam) { + switch(umsg) { + default: + return DefWindowProc(hwnd, umsg, wparam, lparam); + } + + return 0; +} #endif |
