/** * @file miniwin/misc_msg.h * * Contains most of the the demomode specific logic */ #pragma once #include #include #ifdef USE_SDL1 #include "utils/sdl2_to_1_2_backports.h" #endif #include "engine/point.hpp" namespace devilution { struct tagMSG { uint32_t message; uint32_t wParam; uint16_t lParam; }; typedef void (*EventHandler)(uint32_t, uint32_t, uint16_t); void SetCursorPos(Point position); void FocusOnCharInfo(); void SetMouseButtonEvent(SDL_Event &event, uint32_t type, uint8_t button, Point position); bool FetchMessage(tagMSG *lpMsg); void PushMessage(const tagMSG *lpMsg); void PostMessage(uint32_t type, uint32_t wParam, uint16_t lParam); void ClearMessageQueue(); // // Events // #define DVL_WM_QUIT 0x0012 #define DVL_WM_MOUSEMOVE 0x0200 #define DVL_WM_LBUTTONDOWN 0x0201 #define DVL_WM_LBUTTONUP 0x0202 #define DVL_WM_RBUTTONDOWN 0x0204 #define DVL_WM_RBUTTONUP 0x0205 #define DVL_WM_MBUTTONDOWN 0x0206 #define DVL_WM_MBUTTONUP 0x0207 #define DVL_WM_X1BUTTONDOWN 0x0208 #define DVL_WM_X1BUTTONUP 0x0209 #define DVL_WM_X2BUTTONDOWN 0x020A #define DVL_WM_X2BUTTONUP 0x020B #define DVL_WM_KEYDOWN 0x0100 #define DVL_WM_KEYUP 0x0101 #define DVL_WM_CAPTURECHANGED 0x0215 #define DVL_WM_PAINT 0x000F #define DVL_WM_QUERYENDSESSION 0x0011 } // namespace devilution