SDL_syswm.h File Reference
`#include "SDL_stdinc.h"`
`#include "SDL_error.h"`
`#include "SDL_video.h"`
`#include "SDL_version.h"`
`#include "begin_code.h"`
`#include <X11/Xlib.h>`
`#include <X11/Xatom.h>`
`#include "close_code.h"`
Include dependency graph for SDL_syswm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures

struct | SDL_SysWMmsg
struct | SDL_SysWMinfo

## Enumerations

enum | SDL_SYSWM_TYPE { SDL_SYSWM_UNKNOWN, SDL_SYSWM_WINDOWS, SDL_SYSWM_X11, SDL_SYSWM_DIRECTFB, SDL_SYSWM_COCOA, SDL_SYSWM_UIKIT, SDL_SYSWM_WAYLAND, SDL_SYSWM_MIR, SDL_SYSWM_WINRT, SDL_SYSWM_ANDROID }

## Functions

SDL_bool | SDL_GetWindowWMInfo (SDL_Window *window, SDL_SysWMinfo *info)
| This function allows access to driver-dependent window information. More...

## Detailed Description

Include file for SDL custom system window manager hooks.

Your application has access to a special type of event SDL_SYSWMEVENT, which contains window-manager specific information and arrives whenever an unhandled window event occurs. This event is ignored by default, but you can enable it with SDL_EventState().

Definition in file SDL_syswm.h.

## Enumeration Type Documentation

enum SDL_SYSWM_TYPE

These are the various supported windowing subsystems

Enumerator
SDL_SYSWM_UNKNOWN |
SDL_SYSWM_WINDOWS |
SDL_SYSWM_X11 |
SDL_SYSWM_DIRECTFB |
SDL_SYSWM_COCOA |
SDL_SYSWM_UIKIT |
SDL_SYSWM_WAYLAND |
SDL_SYSWM_MIR |
SDL_SYSWM_WINRT |
SDL_SYSWM_ANDROID |

Definition at line 112 of file SDL_syswm.h.

{
SDL_SYSWM_UNKNOWN,
SDL_SYSWM_WINDOWS,
SDL_SYSWM_X11,
SDL_SYSWM_DIRECTFB,
SDL_SYSWM_COCOA,
SDL_SYSWM_UIKIT,
SDL_SYSWM_WAYLAND,
SDL_SYSWM_MIR,
SDL_SYSWM_WINRT,
SDL_SYSWM_ANDROID
} SDL_SYSWM_TYPE;
SDL_SYSWM_TYPE
SDL_SYSWM_TYPE
Definition: SDL_syswm.h:112
SDL_SYSWM_UNKNOWN
Definition: SDL_syswm.h:114
SDL_SYSWM_X11
Definition: SDL_syswm.h:116
SDL_SYSWM_WINRT
Definition: SDL_syswm.h:122
SDL_SYSWM_DIRECTFB
Definition: SDL_syswm.h:117
SDL_SYSWM_WINDOWS
Definition: SDL_syswm.h:115
SDL_SYSWM_ANDROID
Definition: SDL_syswm.h:123
SDL_SYSWM_WAYLAND
Definition: SDL_syswm.h:120
SDL_SYSWM_UIKIT
Definition: SDL_syswm.h:119
SDL_SYSWM_COCOA
Definition: SDL_syswm.h:118
SDL_SYSWM_MIR
Definition: SDL_syswm.h:121

## Function Documentation

SDL_bool SDL_GetWindowWMInfo | ( | SDL_Window * | window,
|  | SDL_SysWMinfo * | info
| ) |  |

This function allows access to driver-dependent window information.

Parameters

  window | The window about which information is being requested
  info | This structure must be initialized with the SDL version, and is then filled in with information about the given window.

Returns
  SDL_TRUE if the function is implemented and the version member of the `info` struct is valid, SDL_FALSE otherwise.

You typically use this function like this:

SDL_SysWMinfo info;
SDL_VERSION(&info.version);
if ( SDL_GetWindowWMInfo(window, &info) ) { ... }

Definition at line 3379 of file SDL_video.c.

References CHECK_WINDOW_MAGIC, SDL_VideoDevice::GetWindowWMInfo, SDL_FALSE, SDL_InvalidParamError, SDL_SYSWM_UNKNOWN, SDL_Unsupported, and SDL_SysWMinfo::subsystem.

Referenced by SDL_MessageboxValidForDriver().

{
CHECK_WINDOW_MAGIC(window, SDL_FALSE);
if (!info) {
SDL_InvalidParamError("info");
return SDL_FALSE;
}
info->subsystem = SDL_SYSWM_UNKNOWN;
if (!_this->GetWindowWMInfo) {
SDL_Unsupported();
return SDL_FALSE;
}
return (_this->GetWindowWMInfo(_this, window, info));
}
SDL_SYSWM_UNKNOWN
Definition: SDL_syswm.h:114
SDL_SysWMinfo::subsystem
SDL_SYSWM_TYPE subsystem
Definition: SDL_syswm.h:184
SDL_InvalidParamError
#define SDL_InvalidParamError(param)
Definition: SDL_error.h:54
_this
static SDL_VideoDevice * _this
Definition: SDL_video.c:114
SDL_VideoDevice::GetWindowWMInfo
SDL_bool(* GetWindowWMInfo)(_THIS, SDL_Window *window, struct SDL_SysWMinfo *info)
Definition: SDL_sysvideo.h:227
SDL_FALSE
Definition: SDL_stdinc.h:128
CHECK_WINDOW_MAGIC
#define CHECK_WINDOW_MAGIC(window, retval)
Definition: SDL_video.c:116
SDL_Unsupported
#define SDL_Unsupported()
Definition: SDL_error.h:53