21#include "../SDL_internal.h"
23#ifndef SDL_sysvideo_h_
24#define SDL_sysvideo_h_
116#define FULLSCREEN_VISIBLE(W) \
117 (((W)->flags & SDL_WINDOW_FULLSCREEN) && \
118 ((W)->flags & SDL_WINDOW_SHOWN) && \
119 !((W)->flags & SDL_WINDOW_MINIMIZED))
146#define _THIS SDL_VideoDevice *_this
256 void *(*GL_GetProcAddress) (
_THIS,
const char *proc);
384#if SDL_VIDEO_OPENGL_EGL
385 struct SDL_EGL_VideoData *egl_data;
388#if SDL_VIDEO_OPENGL_ES || SDL_VIDEO_OPENGL_ES2
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
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLdouble GLdouble GLdouble GLdouble top
GLsizei const GLchar *const * path
GLfloat GLfloat GLfloat GLfloat h
GLubyte GLubyte GLubyte GLubyte w
void * SDL_GetDisplayDriverData(int displayIndex)
SDL_bool SDL_ShouldAllowTopmost(void)
void SDL_OnApplicationWillEnterForeground(void)
void SDL_OnWindowLeave(SDL_Window *window)
void SDL_OnWindowMinimized(SDL_Window *window)
SDL_bool SDL_HasWindows(void)
VideoBootStrap UIKIT_bootstrap
void SDL_OnWindowFocusLost(SDL_Window *window)
void SDL_OnWindowHidden(SDL_Window *window)
SDL_Window * SDL_GetFocusWindow(void)
void SDL_OnWindowShown(SDL_Window *window)
void SDL_OnWindowResized(SDL_Window *window)
VideoBootStrap DUMMY_bootstrap
VideoBootStrap DirectFB_bootstrap
void SDL_OnWindowEnter(SDL_Window *window)
void SDL_OnWindowRestored(SDL_Window *window)
VideoBootStrap Android_bootstrap
VideoBootStrap HAIKU_bootstrap
void SDL_ToggleDragAndDropSupport(void)
int SDL_RecreateWindow(SDL_Window *window, Uint32 flags)
VideoBootStrap Wayland_bootstrap
int SDL_AddBasicVideoDisplay(const SDL_DisplayMode *desktop_mode)
SDL_VideoDisplay * SDL_GetDisplayForWindow(SDL_Window *window)
VideoBootStrap PND_bootstrap
void SDL_OnApplicationDidBecomeActive(void)
void SDL_UpdateWindowGrab(SDL_Window *window)
VideoBootStrap VIVANTE_bootstrap
VideoBootStrap RPI_bootstrap
VideoBootStrap X11_bootstrap
SDL_VideoDisplay * SDL_GetDisplay(int displayIndex)
VideoBootStrap Emscripten_bootstrap
VideoBootStrap NACL_bootstrap
VideoBootStrap COCOA_bootstrap
void SDL_OnApplicationDidEnterBackground(void)
VideoBootStrap QNX_bootstrap
VideoBootStrap WINRT_bootstrap
VideoBootStrap WINDOWS_bootstrap
int SDL_AddVideoDisplay(const SDL_VideoDisplay *display)
SDL_VideoDevice * SDL_GetVideoDevice(void)
float SDL_ComputeDiagonalDPI(int hpix, int vpix, float hinches, float vinches)
void SDL_OnWindowFocusGained(SDL_Window *window)
SDL_bool SDL_AddDisplayMode(SDL_VideoDisplay *display, const SDL_DisplayMode *mode)
VideoBootStrap PSP_bootstrap
int SDL_GetIndexOfDisplay(SDL_VideoDisplay *display)
VideoBootStrap KMSDRM_bootstrap
void SDL_OnApplicationDidReceiveMemoryWarning(void)
void SDL_GL_DeduceMaxSupportedESProfile(int *major, int *minor)
void SDL_OnApplicationWillResignActive(void)
void SDL_OnApplicationWillTerminate(void)
SDL_HitTestResult(* SDL_HitTest)(SDL_Window *win, const SDL_Point *area, void *data)
Callback used for hit-testing.
void * SDL_GLContext
An opaque handle to an OpenGL context.
EGLSurface EGLNativeWindowType * window
EGLSurface EGLint * rects
The structure that defines a display mode.
MessageBox structure containing title, text, window, etc.
A rectangle, with the origin at the upper left (integer).
int(* ResizeWindowShape)(SDL_Window *window)
int(* SetWindowShape)(SDL_WindowShaper *shaper, SDL_Surface *shape, SDL_WindowShapeMode *shape_mode)
A collection of pixels used in software blitting.
union SDL_SysWMinfo::@17 info
int(* SetDisplayMode)(_THIS, SDL_VideoDisplay *display, SDL_DisplayMode *mode)
int(* GetDisplayBounds)(_THIS, SDL_VideoDisplay *display, SDL_Rect *rect)
void(* SetWindowIcon)(_THIS, SDL_Window *window, SDL_Surface *icon)
int(* CreateWindowFramebuffer)(_THIS, SDL_Window *window, Uint32 *format, void **pixels, int *pitch)
int framebuffer_srgb_capable
void(* HideScreenKeyboard)(_THIS, SDL_Window *window)
int(* ShowMessageBox)(_THIS, const SDL_MessageBoxData *messageboxdata, int *buttonid)
int(* SetWindowHitTest)(SDL_Window *window, SDL_bool enabled)
void(* GL_DeleteContext)(_THIS, SDL_GLContext context)
void(* ShowWindow)(_THIS, SDL_Window *window)
int(* GL_MakeCurrent)(_THIS, SDL_Window *window, SDL_GLContext context)
void(* RestoreWindow)(_THIS, SDL_Window *window)
SDL_GLContext current_glctx
void(* SetWindowFullscreen)(_THIS, SDL_Window *window, SDL_VideoDisplay *display, SDL_bool fullscreen)
int(* GetDisplayUsableBounds)(_THIS, SDL_VideoDisplay *display, SDL_Rect *rect)
void(* SuspendScreenSaver)(_THIS)
int(* Vulkan_LoadLibrary)(_THIS, const char *path)
SDL_bool(* Vulkan_GetInstanceExtensions)(_THIS, SDL_Window *window, unsigned *count, const char **names)
int(* CreateSDLWindow)(_THIS, SDL_Window *window)
SDL_GLContext(* GL_CreateContext)(_THIS, SDL_Window *window)
void(* SetWindowSize)(_THIS, SDL_Window *window)
PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr
int(* SetWindowModalFor)(_THIS, SDL_Window *modal_window, SDL_Window *parent_window)
int(* UpdateWindowFramebuffer)(_THIS, SDL_Window *window, const SDL_Rect *rects, int numrects)
int(* GetDisplayDPI)(_THIS, SDL_VideoDisplay *display, float *ddpi, float *hdpi, float *vdpi)
void(* SetWindowPosition)(_THIS, SDL_Window *window)
int(* GL_SetSwapInterval)(_THIS, int interval)
void(* GL_UnloadLibrary)(_THIS)
void(* SetWindowMinimumSize)(_THIS, SDL_Window *window)
int(* SetWindowGammaRamp)(_THIS, SDL_Window *window, const Uint16 *ramp)
SDL_bool suspend_screensaver
void(* SetWindowResizable)(_THIS, SDL_Window *window, SDL_bool resizable)
SDL_bool(* HasScreenKeyboardSupport)(_THIS)
void(* Vulkan_UnloadLibrary)(_THIS)
PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties
void(* GetDisplayModes)(_THIS, SDL_VideoDisplay *display)
SDL_bool(* IsScreenKeyboardShown)(_THIS, SDL_Window *window)
void(* ResetTouch)(_THIS)
SDL_TLSID current_glwin_tls
SDL_VideoDisplay * displays
SDL_Window * grabbed_window
void(* Vulkan_GetDrawableSize)(_THIS, SDL_Window *window, int *w, int *h)
int(* GL_GetSwapInterval)(_THIS)
int(* GetWindowGammaRamp)(_THIS, SDL_Window *window, Uint16 *ramp)
int(* GetWindowBordersSize)(_THIS, SDL_Window *window, int *top, int *left, int *bottom, int *right)
void(* GL_GetDrawableSize)(_THIS, SDL_Window *window, int *w, int *h)
void(* DestroyWindow)(_THIS, SDL_Window *window)
void(* StartTextInput)(_THIS)
int(* GL_LoadLibrary)(_THIS, const char *path)
int(* GL_SwapWindow)(_THIS, SDL_Window *window)
SDL_bool(* HasClipboardText)(_THIS)
void(* SetWindowMaximumSize)(_THIS, SDL_Window *window)
void(* SetWindowTitle)(_THIS, SDL_Window *window)
int(* SetWindowInputFocus)(_THIS, SDL_Window *window)
void(* DestroyWindowFramebuffer)(_THIS, SDL_Window *window)
struct SDL_VideoDevice::@262 gl_config
void(* GL_DefaultProfileConfig)(_THIS, int *mask, int *major, int *minor)
void(* MinimizeWindow)(_THIS, SDL_Window *window)
void(* PumpEvents)(_THIS)
int(* SetClipboardText)(_THIS, const char *text)
void(* HideWindow)(_THIS, SDL_Window *window)
SDL_bool(* GetWindowWMInfo)(_THIS, SDL_Window *window, struct SDL_SysWMinfo *info)
struct SDL_VideoDevice::@263 vulkan_config
void(* SetTextInputRect)(_THIS, SDL_Rect *rect)
SDL_bool(* Vulkan_CreateSurface)(_THIS, SDL_Window *window, VkInstance instance, VkSurfaceKHR *surface)
void(* AcceptDragAndDrop)(SDL_Window *window, SDL_bool accept)
void(* SetWindowGrab)(_THIS, SDL_Window *window, SDL_bool grabbed)
void(* StopTextInput)(_THIS)
struct SDL_GLDriverData * gl_data
int(* CreateSDLWindowFrom)(_THIS, SDL_Window *window, const void *data)
SDL_TLSID current_glctx_tls
SDL_ShapeDriver shape_driver
SDL_Window * current_glwin
void(* MaximizeWindow)(_THIS, SDL_Window *window)
void(* OnWindowEnter)(_THIS, SDL_Window *window)
int(* SetWindowOpacity)(_THIS, SDL_Window *window, float opacity)
int share_with_current_context
void(* ShowScreenKeyboard)(_THIS, SDL_Window *window)
void(* SetWindowBordered)(_THIS, SDL_Window *window, SDL_bool bordered)
void(* RaiseWindow)(_THIS, SDL_Window *window)
SDL_DisplayMode desktop_mode
SDL_DisplayOrientation orientation
SDL_DisplayMode * display_modes
SDL_Window * fullscreen_window
SDL_DisplayMode current_mode
The type used to identify a window.
Uint32 last_fullscreen_flags
SDL_WindowUserData * data
SDL_WindowShaper * shaper
SDL_DisplayMode fullscreen_mode
A struct that tags the SDL_WindowShapeParams union with an enum describing the type of its contents.
struct SDL_WindowUserData * next
static char text[MAX_TEXT_LENGTH]
static screen_context_t context
VkResult(VKAPI_PTR * PFN_vkEnumerateInstanceExtensionProperties)(const char *pLayerName, uint32_t *pPropertyCount, VkExtensionProperties *pProperties)
PFN_vkVoidFunction(VKAPI_PTR * PFN_vkGetInstanceProcAddr)(VkInstance instance, const char *pName)