SDL  2.0
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,
  SDL_SYSWM_VIVANTE,
  SDL_SYSWM_OS2
}
 

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

◆ 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 
SDL_SYSWM_VIVANTE 
SDL_SYSWM_OS2 

Definition at line 116 of file SDL_syswm.h.

Function Documentation

◆ SDL_GetWindowWMInfo()

SDL_bool SDL_GetWindowWMInfo ( SDL_Window window,
SDL_SysWMinfo info 
)

This function allows access to driver-dependent window information.

Parameters
windowThe window about which information is being requested
infoThis 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:

if ( SDL_GetWindowWMInfo(window, &info) ) { ... }

Definition at line 3635 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().

3636 {
3637  CHECK_WINDOW_MAGIC(window, SDL_FALSE);
3638 
3639  if (!info) {
3640  SDL_InvalidParamError("info");
3641  return SDL_FALSE;
3642  }
3643  info->subsystem = SDL_SYSWM_UNKNOWN;
3644 
3645  if (!_this->GetWindowWMInfo) {
3646  SDL_Unsupported();
3647  return SDL_FALSE;
3648  }
3649  return (_this->GetWindowWMInfo(_this, window, info));
3650 }
SDL_SYSWM_TYPE subsystem
Definition: SDL_syswm.h:197
#define SDL_InvalidParamError(param)
Definition: SDL_error.h:54
static SDL_VideoDevice * _this
Definition: SDL_video.c:121
SDL_bool(* GetWindowWMInfo)(_THIS, SDL_Window *window, struct SDL_SysWMinfo *info)
Definition: SDL_sysvideo.h:247
#define CHECK_WINDOW_MAGIC(window, retval)
Definition: SDL_video.c:123
#define SDL_Unsupported()
Definition: SDL_error.h:53