= SDL_WindowEvent =
A structure that contains window state change event data.
== Data Fields ==
{|
|Uint32
|'''type'''
|SDL_EVENT_WINDOW_HIDDEN
SDL_EVENT_WINDOW_EXPOSED
SDL_EVENT_WINDOW_MOVED
SDL_EVENT_WINDOW_RESIZED
SDL_EVENT_WINDOW_SIZE_CHANGED
SDL_EVENT_WINDOW_MINIMIZED
SDL_EVENT_WINDOW_MAXIMIZED
SDL_EVENT_WINDOW_RESTORED
SDL_EVENT_WINDOW_MOUSE_ENTER
SDL_EVENT_WINDOW_MOUSE_LEAVE
SDL_EVENT_WINDOW_FOCUS_GAINED
SDL_EVENT_WINDOW_FOCUS_LOST
SDL_EVENT_WINDOW_CLOSE_REQUESTED
SDL_EVENT_WINDOW_TAKE_FOCUS
SDL_EVENT_WINDOW_HIT_TEST
SDL_EVENT_WINDOW_ICCPROF_CHANGED
SDL_EVENT_WINDOW_DISPLAY_CHANGED
|-
|Uint32
|'''timestamp'''
|timestamp of the event
|-
|Uint32
|'''windowID'''
|the associated window
|-
|Sint32
|'''data1'''
|event dependent data
|-
|Sint32
|'''data2'''
|event dependent data
|}
== Code Examples ==
#include
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;
}
}
}
== Remarks ==
[[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.
== Related Enumerations ==
:[[SDL_EventType]]
:[[SDL_WindowEventID]]
== Related Structures ==
:[[SDL_Event]]
----
[[CategoryStruct]], [[CategoryEvents]], [[CategoryVideo]]