/* Copyright (c) 2002-2012 Croteam Ltd. All rights reserved. */ #ifndef SE_INCL_SDLEVENTS_H #define SE_INCL_SDLEVENTS_H #ifdef PRAGMA_ONCE #pragma once #endif #include #include "SDL.h" typedef struct SSAM_SDL_MSG { UINT message; WPARAM wParam; LPARAM lParam; Uint16 unicode; } MSG, *PMSG; #define PM_REMOVE 37337 // super l33t. :) #define WM_CHAR (SDL_TEXTINPUT) #define WM_MOUSEWHEEL (SDL_MOUSEWHEEL) #define WM_KEYDOWN (SDL_KEYDOWN) #define WM_KEYUP (SDL_KEYUP) #define WM_MOUSEMOVE (SDL_MOUSEMOTION) #define WM_QUIT (SDL_QUIT) extern SDL_EventType WM_SYSKEYDOWN; extern SDL_EventType WM_LBUTTONDOWN; extern SDL_EventType WM_LBUTTONUP; extern SDL_EventType WM_RBUTTONDOWN; extern SDL_EventType WM_RBUTTONUP; extern SDL_EventType WM_PAINT; // !!! FIXME: are these not used? Because we can deal with some of these in SDL2. #define WM_NULL (SDL_FIRSTEVENT) #define WM_CLOSE (SDL_FIRSTEVENT) #define WM_COMMAND (SDL_FIRSTEVENT) #define WM_ERASEBKGND (SDL_FIRSTEVENT) #define WM_KILLFOCUS (SDL_FIRSTEVENT) #define WM_MOUSEFIRST (SDL_FIRSTEVENT) #define WM_MOUSELAST (SDL_FIRSTEVENT) #define WM_LBUTTONDBLCLK (SDL_FIRSTEVENT) #define WM_RBUTTONDBLCLK (SDL_FIRSTEVENT) #define WM_SYSCOMMAND (SDL_FIRSTEVENT) #define WM_SETFOCUS (SDL_FIRSTEVENT) #define WM_ACTIVATE (SDL_FIRSTEVENT) #define WM_ACTIVATEAPP (SDL_FIRSTEVENT) #define WM_CANCELMODE (SDL_FIRSTEVENT) BOOL PeekMessage(MSG *msg, void *hwnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg); void TranslateMessage(MSG *msg); void DispatchMessage(MSG *msg); #define VK_ADD SDLK_KP_PLUS #define VK_BACK SDLK_BACKSPACE #define VK_CAPITAL SDLK_CAPSLOCK #define VK_CONTROL SDLK_RCTRL #define VK_DECIMAL SDLK_KP_PERIOD #define VK_DELETE SDLK_DELETE #define VK_DIVIDE SDLK_KP_DIVIDE #define VK_DOWN SDLK_DOWN #define VK_END SDLK_END #define VK_ESCAPE SDLK_ESCAPE #define VK_F1 SDLK_F1 #define VK_F2 SDLK_F2 #define VK_F3 SDLK_F3 #define VK_F4 SDLK_F4 #define VK_F5 SDLK_F5 #define VK_F6 SDLK_F6 #define VK_F7 SDLK_F7 #define VK_F8 SDLK_F8 #define VK_F9 SDLK_F9 #define VK_F10 SDLK_F10 #define VK_F11 SDLK_F11 #define VK_F12 SDLK_F12 #define VK_HOME SDLK_HOME #define VK_INSERT SDLK_INSERT #define VK_LCONTROL SDLK_LCTRL #define VK_LEFT SDLK_LEFT #define VK_LMENU SDLK_LALT #define VK_LSHIFT SDLK_LSHIFT #define VK_MENU SDLK_LALT #define VK_MULTIPLY SDLK_KP_MULTIPLY #define VK_NEXT SDLK_PAGEDOWN #define VK_NUMLOCK SDLK_NUMLOCK #define VK_NUMPAD0 SDLK_KP0 #define VK_NUMPAD1 SDLK_KP1 #define VK_NUMPAD2 SDLK_KP2 #define VK_NUMPAD3 SDLK_KP3 #define VK_NUMPAD4 SDLK_KP4 #define VK_NUMPAD5 SDLK_KP5 #define VK_NUMPAD6 SDLK_KP6 #define VK_NUMPAD7 SDLK_KP7 #define VK_NUMPAD8 SDLK_KP8 #define VK_NUMPAD9 SDLK_KP9 #define VK_PAUSE SDLK_PAUSE #define VK_PRIOR SDLK_PAGEUP #define VK_RCONTROL SDLK_RCTRL #define VK_RETURN SDLK_RETURN #define VK_RIGHT SDLK_RIGHT #define VK_RMENU SDLK_RALT #define VK_RSHIFT SDLK_RSHIFT #define VK_SCROLL SDLK_SCROLLOCK #define VK_SEPARATOR SDLK_KP_ENTER #define VK_SHIFT SDLK_LSHIFT #define VK_SNAPSHOT SDLK_PRINT #define VK_SPACE SDLK_SPACE #define VK_SUBTRACT SDLK_KP_MINUS #define VK_TAB SDLK_TAB #define VK_UP SDLK_UP // Pray these never get filled. #define VK_LBUTTON 1 #define VK_RBUTTON 2 #define VK_MBUTTON 3 BOOL IsIconic(void *hWnd); SHORT GetKeyState(int vk); SHORT GetAsyncKeyState(int vk); BOOL GetCursorPos(LPPOINT lpPoint); BOOL ScreenToClient(void *hWnd, LPPOINT lpPoint); int ShowCursor(BOOL yes); #define LOWORD(x) (x & 0x0000FFFF) #define HIWORD(x) ((x >> 16) & 0x0000FFFF) #endif /* include-once blocker. */