LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_CREATE: LPCREATESTRUCT p_cs; p_cs = (LPCREATESTRUCT)lParam; curD3D = (d3d_video_t*)p_cs->lpCreateParams; break; case WM_CHAR: case WM_KEYDOWN: case WM_KEYUP: case WM_SYSKEYUP: case WM_SYSKEYDOWN: return win32_handle_keyboard_event(hWnd, message, wParam, lParam); case WM_DESTROY: d3d_quit = true; return 0; case WM_SIZE: unsigned new_width, new_height; new_width = LOWORD(lParam); new_height = HIWORD(lParam); if (new_width && new_height) d3d_resize(driver.video_data, new_width, new_height); return 0; } if (dinput_handle_message(dinput, message, wParam, lParam)) return 0; return DefWindowProc(hWnd, message, wParam, lParam); }
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { driver_t *driver = driver_get_ptr(); settings_t *settings = config_get_ptr(); switch (message) { case WM_CREATE: { LPCREATESTRUCT p_cs = (LPCREATESTRUCT)lParam; curD3D = (d3d_video_t*)p_cs->lpCreateParams; } break; case WM_CHAR: case WM_KEYDOWN: case WM_KEYUP: case WM_SYSKEYUP: case WM_SYSKEYDOWN: return win32_handle_keyboard_event(hWnd, message, wParam, lParam); case WM_DESTROY: d3d_quit = true; return 0; case WM_SIZE: { unsigned new_width = LOWORD(lParam); unsigned new_height = HIWORD(lParam); if (new_width && new_height) d3d_resize(driver->video_data, new_width, new_height); } return 0; case WM_COMMAND: if (settings->ui.menubar_enable) { d3d_video_t *d3d = (d3d_video_t*)driver->video_data; HWND d3dr = d3d->hWnd; LRESULT ret = win32_menu_loop(d3dr, wParam); } break; } if (dinput_handle_message(dinput, message, wParam, lParam)) return 0; return DefWindowProc(hWnd, message, wParam, lParam); }