SDL 2.0
SDL_sysvideo.h
Go to the documentation of this file.
1/*
2 Simple DirectMedia Layer
3 Copyright (C) 1997-2019 Sam Lantinga <slouken@libsdl.org>
4
5 This software is provided 'as-is', without any express or implied
6 warranty. In no event will the authors be held liable for any damages
7 arising from the use of this software.
8
9 Permission is granted to anyone to use this software for any purpose,
10 including commercial applications, and to alter it and redistribute it
11 freely, subject to the following restrictions:
12
13 1. The origin of this software must not be misrepresented; you must not
14 claim that you wrote the original software. If you use this software
15 in a product, an acknowledgment in the product documentation would be
16 appreciated but is not required.
17 2. Altered source versions must be plainly marked as such, and must not be
18 misrepresented as being the original software.
19 3. This notice may not be removed or altered from any source distribution.
20*/
21#include "../SDL_internal.h"
22
23#ifndef SDL_sysvideo_h_
24#define SDL_sysvideo_h_
25
26#include "SDL_messagebox.h"
27#include "SDL_shape.h"
28#include "SDL_thread.h"
29
30#include "SDL_vulkan_internal.h"
31
32/* The SDL video driver */
33
35typedef struct SDL_ShapeDriver SDL_ShapeDriver;
37typedef struct SDL_VideoDevice SDL_VideoDevice;
38
39/* Define the SDL window-shaper structure */
41{
42 /* The window associated with the shaper */
44
45 /* The user's specified coordinates for the window, for once we give it a shape. */
47
48 /* The parameters for shape calculation. */
50
51 /* Has this window been assigned a shape? */
53
55};
56
57/* Define the SDL shape driver structure */
59{
60 SDL_WindowShaper *(*CreateShaper)(SDL_Window * window);
63};
64
65typedef struct SDL_WindowUserData
66{
67 char *name;
68 void *data;
71
72/* Define the SDL window structure, corresponding to toplevel windows */
74{
75 const void *magic;
77 char *title;
79 int x, y;
80 int w, h;
85
86 /* Stored position and size for windowed mode */
88
90
91 float opacity;
92
95 Uint16 *saved_gamma; /* (just offset into gamma) */
96
99
102 SDL_bool is_dropping; /* drag/drop in progress, expecting SDL_SendDropComplete(). */
103
105
108
110
112
115};
116#define FULLSCREEN_VISIBLE(W) \
117 (((W)->flags & SDL_WINDOW_FULLSCREEN) && \
118 ((W)->flags & SDL_WINDOW_SHOWN) && \
119 !((W)->flags & SDL_WINDOW_MINIMIZED))
120
121/*
122 * Define the SDL display structure.
123 * This corresponds to physical monitors attached to the system.
124 */
126{
127 char *name;
134
136
138
140};
141
142/* Forward declaration */
143struct SDL_SysWMinfo;
144
145/* Define the SDL video driver structure */
146#define _THIS SDL_VideoDevice *_this
147
149{
150 /* * * */
151 /* The name of this video driver */
152 const char *name;
153
154 /* * * */
155 /* Initialization/Query functions */
156
157 /*
158 * Initialize the native video subsystem, filling in the list of
159 * displays for this driver, returning 0 or -1 if there's an error.
160 */
161 int (*VideoInit) (_THIS);
162
163 /*
164 * Reverse the effects VideoInit() -- called if VideoInit() fails or
165 * if the application is shutting down the video subsystem.
166 */
168
169 /*
170 * Reinitialize the touch devices -- called if an unknown touch ID occurs.
171 */
173
174 /* * * */
175 /*
176 * Display functions
177 */
178
179 /*
180 * Get the bounds of a display
181 */
183
184 /*
185 * Get the usable bounds of a display (bounds minus menubar or whatever)
186 */
188
189 /*
190 * Get the dots/pixels-per-inch of a display
191 */
192 int (*GetDisplayDPI) (_THIS, SDL_VideoDisplay * display, float * ddpi, float * hdpi, float * vdpi);
193
194 /*
195 * Get a list of the available display modes for a display.
196 */
198
199 /*
200 * Setting the display mode is independent of creating windows, so
201 * when the display mode is changed, all existing windows should have
202 * their data updated accordingly, including the display surfaces
203 * associated with them.
204 */
206
207 /* * * */
208 /*
209 * Window functions
210 */
219 int (*GetWindowBordersSize) (_THIS, SDL_Window * window, int *top, int *left, int *bottom, int *right);
220 int (*SetWindowOpacity) (_THIS, SDL_Window * window, float opacity);
221 int (*SetWindowModalFor) (_THIS, SDL_Window * modal_window, SDL_Window * parent_window);
236 int (*CreateWindowFramebuffer) (_THIS, SDL_Window * window, Uint32 * format, void ** pixels, int *pitch);
237 int (*UpdateWindowFramebuffer) (_THIS, SDL_Window * window, const SDL_Rect * rects, int numrects);
240
241 /* * * */
242 /*
243 * Shaped-window functions
244 */
246
247 /* Get some platform dependent window information */
249 struct SDL_SysWMinfo * info);
250
251 /* * * */
252 /*
253 * OpenGL support
254 */
255 int (*GL_LoadLibrary) (_THIS, const char *path);
256 void *(*GL_GetProcAddress) (_THIS, const char *proc);
261 int (*GL_SetSwapInterval) (_THIS, int interval);
265 void (*GL_DefaultProfileConfig) (_THIS, int *mask, int *major, int *minor);
266
267 /* * * */
268 /*
269 * Vulkan support
270 */
271 int (*Vulkan_LoadLibrary) (_THIS, const char *path);
274 SDL_bool (*Vulkan_CreateSurface) (_THIS, SDL_Window *window, VkInstance instance, VkSurfaceKHR *surface);
276
277 /* * * */
278 /*
279 * Event manager functions
280 */
282
283 /* Suspend the screensaver */
285
286 /* Text input */
290
291 /* Screen keyboard */
296
297 /* Clipboard */
298 int (*SetClipboardText) (_THIS, const char *text);
299 char * (*GetClipboardText) (_THIS);
301
302 /* MessageBox */
303 int (*ShowMessageBox) (_THIS, const SDL_MessageBoxData *messageboxdata, int *buttonid);
304
305 /* Hit-testing */
307
308 /* Tell window that app enabled drag'n'drop events */
310
311 /* * * */
312 /* Data common to all drivers */
322
323 /* * * */
324 /* Data used by the GL drivers */
325 struct
326 {
345 int flags;
354 char driver_path[256];
357
358 /* * * */
359 /* Cache current GL context; don't call the OS when it hasn't changed. */
360 /* We have the global pointers here so Cocoa continues to work the way
361 it always has, and the thread-local storage for the general case.
362 */
367
368 /* * * */
369 /* Data used by the Vulkan drivers */
370 struct
371 {
375 char loader_path[256];
378
379 /* * * */
380 /* Data private to this driver */
383
384#if SDL_VIDEO_OPENGL_EGL
385 struct SDL_EGL_VideoData *egl_data;
386#endif
387
388#if SDL_VIDEO_OPENGL_ES || SDL_VIDEO_OPENGL_ES2
389 struct SDL_PrivateGLESData *gles_data;
390#endif
391
392 /* * * */
393 /* The function used to dispose of this structure */
395};
396
397typedef struct VideoBootStrap
398{
399 const char *name;
400 const char *desc;
401 int (*available) (void);
402 SDL_VideoDevice *(*create) (int devindex);
404
405/* Not all of these are available in a given build. Use #ifdefs, etc. */
424
426extern int SDL_AddBasicVideoDisplay(const SDL_DisplayMode * desktop_mode);
427extern int SDL_AddVideoDisplay(const SDL_VideoDisplay * display);
429extern int SDL_GetIndexOfDisplay(SDL_VideoDisplay *display);
430extern SDL_VideoDisplay *SDL_GetDisplay(int displayIndex);
432extern void *SDL_GetDisplayDriverData( int displayIndex );
433
434extern void SDL_GL_DeduceMaxSupportedESProfile(int* major, int* minor);
435
437extern SDL_bool SDL_HasWindows(void);
438
439extern void SDL_OnWindowShown(SDL_Window * window);
444extern void SDL_OnWindowEnter(SDL_Window * window);
445extern void SDL_OnWindowLeave(SDL_Window * window);
449extern SDL_Window * SDL_GetFocusWindow(void);
450
452
453extern float SDL_ComputeDiagonalDPI(int hpix, int vpix, float hinches, float vinches);
454
455extern void SDL_OnApplicationWillTerminate(void);
457extern void SDL_OnApplicationWillResignActive(void);
460extern void SDL_OnApplicationDidBecomeActive(void);
461
462extern void SDL_ToggleDragAndDropSupport(void);
463
464#endif /* SDL_sysvideo_h_ */
465
466/* vi: set ts=4 sw=4 expandtab: */
SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char const char SDL_SCANF_FORMAT_STRING const char return SDL_ThreadFunction const char void return Uint32 return Uint32 void
GLuint GLuint GLsizei count
Definition: SDL_opengl.h:1571
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
Definition: SDL_opengl.h:1572
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
Definition: SDL_opengl.h:1572
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLdouble GLdouble GLdouble GLdouble top
GLenum mode
GLuint GLuint * names
GLint left
GLbitfield flags
GLsizei const GLchar *const * path
GLint GLint bottom
GLenum GLint GLuint mask
GLdouble GLdouble right
GLfloat GLfloat GLfloat GLfloat h
GLubyte GLubyte GLubyte GLubyte w
SDL_bool
Definition: SDL_stdinc.h:162
uint32_t Uint32
Definition: SDL_stdinc.h:203
uint16_t Uint16
Definition: SDL_stdinc.h:191
uint8_t Uint8
Definition: SDL_stdinc.h:179
void * SDL_GetDisplayDriverData(int displayIndex)
Definition: SDL_video.c:657
SDL_bool SDL_ShouldAllowTopmost(void)
Definition: SDL_video.c:3992
void SDL_OnApplicationWillEnterForeground(void)
Definition: SDL_video.c:4056
void SDL_OnWindowLeave(SDL_Window *window)
Definition: SDL_video.c:2631
void SDL_OnWindowMinimized(SDL_Window *window)
Definition: SDL_video.c:2601
SDL_bool SDL_HasWindows(void)
Definition: SDL_video.c:1711
#define _THIS
Definition: SDL_sysvideo.h:146
VideoBootStrap UIKIT_bootstrap
void SDL_OnWindowFocusLost(SDL_Window *window)
Definition: SDL_video.c:2680
void SDL_OnWindowHidden(SDL_Window *window)
Definition: SDL_video.c:2588
SDL_Window * SDL_GetFocusWindow(void)
Definition: SDL_video.c:2696
void SDL_OnWindowShown(SDL_Window *window)
Definition: SDL_video.c:2582
void SDL_OnWindowResized(SDL_Window *window)
Definition: SDL_video.c:2594
VideoBootStrap DUMMY_bootstrap
VideoBootStrap DirectFB_bootstrap
void SDL_OnWindowEnter(SDL_Window *window)
Definition: SDL_video.c:2623
void SDL_OnWindowRestored(SDL_Window *window)
Definition: SDL_video.c:2607
VideoBootStrap Android_bootstrap
VideoBootStrap HAIKU_bootstrap
void SDL_ToggleDragAndDropSupport(void)
Definition: SDL_video.c:1371
int SDL_RecreateWindow(SDL_Window *window, Uint32 flags)
Definition: SDL_video.c:1614
VideoBootStrap Wayland_bootstrap
int SDL_AddBasicVideoDisplay(const SDL_DisplayMode *desktop_mode)
Definition: SDL_video.c:589
SDL_VideoDisplay * SDL_GetDisplayForWindow(SDL_Window *window)
Definition: SDL_video.c:1089
VideoBootStrap PND_bootstrap
void SDL_OnApplicationDidBecomeActive(void)
Definition: SDL_video.c:4061
void SDL_UpdateWindowGrab(SDL_Window *window)
Definition: SDL_video.c:2520
VideoBootStrap VIVANTE_bootstrap
VideoBootStrap RPI_bootstrap
VideoBootStrap X11_bootstrap
SDL_VideoDisplay * SDL_GetDisplay(int displayIndex)
Definition: SDL_video.c:1021
VideoBootStrap Emscripten_bootstrap
VideoBootStrap NACL_bootstrap
VideoBootStrap COCOA_bootstrap
void SDL_OnApplicationDidEnterBackground(void)
Definition: SDL_video.c:4051
VideoBootStrap QNX_bootstrap
Definition: video.c:361
VideoBootStrap WINRT_bootstrap
VideoBootStrap WINDOWS_bootstrap
int SDL_AddVideoDisplay(const SDL_VideoDisplay *display)
Definition: SDL_video.c:603
SDL_VideoDevice * SDL_GetVideoDevice(void)
Definition: SDL_video.c:583
float SDL_ComputeDiagonalDPI(int hpix, int vpix, float hinches, float vinches)
Definition: SDL_video.c:4015
void SDL_OnWindowFocusGained(SDL_Window *window)
Definition: SDL_video.c:2636
SDL_bool SDL_AddDisplayMode(SDL_VideoDisplay *display, const SDL_DisplayMode *mode)
Definition: SDL_video.c:751
VideoBootStrap PSP_bootstrap
int SDL_GetIndexOfDisplay(SDL_VideoDisplay *display)
Definition: SDL_video.c:642
VideoBootStrap KMSDRM_bootstrap
void SDL_OnApplicationDidReceiveMemoryWarning(void)
Definition: SDL_video.c:4034
void SDL_GL_DeduceMaxSupportedESProfile(int *major, int *minor)
Definition: SDL_video.c:3044
void SDL_OnApplicationWillResignActive(void)
Definition: SDL_video.c:4039
void SDL_OnApplicationWillTerminate(void)
Definition: SDL_video.c:4029
unsigned int SDL_TLSID
Definition: SDL_thread.h:52
SDL_HitTestResult(* SDL_HitTest)(SDL_Window *win, const SDL_Point *area, void *data)
Callback used for hit-testing.
Definition: SDL_video.h:1039
void * SDL_GLContext
An opaque handle to an OpenGL context.
Definition: SDL_video.h:193
SDL_DisplayOrientation
Definition: SDL_video.h:182
EGLSurface surface
Definition: eglext.h:248
EGLSurface EGLNativeWindowType * window
Definition: eglext.h:1025
EGLSurface EGLint * rects
Definition: eglext.h:282
The structure that defines a display mode.
Definition: SDL_video.h:54
MessageBox structure containing title, text, window, etc.
A rectangle, with the origin at the upper left (integer).
Definition: SDL_rect.h:78
int(* ResizeWindowShape)(SDL_Window *window)
Definition: SDL_sysvideo.h:62
int(* SetWindowShape)(SDL_WindowShaper *shaper, SDL_Surface *shape, SDL_WindowShapeMode *shape_mode)
Definition: SDL_sysvideo.h:61
A collection of pixels used in software blitting.
Definition: SDL_surface.h:71
union SDL_SysWMinfo::@17 info
int(* SetDisplayMode)(_THIS, SDL_VideoDisplay *display, SDL_DisplayMode *mode)
Definition: SDL_sysvideo.h:205
int(* GetDisplayBounds)(_THIS, SDL_VideoDisplay *display, SDL_Rect *rect)
Definition: SDL_sysvideo.h:182
void(* SetWindowIcon)(_THIS, SDL_Window *window, SDL_Surface *icon)
Definition: SDL_sysvideo.h:214
int(* CreateWindowFramebuffer)(_THIS, SDL_Window *window, Uint32 *format, void **pixels, int *pitch)
Definition: SDL_sysvideo.h:236
int framebuffer_srgb_capable
Definition: SDL_sysvideo.h:350
void(* HideScreenKeyboard)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:294
int(* ShowMessageBox)(_THIS, const SDL_MessageBoxData *messageboxdata, int *buttonid)
Definition: SDL_sysvideo.h:303
int(* SetWindowHitTest)(SDL_Window *window, SDL_bool enabled)
Definition: SDL_sysvideo.h:306
char driver_path[256]
Definition: SDL_sysvideo.h:354
void(* GL_DeleteContext)(_THIS, SDL_GLContext context)
Definition: SDL_sysvideo.h:264
const char * name
Definition: SDL_sysvideo.h:152
void(* ShowWindow)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:223
int(* GL_MakeCurrent)(_THIS, SDL_Window *window, SDL_GLContext context)
Definition: SDL_sysvideo.h:259
void(* RestoreWindow)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:228
SDL_GLContext current_glctx
Definition: SDL_sysvideo.h:364
void(* SetWindowFullscreen)(_THIS, SDL_Window *window, SDL_VideoDisplay *display, SDL_bool fullscreen)
Definition: SDL_sysvideo.h:231
int(* GetDisplayUsableBounds)(_THIS, SDL_VideoDisplay *display, SDL_Rect *rect)
Definition: SDL_sysvideo.h:187
void(* SuspendScreenSaver)(_THIS)
Definition: SDL_sysvideo.h:284
int(* Vulkan_LoadLibrary)(_THIS, const char *path)
Definition: SDL_sysvideo.h:271
SDL_bool(* Vulkan_GetInstanceExtensions)(_THIS, SDL_Window *window, unsigned *count, const char **names)
Definition: SDL_sysvideo.h:273
int(* CreateSDLWindow)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:211
SDL_GLContext(* GL_CreateContext)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:258
void(* SetWindowSize)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:216
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr
Definition: SDL_sysvideo.h:372
int(* SetWindowModalFor)(_THIS, SDL_Window *modal_window, SDL_Window *parent_window)
Definition: SDL_sysvideo.h:221
int(* UpdateWindowFramebuffer)(_THIS, SDL_Window *window, const SDL_Rect *rects, int numrects)
Definition: SDL_sysvideo.h:237
int(* GetDisplayDPI)(_THIS, SDL_VideoDisplay *display, float *ddpi, float *hdpi, float *vdpi)
Definition: SDL_sysvideo.h:192
void(* SetWindowPosition)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:215
int(* GL_SetSwapInterval)(_THIS, int interval)
Definition: SDL_sysvideo.h:261
void(* GL_UnloadLibrary)(_THIS)
Definition: SDL_sysvideo.h:257
void(* SetWindowMinimumSize)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:217
int(* SetWindowGammaRamp)(_THIS, SDL_Window *window, const Uint16 *ramp)
Definition: SDL_sysvideo.h:232
SDL_bool is_dummy
Definition: SDL_sysvideo.h:313
void(* VideoQuit)(_THIS)
Definition: SDL_sysvideo.h:167
SDL_bool suspend_screensaver
Definition: SDL_sysvideo.h:314
void(* SetWindowResizable)(_THIS, SDL_Window *window, SDL_bool resizable)
Definition: SDL_sysvideo.h:230
SDL_bool(* HasScreenKeyboardSupport)(_THIS)
Definition: SDL_sysvideo.h:292
void(* Vulkan_UnloadLibrary)(_THIS)
Definition: SDL_sysvideo.h:272
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties
Definition: SDL_sysvideo.h:373
void(* GetDisplayModes)(_THIS, SDL_VideoDisplay *display)
Definition: SDL_sysvideo.h:197
char loader_path[256]
Definition: SDL_sysvideo.h:375
SDL_bool(* IsScreenKeyboardShown)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:295
void(* ResetTouch)(_THIS)
Definition: SDL_sysvideo.h:172
SDL_TLSID current_glwin_tls
Definition: SDL_sysvideo.h:365
SDL_VideoDisplay * displays
Definition: SDL_sysvideo.h:316
SDL_Window * grabbed_window
Definition: SDL_sysvideo.h:318
void(* free)(_THIS)
Definition: SDL_sysvideo.h:394
void(* Vulkan_GetDrawableSize)(_THIS, SDL_Window *window, int *w, int *h)
Definition: SDL_sysvideo.h:275
int(* GL_GetSwapInterval)(_THIS)
Definition: SDL_sysvideo.h:262
int(* GetWindowGammaRamp)(_THIS, SDL_Window *window, Uint16 *ramp)
Definition: SDL_sysvideo.h:233
int(* GetWindowBordersSize)(_THIS, SDL_Window *window, int *top, int *left, int *bottom, int *right)
Definition: SDL_sysvideo.h:219
void(* GL_GetDrawableSize)(_THIS, SDL_Window *window, int *w, int *h)
Definition: SDL_sysvideo.h:260
void(* DestroyWindow)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:235
void(* StartTextInput)(_THIS)
Definition: SDL_sysvideo.h:287
int(* GL_LoadLibrary)(_THIS, const char *path)
Definition: SDL_sysvideo.h:255
int(* GL_SwapWindow)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:263
SDL_bool(* HasClipboardText)(_THIS)
Definition: SDL_sysvideo.h:300
void(* SetWindowMaximumSize)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:218
void(* SetWindowTitle)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:213
int(* SetWindowInputFocus)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:222
void(* DestroyWindowFramebuffer)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:238
struct SDL_VideoDevice::@262 gl_config
void(* GL_DefaultProfileConfig)(_THIS, int *mask, int *major, int *minor)
Definition: SDL_sysvideo.h:265
void(* MinimizeWindow)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:227
int(* VideoInit)(_THIS)
Definition: SDL_sysvideo.h:161
void(* PumpEvents)(_THIS)
Definition: SDL_sysvideo.h:281
int(* SetClipboardText)(_THIS, const char *text)
Definition: SDL_sysvideo.h:298
void(* HideWindow)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:224
SDL_bool(* GetWindowWMInfo)(_THIS, SDL_Window *window, struct SDL_SysWMinfo *info)
Definition: SDL_sysvideo.h:248
struct SDL_VideoDevice::@263 vulkan_config
void(* SetTextInputRect)(_THIS, SDL_Rect *rect)
Definition: SDL_sysvideo.h:289
SDL_bool(* Vulkan_CreateSurface)(_THIS, SDL_Window *window, VkInstance instance, VkSurfaceKHR *surface)
Definition: SDL_sysvideo.h:274
void(* AcceptDragAndDrop)(SDL_Window *window, SDL_bool accept)
Definition: SDL_sysvideo.h:309
char * clipboard_text
Definition: SDL_sysvideo.h:321
void(* SetWindowGrab)(_THIS, SDL_Window *window, SDL_bool grabbed)
Definition: SDL_sysvideo.h:234
SDL_Window * windows
Definition: SDL_sysvideo.h:317
Uint32 next_object_id
Definition: SDL_sysvideo.h:320
void(* StopTextInput)(_THIS)
Definition: SDL_sysvideo.h:288
struct SDL_GLDriverData * gl_data
Definition: SDL_sysvideo.h:382
int(* CreateSDLWindowFrom)(_THIS, SDL_Window *window, const void *data)
Definition: SDL_sysvideo.h:212
SDL_TLSID current_glctx_tls
Definition: SDL_sysvideo.h:366
SDL_ShapeDriver shape_driver
Definition: SDL_sysvideo.h:245
SDL_Window * current_glwin
Definition: SDL_sysvideo.h:363
void(* MaximizeWindow)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:226
void(* OnWindowEnter)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:239
int(* SetWindowOpacity)(_THIS, SDL_Window *window, float opacity)
Definition: SDL_sysvideo.h:220
void * loader_handle
Definition: SDL_sysvideo.h:376
int share_with_current_context
Definition: SDL_sysvideo.h:347
void(* ShowScreenKeyboard)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:293
void(* SetWindowBordered)(_THIS, SDL_Window *window, SDL_bool bordered)
Definition: SDL_sysvideo.h:229
void(* RaiseWindow)(_THIS, SDL_Window *window)
Definition: SDL_sysvideo.h:225
SDL_DisplayMode desktop_mode
Definition: SDL_sysvideo.h:131
SDL_DisplayOrientation orientation
Definition: SDL_sysvideo.h:133
SDL_VideoDevice * device
Definition: SDL_sysvideo.h:137
SDL_DisplayMode * display_modes
Definition: SDL_sysvideo.h:130
SDL_Window * fullscreen_window
Definition: SDL_sysvideo.h:135
SDL_DisplayMode current_mode
Definition: SDL_sysvideo.h:132
The type used to identify a window.
Definition: SDL_sysvideo.h:74
Uint32 last_fullscreen_flags
Definition: SDL_sysvideo.h:84
float brightness
Definition: SDL_sysvideo.h:93
SDL_Window * next
Definition: SDL_sysvideo.h:114
SDL_Surface * surface
Definition: SDL_sysvideo.h:97
Uint32 flags
Definition: SDL_sysvideo.h:83
Uint16 * gamma
Definition: SDL_sysvideo.h:94
Uint16 * saved_gamma
Definition: SDL_sysvideo.h:95
const void * magic
Definition: SDL_sysvideo.h:75
SDL_bool is_hiding
Definition: SDL_sysvideo.h:100
SDL_WindowUserData * data
Definition: SDL_sysvideo.h:109
void * driverdata
Definition: SDL_sysvideo.h:111
SDL_WindowShaper * shaper
Definition: SDL_sysvideo.h:104
Uint32 id
Definition: SDL_sysvideo.h:76
void * hit_test_data
Definition: SDL_sysvideo.h:107
SDL_bool is_destroying
Definition: SDL_sysvideo.h:101
SDL_bool is_dropping
Definition: SDL_sysvideo.h:102
SDL_Window * prev
Definition: SDL_sysvideo.h:113
SDL_Surface * icon
Definition: SDL_sysvideo.h:78
SDL_HitTest hit_test
Definition: SDL_sysvideo.h:106
SDL_DisplayMode fullscreen_mode
Definition: SDL_sysvideo.h:89
char * title
Definition: SDL_sysvideo.h:77
float opacity
Definition: SDL_sysvideo.h:91
SDL_bool surface_valid
Definition: SDL_sysvideo.h:98
SDL_Rect windowed
Definition: SDL_sysvideo.h:87
A struct that tags the SDL_WindowShapeParams union with an enum describing the type of its contents.
Definition: SDL_shape.h:101
SDL_Window * window
Definition: SDL_sysvideo.h:43
SDL_bool hasshape
Definition: SDL_sysvideo.h:52
SDL_WindowShapeMode mode
Definition: SDL_sysvideo.h:49
struct SDL_WindowUserData * next
Definition: SDL_sysvideo.h:69
const char * name
Definition: SDL_sysvideo.h:399
const char * desc
Definition: SDL_sysvideo.h:400
int(* available)(void)
Definition: SDL_sysvideo.h:401
static char text[MAX_TEXT_LENGTH]
Definition: testime.c:47
SDL_Rect rect
Definition: testrelative.c:27
static screen_context_t context
Definition: video.c:25
VkResult(VKAPI_PTR * PFN_vkEnumerateInstanceExtensionProperties)(const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)
Definition: vulkan_core.h:2863
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetInstanceProcAddr)(VkInstance instance, const char *pName)
Definition: vulkan_core.h:2859