* Windows message loop. */
| 27 | * Windows message loop. |
| 28 | */ |
| 29 | LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) |
| 30 | { |
| 31 | if (UI::WndProc(hWnd, message, wParam, lParam)) return true; |
| 32 | |
| 33 | PAINTSTRUCT ps; |
| 34 | switch( message ) |
| 35 | { |
| 36 | case WM_PAINT: |
| 37 | BeginPaint( hWnd, &ps ); |
| 38 | EndPaint( hWnd, &ps ); |
| 39 | break; |
| 40 | case WM_SYSCOMMAND: |
| 41 | if ((wParam & 0xfff0) == SC_KEYMENU) return 0; // Disable ALT application menu |
| 42 | break; |
| 43 | case WM_ACTIVATEAPP: |
| 44 | Keyboard::ProcessMessage(message, wParam, lParam); |
| 45 | Mouse::ProcessMessage(message, wParam, lParam); |
| 46 | break; |
| 47 | case WM_INPUT: |
| 48 | case WM_MOUSEMOVE: |
| 49 | case WM_LBUTTONDOWN: |
| 50 | case WM_LBUTTONUP: |
| 51 | case WM_RBUTTONDOWN: |
| 52 | case WM_RBUTTONUP: |
| 53 | case WM_MBUTTONDOWN: |
| 54 | case WM_MBUTTONUP: |
| 55 | case WM_MOUSEWHEEL: |
| 56 | case WM_XBUTTONDOWN: |
| 57 | case WM_XBUTTONUP: |
| 58 | case WM_MOUSEHOVER: |
| 59 | if (UI::WantsMouseCapture()) return false; |
| 60 | Mouse::ProcessMessage(message, wParam, lParam); |
| 61 | break; |
| 62 | case WM_KEYDOWN: |
| 63 | case WM_SYSKEYDOWN: |
| 64 | case WM_KEYUP: |
| 65 | case WM_SYSKEYUP: |
| 66 | Keyboard::ProcessMessage(message, wParam, lParam); |
| 67 | break; |
| 68 | case WM_DESTROY: |
| 69 | PostQuitMessage( 0 ); |
| 70 | break; |
| 71 | } |
| 72 | return DefWindowProc(hWnd, message, wParam, lParam); |
| 73 | } |
| 74 | |
| 75 | namespace Window |
| 76 | { |
nothing calls this directly
no test coverage detected