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 <X11/Xlib.h>
#include <X11/Xatom.h>
#include "begin_code.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,
  SDL_SYSWM_HAIKU
}
 

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.

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 
SDL_SYSWM_HAIKU 

Definition at line 122 of file SDL_syswm.h.

123 {
131  SDL_SYSWM_MIR, /* no longer available, left for API/ABI compatibility. Remove in 2.1! */

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 3758 of file SDL_video.c.

3759 {
3761 
3762  if (!info) {
3763  SDL_InvalidParamError("info");
3764  return SDL_FALSE;
3765  }
3766  info->subsystem = SDL_SYSWM_UNKNOWN;
3767 
3768  if (!_this->GetWindowWMInfo) {
3769  SDL_Unsupported();
3770  return SDL_FALSE;
3771  }
3772  return (_this->GetWindowWMInfo(_this, window, info));
3773 }

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

Referenced by SDL_MessageboxValidForDriver().

SDL_SYSWM_UNKNOWN
@ SDL_SYSWM_UNKNOWN
Definition: SDL_syswm.h:124
SDL_SYSWM_WINRT
@ SDL_SYSWM_WINRT
Definition: SDL_syswm.h:132
SDL_SYSWM_HAIKU
@ SDL_SYSWM_HAIKU
Definition: SDL_syswm.h:136
SDL_SYSWM_DIRECTFB
@ SDL_SYSWM_DIRECTFB
Definition: SDL_syswm.h:127
SDL_VERSION
#define SDL_VERSION(x)
Macro to determine SDL version program was compiled against.
Definition: SDL_version.h:79
SDL_SysWMinfo
Definition: SDL_syswm.h:202
SDL_SYSWM_TYPE
SDL_SYSWM_TYPE
Definition: SDL_syswm.h:123
SDL_InvalidParamError
#define SDL_InvalidParamError(param)
Definition: SDL_error.h:54
SDL_SYSWM_ANDROID
@ SDL_SYSWM_ANDROID
Definition: SDL_syswm.h:133
SDL_VideoDevice::GetWindowWMInfo
SDL_bool(* GetWindowWMInfo)(_THIS, SDL_Window *window, struct SDL_SysWMinfo *info)
Definition: SDL_sysvideo.h:249
SDL_SYSWM_WAYLAND
@ SDL_SYSWM_WAYLAND
Definition: SDL_syswm.h:130
_this
static SDL_VideoDevice * _this
Definition: SDL_video.c:121
SDL_SYSWM_COCOA
@ SDL_SYSWM_COCOA
Definition: SDL_syswm.h:128
SDL_SysWMinfo::subsystem
SDL_SYSWM_TYPE subsystem
Definition: SDL_syswm.h:204
window
EGLSurface EGLNativeWindowType * window
Definition: eglext.h:1025
SDL_SYSWM_X11
@ SDL_SYSWM_X11
Definition: SDL_syswm.h:126
SDL_SYSWM_UIKIT
@ SDL_SYSWM_UIKIT
Definition: SDL_syswm.h:129
SDL_GetWindowWMInfo
#define SDL_GetWindowWMInfo
Definition: SDL_dynapi_overrides.h:473
SDL_SysWMinfo::version
SDL_version version
Definition: SDL_syswm.h:203
SDL_FALSE
@ SDL_FALSE
Definition: SDL_stdinc.h:163
SDL_Unsupported
#define SDL_Unsupported()
Definition: SDL_error.h:53
SDL_SYSWM_MIR
@ SDL_SYSWM_MIR
Definition: SDL_syswm.h:131
CHECK_WINDOW_MAGIC
#define CHECK_WINDOW_MAGIC(window, retval)
Definition: SDL_video.c:123
SDL_SYSWM_VIVANTE
@ SDL_SYSWM_VIVANTE
Definition: SDL_syswm.h:134
SDL_SYSWM_OS2
@ SDL_SYSWM_OS2
Definition: SDL_syswm.h:135
SDL_SYSWM_WINDOWS
@ SDL_SYSWM_WINDOWS
Definition: SDL_syswm.h:125