#pragma once #include "SDL.h" #include #include // https://wiki.libsdl.org/SDL3/README-migration#sdl_eventsh #define SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED (SDL_WINDOWEVENT + 2 + SDL_WINDOWEVENT_SIZE_CHANGED) #define SDL_EVENT_WINDOW_CLOSE_REQUESTED (SDL_WINDOWEVENT + 2 + SDL_WINDOWEVENT_CLOSE) #define SDL_EVENT_WINDOW_FOCUS_GAINED (SDL_WINDOWEVENT + 2 + SDL_WINDOWEVENT_FOCUS_GAINED) #define SDL_EVENT_WINDOW_FOCUS_LOST (SDL_WINDOWEVENT + 2 + SDL_WINDOWEVENT_FOCUS_LOST) // #define SDL_EVENT_MOUSE_BUTTON_DOWN SDL_MOUSEBUTTONDOWN // #define SDL_EVENT_MOUSE_BUTTON_UP SDL_MOUSEBUTTONUP // #define SDL_EVENT_MOUSE_MOTION SDL_MOUSEMOTION // // #define SDL_EVENT_FINGER_MOTION SDL_FINGERMOTION // #define SDL_EVENT_FINGER_DOWN SDL_FINGERDOWN // #define SDL_EVENT_FINGER_UP SDL_FINGERUP #define SDL_EVENT_FINGER_CANCELED 0 #define SDL_EVENT_QUIT SDL_QUIT #define SDL_EVENT_GAMEPAD_AXIS_MOTION SDL_CONTROLLERAXISMOTION #define SDL_EVENT_GAMEPAD_BUTTON_DOWN SDL_CONTROLLERBUTTONDOWN #define SDL_EVENT_GAMEPAD_BUTTON_UP SDL_CONTROLLERBUTTONUP #define SDL_EVENT_GAMEPAD_ADDED SDL_CONTROLLERDEVICEADDED // #define SDL_EVENT_GAMEPAD_REMAPPED SDL_CONTROLLERDEVICEREMAPPED #define SDL_EVENT_GAMEPAD_REMOVED SDL_CONTROLLERDEVICEREMOVED // #define SDL_EVENT_GAMEPAD_SENSOR_UPDATE SDL_CONTROLLERSENSORUPDATE // #define SDL_EVENT_GAMEPAD_STEAM_HANDLE_UPDATED SDL_CONTROLLERSTEAMHANDLEUPDATED // #define SDL_EVENT_GAMEPAD_TOUCHPAD_DOWN SDL_CONTROLLERTOUCHPADDOWN // #define SDL_EVENT_GAMEPAD_TOUCHPAD_MOTION SDL_CONTROLLERTOUCHPADMOTION // #define SDL_EVENT_GAMEPAD_TOUCHPAD_UP SDL_CONTROLLERTOUCHPADUP // #define SDL_EVENT_DROP_BEGIN SDL_DROPBEGIN // #define SDL_EVENT_DROP_COMPLETE SDL_DROPCOMPLETE // #define SDL_EVENT_DROP_FILE SDL_DROPFILE // #define SDL_EVENT_DROP_TEXT SDL_DROPTEXT #define SDL_EVENT_FINGER_DOWN SDL_FINGERDOWN #define SDL_EVENT_FINGER_MOTION SDL_FINGERMOTION #define SDL_EVENT_FINGER_UP SDL_FINGERUP // #define SDL_EVENT_FIRST SDL_FIRSTEVENT // #define SDL_EVENT_JOYSTICK_AXIS_MOTION SDL_JOYAXISMOTION // #define SDL_EVENT_JOYSTICK_BALL_MOTION SDL_JOYBALLMOTION // #define SDL_EVENT_JOYSTICK_BATTERY_UPDATED SDL_JOYBATTERYUPDATED // #define SDL_EVENT_JOYSTICK_BUTTON_DOWN SDL_JOYBUTTONDOWN // #define SDL_EVENT_JOYSTICK_BUTTON_UP SDL_JOYBUTTONUP // #define SDL_EVENT_JOYSTICK_ADDED SDL_JOYDEVICEADDED // #define SDL_EVENT_JOYSTICK_REMOVED SDL_JOYDEVICEREMOVED // #define SDL_EVENT_JOYSTICK_HAT_MOTION SDL_JOYHATMOTION #define SDL_EVENT_KEY_DOWN SDL_KEYDOWN // #define SDL_EVENT_KEYMAP_CHANGED SDL_KEYMAPCHANGED #define SDL_EVENT_KEY_UP SDL_KEYUP // #define SDL_EVENT_LAST SDL_LASTEVENT // #define SDL_EVENT_LOCALE_CHANGED SDL_LOCALECHANGED #define SDL_EVENT_MOUSE_BUTTON_DOWN SDL_MOUSEBUTTONDOWN #define SDL_EVENT_MOUSE_BUTTON_UP SDL_MOUSEBUTTONUP #define SDL_EVENT_MOUSE_MOTION SDL_MOUSEMOTION // #define SDL_EVENT_MOUSE_WHEEL SDL_MOUSEWHEEL // #define SDL_EVENT_POLL_SENTINEL SDL_POLLSENTINEL #define fingerID fingerId #define touchID touchId #define gaxis caxis #define gbutton cbutton inline SDL_Window* SDL_GetWindowFromEvent(const SDL_Event* event) { Uint32 windowID = 0; if (event->type >= SDL_USEREVENT && event->type <= SDL_LASTEVENT) { windowID = event->user.windowID; } else { switch (event->type) { case SDL_WINDOWEVENT: windowID = event->window.windowID; break; case SDL_KEYDOWN: case SDL_KEYUP: case SDL_KEYMAPCHANGED: windowID = event->key.windowID; break; case SDL_TEXTEDITING: windowID = event->edit.windowID; break; case SDL_TEXTINPUT: windowID = event->text.windowID; break; case SDL_TEXTEDITING_EXT: windowID = event->editExt.windowID; break; case SDL_MOUSEMOTION: windowID = event->motion.windowID; break; case SDL_MOUSEBUTTONDOWN: case SDL_MOUSEBUTTONUP: windowID = event->button.windowID; break; case SDL_MOUSEWHEEL: windowID = event->wheel.windowID; break; case SDL_FINGERDOWN: case SDL_FINGERUP: case SDL_FINGERMOTION: windowID = event->tfinger.windowID; break; case SDL_DROPFILE: case SDL_DROPTEXT: case SDL_DROPBEGIN: case SDL_DROPCOMPLETE: windowID = event->drop.windowID; break; } } return SDL_GetWindowFromID(windowID); }