A structure that contains window state change event data.
Uint32 |
type |
SDL_EVENT_WINDOW_HIDDEN |
Uint32 |
timestamp |
timestamp of the event |
Uint32 |
windowID |
the associated window |
Sint32 |
data1 |
event dependent data |
Sint32 |
data2 |
event dependent data |
#include <SDL3/SDL.h>
void PrintEvent(const SDL_Event * event)
{
if (event->type >= SDL_EVENT_WINDOW_FIRST && event->type <= SDL_EVENT_WINDOW_LAST) {
switch (event->type) {
case SDL_EVENT_WINDOW_SHOWN:
SDL_Log("Window %d shown", event->window.windowID);
break;
case SDL_EVENT_WINDOW_HIDDEN:
SDL_Log("Window %d hidden", event->window.windowID);
break;
case SDL_EVENT_WINDOW_EXPOSED:
SDL_Log("Window %d exposed", event->window.windowID);
break;
case SDL_EVENT_WINDOW_MOVED:
SDL_Log("Window %d moved to %d,%d",
event->window.windowID, event->window.data1,
event->window.data2);
break;
case SDL_EVENT_WINDOW_RESIZED:
SDL_Log("Window %d resized to %dx%d",
event->window.windowID, event->window.data1,
event->window.data2);
break;
case SDL_EVENT_WINDOW_SIZE_CHANGED:
SDL_Log("Window %d size changed to %dx%d",
event->window.windowID, event->window.data1,
event->window.data2);
break;
case SDL_EVENT_WINDOW_MINIMIZED:
SDL_Log("Window %d minimized", event->window.windowID);
break;
case SDL_EVENT_WINDOW_MAXIMIZED:
SDL_Log("Window %d maximized", event->window.windowID);
break;
case SDL_EVENT_WINDOW_RESTORED:
SDL_Log("Window %d restored", event->window.windowID);
break;
case SDL_EVENT_WINDOW_MOUSE_ENTER:
SDL_Log("Mouse entered window %d",
event->window.windowID);
break;
case SDL_EVENT_WINDOW_MOUSE_LEAVE:
SDL_Log("Mouse left window %d", event->window.windowID);
break;
case SDL_EVENT_WINDOW_FOCUS_GAINED:
SDL_Log("Window %d gained keyboard focus",
event->window.windowID);
break;
case SDL_EVENT_WINDOW_FOCUS_LOST:
SDL_Log("Window %d lost keyboard focus",
event->window.windowID);
break;
case SDL_EVENT_WINDOW_CLOSE_REQUESTED:
SDL_Log("Window %d closed", event->window.windowID);
break;
case SDL_EVENT_WINDOW_TAKE_FOCUS:
SDL_Log("Window %d is offered a focus", event->window.windowID);
break;
case SDL_EVENT_WINDOW_HIT_TEST:
SDL_Log("Window %d has a special hit test", event->window.windowID);
break;
default:
SDL_Log("Window %d got unknown event %d",
event->window.windowID, event->window.type);
break;
}
}
}
SDL_WindowEvent is a member of the SDL_Event union and is used when an event of type SDL_WINDOWEVENT is reported. You would access it through the event's window
field.