diff options
| author | ladevieq <ladevie.quentin@gmail.com> | 2021-01-16 23:22:30 +0100 |
|---|---|---|
| committer | ladevieq <ladevie.quentin@gmail.com> | 2021-01-16 23:25:16 +0100 |
| commit | dfc9a9b37d544d3a357b560829d2a9a48e5e5f5b (patch) | |
| tree | ed7233644518f134081ca2878b526ae90812e130 /src/window.cpp | |
| parent | c4ed9a51d9630ceb87d5e4a256aee6cbdb82b0b9 (diff) | |
Add windows window event loop
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 |
