Window state change event data (event.window.*)
Defined in [SDL_events.h](https://github.com/libsdl-org/SDL/blob/SDL2/include/SDL_events.h), but apps should _only_ `#include "SDL.h"`!
typedef struct SDL_WindowEvent
{/**< ::SDL_WINDOWEVENT */
Uint32 type; /**< In milliseconds, populated using SDL_GetTicks() */
Uint32 timestamp; /**< The associated window */
Uint32 windowID; /**< ::SDL_WindowEventID */
Uint8 event;
Uint8 padding1;
Uint8 padding2;
Uint8 padding3;/**< event dependent data */
Sint32 data1; /**< event dependent data */
Sint32 data2; } SDL_WindowEvent;
void PrintEvent(const SDL_Event *event)
{if (event->type == SDL_WINDOWEVENT) {
switch (event->window.event) {
case SDL_WINDOWEVENT_SHOWN:
"Window %d shown", event->window.windowID);
SDL_Log(break;
case SDL_WINDOWEVENT_HIDDEN:
"Window %d hidden", event->window.windowID);
SDL_Log(break;
case SDL_WINDOWEVENT_EXPOSED:
"Window %d exposed", event->window.windowID);
SDL_Log(break;
case SDL_WINDOWEVENT_MOVED:
"Window %d moved to %d,%d",
SDL_Log(
event->window.windowID, event->window.data1,
event->window.data2);break;
case SDL_WINDOWEVENT_RESIZED:
"Window %d resized to %dx%d",
SDL_Log(
event->window.windowID, event->window.data1,
event->window.data2);break;
case SDL_WINDOWEVENT_SIZE_CHANGED:
"Window %d size changed to %dx%d",
SDL_Log(
event->window.windowID, event->window.data1,
event->window.data2);break;
case SDL_WINDOWEVENT_MINIMIZED:
"Window %d minimized", event->window.windowID);
SDL_Log(break;
case SDL_WINDOWEVENT_MAXIMIZED:
"Window %d maximized", event->window.windowID);
SDL_Log(break;
case SDL_WINDOWEVENT_RESTORED:
"Window %d restored", event->window.windowID);
SDL_Log(break;
case SDL_WINDOWEVENT_ENTER:
"Mouse entered window %d",
SDL_Log(
event->window.windowID);break;
case SDL_WINDOWEVENT_LEAVE:
"Mouse left window %d", event->window.windowID);
SDL_Log(break;
case SDL_WINDOWEVENT_FOCUS_GAINED:
"Window %d gained keyboard focus",
SDL_Log(
event->window.windowID);break;
case SDL_WINDOWEVENT_FOCUS_LOST:
"Window %d lost keyboard focus",
SDL_Log(
event->window.windowID);break;
case SDL_WINDOWEVENT_CLOSE:
"Window %d closed", event->window.windowID);
SDL_Log(break;
#if SDL_VERSION_ATLEAST(2, 0, 5)
case SDL_WINDOWEVENT_TAKE_FOCUS:
"Window %d is offered a focus", event->window.windowID);
SDL_Log(break;
case SDL_WINDOWEVENT_HIT_TEST:
"Window %d has a special hit test", event->window.windowID);
SDL_Log(break;
#endif
default:
"Window %d got unknown event %d",
SDL_Log(
event->window.windowID, event->window.event);break;
}
} }
Uint32 |
type |
SDL_WINDOWEVENT |
Uint32 |
timestamp |
timestamp of the event |
Uint32 |
windowID |
the associated window |
Uint8 |
event |
|
Sint32 |
data1 |
event dependent data |
Sint32 |
data2 |
event dependent data |
CategoryAPI, CategoryAPIStruct, CategoryStruct, CategoryEvents, CategoryVideo