aboutsummaryrefslogtreecommitdiffstats
path: root/src/window.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/window.cpp')
-rw-r--r--src/window.cpp19
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