128 #define SDL_WINDOWPOS_UNDEFINED_MASK 0x1FFF0000u
129 #define SDL_WINDOWPOS_UNDEFINED_DISPLAY(X) (SDL_WINDOWPOS_UNDEFINED_MASK|(X))
130 #define SDL_WINDOWPOS_UNDEFINED SDL_WINDOWPOS_UNDEFINED_DISPLAY(0)
131 #define SDL_WINDOWPOS_ISUNDEFINED(X) \
132 (((X)&0xFFFF0000) == SDL_WINDOWPOS_UNDEFINED_MASK)
137 #define SDL_WINDOWPOS_CENTERED_MASK 0x2FFF0000u
138 #define SDL_WINDOWPOS_CENTERED_DISPLAY(X) (SDL_WINDOWPOS_CENTERED_MASK|(X))
139 #define SDL_WINDOWPOS_CENTERED SDL_WINDOWPOS_CENTERED_DISPLAY(0)
140 #define SDL_WINDOWPOS_ISCENTERED(X) \
141 (((X)&0xFFFF0000) == SDL_WINDOWPOS_CENTERED_MASK)
210 SDL_GL_ACCUM_RED_SIZE,
211 SDL_GL_ACCUM_GREEN_SIZE,
212 SDL_GL_ACCUM_BLUE_SIZE,
213 SDL_GL_ACCUM_ALPHA_SIZE,
215 SDL_GL_MULTISAMPLEBUFFERS,
216 SDL_GL_MULTISAMPLESAMPLES,
217 SDL_GL_ACCELERATED_VISUAL,
218 SDL_GL_RETAINED_BACKING,
219 SDL_GL_CONTEXT_MAJOR_VERSION,
220 SDL_GL_CONTEXT_MINOR_VERSION,
222 SDL_GL_CONTEXT_FLAGS,
223 SDL_GL_CONTEXT_PROFILE_MASK,
224 SDL_GL_SHARE_WITH_CURRENT_CONTEXT,
225 SDL_GL_FRAMEBUFFER_SRGB_CAPABLE,
226 SDL_GL_CONTEXT_RELEASE_BEHAVIOR,
227 SDL_GL_CONTEXT_RESET_NOTIFICATION,
228 SDL_GL_CONTEXT_NO_ERROR
233 SDL_GL_CONTEXT_PROFILE_CORE = 0x0001,
234 SDL_GL_CONTEXT_PROFILE_COMPATIBILITY = 0x0002,
240 SDL_GL_CONTEXT_DEBUG_FLAG = 0x0001,
241 SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG = 0x0002,
242 SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG = 0x0004,
243 SDL_GL_CONTEXT_RESET_ISOLATION_FLAG = 0x0008
248 SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE = 0x0000,
249 SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x0001
250 } SDL_GLcontextReleaseFlag;
254 SDL_GL_CONTEXT_RESET_NO_NOTIFICATION = 0x0000,
255 SDL_GL_CONTEXT_RESET_LOSE_CONTEXT = 0x0001
256 } SDL_GLContextResetNotification;
368 extern DECLSPEC
int SDLCALL
SDL_GetDisplayDPI(
int displayIndex,
float * ddpi,
float * hdpi,
float * vdpi);
523 int h, Uint32 flags);
692 int *bottom,
int *right);
708 int min_w,
int min_h);
737 int max_w,
int max_h);
998 const Uint16 * green,
999 const Uint16 * blue);
1030 SDL_HITTEST_RESIZE_TOPLEFT,
1031 SDL_HITTEST_RESIZE_TOP,
1032 SDL_HITTEST_RESIZE_TOPRIGHT,
1033 SDL_HITTEST_RESIZE_RIGHT,
1034 SDL_HITTEST_RESIZE_BOTTOMRIGHT,
1035 SDL_HITTEST_RESIZE_BOTTOM,
1036 SDL_HITTEST_RESIZE_BOTTOMLEFT,
1037 SDL_HITTEST_RESIZE_LEFT
1088 void *callback_data);
DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_Window *window, int *x, int *y)
Get the position of a window.
SDL_HitTestResult
Possible return values from the SDL_HitTest callback.
Definition: SDL_video.h:1027
@ SDL_HITTEST_DRAGGABLE
Definition: SDL_video.h:1029
@ SDL_HITTEST_NORMAL
Definition: SDL_video.h:1028
DECLSPEC int SDLCALL SDL_VideoInit(const char *driver_name)
Initialize the video subsystem, optionally specifying a video driver.
DECLSPEC int SDLCALL SDL_GetNumVideoDisplays(void)
Returns the number of available video displays.
DECLSPEC int SDLCALL SDL_GetDisplayMode(int displayIndex, int modeIndex, SDL_DisplayMode *mode)
Fill in information about a specific display mode.
DECLSPEC void SDLCALL SDL_SetWindowIcon(SDL_Window *window, SDL_Surface *icon)
Set the icon for a window.
DECLSPEC int SDLCALL SDL_GetWindowDisplayIndex(SDL_Window *window)
Get the display index associated with a window.
void * SDL_GLContext
An opaque handle to an OpenGL context.
Definition: SDL_video.h:195
DECLSPEC SDL_GLContext SDLCALL SDL_GL_CreateContext(SDL_Window *window)
Create an OpenGL context for use with an OpenGL window, and make it current.
DECLSPEC SDL_Surface *SDLCALL SDL_GetWindowSurface(SDL_Window *window)
Get the SDL surface associated with the window.
DECLSPEC void SDLCALL SDL_GL_SwapWindow(SDL_Window *window)
Swap the OpenGL buffers for a window, if double-buffering is supported.
DECLSPEC int SDLCALL SDL_GetCurrentDisplayMode(int displayIndex, SDL_DisplayMode *mode)
Fill in information about the current display mode.
DECLSPEC void SDLCALL SDL_EnableScreenSaver(void)
Allow the screen to be blanked by a screensaver.
DECLSPEC void SDLCALL SDL_SetWindowMinimumSize(SDL_Window *window, int min_w, int min_h)
Set the minimum size of a window's client area.
DECLSPEC const char *SDLCALL SDL_GetWindowTitle(SDL_Window *window)
Get the title of a window, in UTF-8 format.
DECLSPEC int SDLCALL SDL_GetWindowBordersSize(SDL_Window *window, int *top, int *left, int *bottom, int *right)
Get the size of a window's borders (decorations) around the client area.
DECLSPEC Uint32 SDLCALL SDL_GetWindowID(SDL_Window *window)
Get the numeric ID of a window, for logging purposes.
DECLSPEC SDL_bool SDLCALL SDL_GL_ExtensionSupported(const char *extension)
Return true if an OpenGL extension is supported for the current context.
DECLSPEC float SDLCALL SDL_GetWindowBrightness(SDL_Window *window)
Get the brightness (gamma correction) for a window.
DECLSPEC int SDLCALL SDL_SetWindowHitTest(SDL_Window *window, SDL_HitTest callback, void *callback_data)
Provide a callback that decides if a window region has special properties.
SDL_HitTestResult(SDLCALL * SDL_HitTest)(SDL_Window *win, const SDL_Point *area, void *data)
Callback used for hit-testing.
Definition: SDL_video.h:1045
DECLSPEC void SDLCALL SDL_SetWindowSize(SDL_Window *window, int w, int h)
Set the size of a window's client area.
DECLSPEC const char *SDLCALL SDL_GetVideoDriver(int index)
Get the name of a built in video driver.
DECLSPEC int SDLCALL SDL_SetWindowDisplayMode(SDL_Window *window, const SDL_DisplayMode *mode)
Set the display mode used when a fullscreen window is visible.
SDL_GLattr
OpenGL configuration attributes.
Definition: SDL_video.h:201
DECLSPEC const char *SDLCALL SDL_GetDisplayName(int displayIndex)
Get the name of a display in UTF-8 encoding.
DECLSPEC void SDLCALL SDL_GetWindowMaximumSize(SDL_Window *window, int *w, int *h)
Get the maximum size of a window's client area.
DECLSPEC int SDLCALL SDL_GL_LoadLibrary(const char *path)
Dynamically load an OpenGL library.
DECLSPEC Uint32 SDLCALL SDL_GetWindowPixelFormat(SDL_Window *window)
Get the pixel format associated with the window.
DECLSPEC void SDLCALL SDL_SetWindowTitle(SDL_Window *window, const char *title)
Set the title of a window, in UTF-8 format.
DECLSPEC SDL_Window *SDLCALL SDL_CreateWindow(const char *title, int x, int y, int w, int h, Uint32 flags)
Create a window with the specified position, dimensions, and flags.
DECLSPEC void SDLCALL SDL_SetWindowResizable(SDL_Window *window, SDL_bool resizable)
Set the user-resizable state of a window.
DECLSPEC Uint32 SDLCALL SDL_GetWindowFlags(SDL_Window *window)
Get the window flags.
DECLSPEC SDL_bool SDLCALL SDL_IsScreenSaverEnabled(void)
Returns whether the screensaver is currently enabled (default off).
DECLSPEC void SDLCALL SDL_RaiseWindow(SDL_Window *window)
Raise a window above other windows and set the input focus.
DECLSPEC SDL_Window *SDLCALL SDL_CreateWindowFrom(const void *data)
Create an SDL window from an existing native window.
struct SDL_Window SDL_Window
The type used to identify a window.
Definition: SDL_video.h:90
DECLSPEC int SDLCALL SDL_GL_MakeCurrent(SDL_Window *window, SDL_GLContext context)
Set up an OpenGL context for rendering into an OpenGL window.
DECLSPEC int SDLCALL SDL_GetNumDisplayModes(int displayIndex)
Returns the number of available display modes.
DECLSPEC void SDLCALL SDL_GetWindowSize(SDL_Window *window, int *w, int *h)
Get the size of a window's client area.
DECLSPEC const char *SDLCALL SDL_GetCurrentVideoDriver(void)
Returns the name of the currently initialized video driver.
DECLSPEC void SDLCALL SDL_ShowWindow(SDL_Window *window)
Show a window.
DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int *value)
Get the actual value for an attribute from the current context.
DECLSPEC void *SDLCALL SDL_GL_GetProcAddress(const char *proc)
Get the address of an OpenGL function.
DECLSPEC SDL_DisplayOrientation SDLCALL SDL_GetDisplayOrientation(int displayIndex)
Get the orientation of a display.
DECLSPEC int SDLCALL SDL_SetWindowGammaRamp(SDL_Window *window, const Uint16 *red, const Uint16 *green, const Uint16 *blue)
Set the gamma ramp for a window.
DECLSPEC int SDLCALL SDL_GL_SetSwapInterval(int interval)
Set the swap interval for the current OpenGL context.
DECLSPEC void SDLCALL SDL_DisableScreenSaver(void)
Prevent the screen from being blanked by a screensaver.
DECLSPEC void SDLCALL SDL_DestroyWindow(SDL_Window *window)
Destroy a window.
DECLSPEC SDL_GLContext SDLCALL SDL_GL_GetCurrentContext(void)
Get the currently active OpenGL context.
DECLSPEC SDL_DisplayMode *SDLCALL SDL_GetClosestDisplayMode(int displayIndex, const SDL_DisplayMode *mode, SDL_DisplayMode *closest)
Get the closest match to the requested display mode.
DECLSPEC int SDLCALL SDL_UpdateWindowSurface(SDL_Window *window)
Copy the window surface to the screen.
DECLSPEC int SDLCALL SDL_GetWindowDisplayMode(SDL_Window *window, SDL_DisplayMode *mode)
Fill in information about the display mode used when a fullscreen window is visible.
DECLSPEC int SDLCALL SDL_GetDisplayDPI(int displayIndex, float *ddpi, float *hdpi, float *vdpi)
Get the dots/pixels-per-inch for a display.
DECLSPEC int SDLCALL SDL_SetWindowBrightness(SDL_Window *window, float brightness)
Set the brightness (gamma correction) for a window.
DECLSPEC SDL_Window *SDLCALL SDL_GetGrabbedWindow(void)
Get the window that currently has an input grab enabled.
DECLSPEC void SDLCALL SDL_MaximizeWindow(SDL_Window *window)
Make a window as large as possible.
DECLSPEC void SDLCALL SDL_GL_UnloadLibrary(void)
Unload the OpenGL library previously loaded by SDL_GL_LoadLibrary().
DECLSPEC int SDLCALL SDL_GetDisplayUsableBounds(int displayIndex, SDL_Rect *rect)
Get the usable desktop area represented by a display, with the primary display located at 0,...
DECLSPEC SDL_Window *SDLCALL SDL_GL_GetCurrentWindow(void)
Get the currently active OpenGL window.
DECLSPEC int SDLCALL SDL_GetWindowOpacity(SDL_Window *window, float *out_opacity)
Get the opacity of a window.
DECLSPEC void SDLCALL SDL_MinimizeWindow(SDL_Window *window)
Minimize a window to an iconic representation.
DECLSPEC void SDLCALL SDL_HideWindow(SDL_Window *window)
Hide a window.
DECLSPEC void SDLCALL SDL_GL_DeleteContext(SDL_GLContext context)
Delete an OpenGL context.
DECLSPEC int SDLCALL SDL_SetWindowInputFocus(SDL_Window *window)
Explicitly sets input focus to the window.
DECLSPEC void SDLCALL SDL_SetWindowMaximumSize(SDL_Window *window, int max_w, int max_h)
Set the maximum size of a window's client area.
SDL_WindowFlags
The flags on a window.
Definition: SDL_video.h:98
@ SDL_WINDOW_ALLOW_HIGHDPI
Definition: SDL_video.h:112
@ SDL_WINDOW_FOREIGN
Definition: SDL_video.h:111
@ SDL_WINDOW_TOOLTIP
Definition: SDL_video.h:119
@ SDL_WINDOW_ALWAYS_ON_TOP
Definition: SDL_video.h:116
@ SDL_WINDOW_SHOWN
Definition: SDL_video.h:101
@ SDL_WINDOW_SKIP_TASKBAR
Definition: SDL_video.h:117
@ SDL_WINDOW_MOUSE_CAPTURE
Definition: SDL_video.h:115
@ SDL_WINDOW_VULKAN
Definition: SDL_video.h:121
@ SDL_WINDOW_OPENGL
Definition: SDL_video.h:100
@ SDL_WINDOW_MINIMIZED
Definition: SDL_video.h:105
@ SDL_WINDOW_UTILITY
Definition: SDL_video.h:118
@ SDL_WINDOW_MOUSE_FOCUS
Definition: SDL_video.h:109
@ SDL_WINDOW_INPUT_GRABBED
Definition: SDL_video.h:107
@ SDL_WINDOW_RESIZABLE
Definition: SDL_video.h:104
@ SDL_WINDOW_FULLSCREEN
Definition: SDL_video.h:99
@ SDL_WINDOW_MAXIMIZED
Definition: SDL_video.h:106
@ SDL_WINDOW_METAL
Definition: SDL_video.h:122
@ SDL_WINDOW_HIDDEN
Definition: SDL_video.h:102
@ SDL_WINDOW_POPUP_MENU
Definition: SDL_video.h:120
@ SDL_WINDOW_BORDERLESS
Definition: SDL_video.h:103
@ SDL_WINDOW_INPUT_FOCUS
Definition: SDL_video.h:108
DECLSPEC void SDLCALL SDL_SetWindowPosition(SDL_Window *window, int x, int y)
Set the position of a window.
DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_Window *window, Uint32 flags)
Set a window's fullscreen state.
DECLSPEC int SDLCALL SDL_GetDesktopDisplayMode(int displayIndex, SDL_DisplayMode *mode)
Fill in information about the desktop display mode.
DECLSPEC void SDLCALL SDL_SetWindowGrab(SDL_Window *window, SDL_bool grabbed)
Set a window's input grab mode.
DECLSPEC int SDLCALL SDL_GetDisplayBounds(int displayIndex, SDL_Rect *rect)
Get the desktop area represented by a display, with the primary display located at 0,...
DECLSPEC int SDLCALL SDL_SetWindowOpacity(SDL_Window *window, float opacity)
Set the opacity for a window.
DECLSPEC void SDLCALL SDL_GL_GetDrawableSize(SDL_Window *window, int *w, int *h)
Get the size of a window's underlying drawable in pixels (for use with glViewport).
SDL_WindowEventID
Event subtype for window events.
Definition: SDL_video.h:147
@ SDL_WINDOWEVENT_HIDDEN
Definition: SDL_video.h:150
@ SDL_WINDOWEVENT_FOCUS_LOST
Definition: SDL_video.h:166
@ SDL_WINDOWEVENT_CLOSE
Definition: SDL_video.h:167
@ SDL_WINDOWEVENT_RESIZED
Definition: SDL_video.h:155
@ SDL_WINDOWEVENT_HIT_TEST
Definition: SDL_video.h:169
@ SDL_WINDOWEVENT_FOCUS_GAINED
Definition: SDL_video.h:165
@ SDL_WINDOWEVENT_SHOWN
Definition: SDL_video.h:149
@ SDL_WINDOWEVENT_MOVED
Definition: SDL_video.h:153
@ SDL_WINDOWEVENT_TAKE_FOCUS
Definition: SDL_video.h:168
@ SDL_WINDOWEVENT_MINIMIZED
Definition: SDL_video.h:159
@ SDL_WINDOWEVENT_LEAVE
Definition: SDL_video.h:164
@ SDL_WINDOWEVENT_MAXIMIZED
Definition: SDL_video.h:160
@ SDL_WINDOWEVENT_SIZE_CHANGED
Definition: SDL_video.h:156
@ SDL_WINDOWEVENT_RESTORED
Definition: SDL_video.h:161
@ SDL_WINDOWEVENT_EXPOSED
Definition: SDL_video.h:151
@ SDL_WINDOWEVENT_ENTER
Definition: SDL_video.h:163
@ SDL_WINDOWEVENT_NONE
Definition: SDL_video.h:148
DECLSPEC int SDLCALL SDL_GetNumVideoDrivers(void)
Get the number of video drivers compiled into SDL.
DECLSPEC void SDLCALL SDL_GL_ResetAttributes(void)
Reset all previously set OpenGL context attributes to their default values.
DECLSPEC SDL_bool SDLCALL SDL_GetWindowGrab(SDL_Window *window)
Get a window's input grab mode.
SDL_GLprofile
Definition: SDL_video.h:232
@ SDL_GL_CONTEXT_PROFILE_ES
Definition: SDL_video.h:235
SDL_DisplayEventID
Event subtype for display events.
Definition: SDL_video.h:176
@ SDL_DISPLAYEVENT_NONE
Definition: SDL_video.h:177
@ SDL_DISPLAYEVENT_ORIENTATION
Definition: SDL_video.h:178
@ SDL_DISPLAYEVENT_DISCONNECTED
Definition: SDL_video.h:180
@ SDL_DISPLAYEVENT_CONNECTED
Definition: SDL_video.h:179
DECLSPEC void *SDLCALL SDL_GetWindowData(SDL_Window *window, const char *name)
Retrieve the data pointer associated with a window.
DECLSPEC SDL_Window *SDLCALL SDL_GetWindowFromID(Uint32 id)
Get a window from a stored ID, or NULL if it doesn't exist.
DECLSPEC void SDLCALL SDL_VideoQuit(void)
Shuts down the video subsystem.
DECLSPEC int SDLCALL SDL_UpdateWindowSurfaceRects(SDL_Window *window, const SDL_Rect *rects, int numrects)
Copy a number of rectangles on the window surface to the screen.
DECLSPEC int SDLCALL SDL_GL_GetSwapInterval(void)
Get the swap interval for the current OpenGL context.
DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value)
Set an OpenGL window attribute before window creation.
SDL_DisplayOrientation
Definition: SDL_video.h:184
@ SDL_ORIENTATION_LANDSCAPE
Definition: SDL_video.h:186
@ SDL_ORIENTATION_PORTRAIT
Definition: SDL_video.h:188
@ SDL_ORIENTATION_PORTRAIT_FLIPPED
Definition: SDL_video.h:189
@ SDL_ORIENTATION_LANDSCAPE_FLIPPED
Definition: SDL_video.h:187
@ SDL_ORIENTATION_UNKNOWN
Definition: SDL_video.h:185
DECLSPEC int SDLCALL SDL_GetWindowGammaRamp(SDL_Window *window, Uint16 *red, Uint16 *green, Uint16 *blue)
Get the gamma ramp for a window.
DECLSPEC void SDLCALL SDL_SetWindowBordered(SDL_Window *window, SDL_bool bordered)
Set the border state of a window.
DECLSPEC int SDLCALL SDL_SetWindowModalFor(SDL_Window *modal_window, SDL_Window *parent_window)
Sets the window as a modal for another window (TODO: reconsider this function and/or its name)
DECLSPEC void *SDLCALL SDL_SetWindowData(SDL_Window *window, const char *name, void *userdata)
Associate an arbitrary named pointer with a window.
DECLSPEC void SDLCALL SDL_GetWindowMinimumSize(SDL_Window *window, int *w, int *h)
Get the minimum size of a window's client area.
DECLSPEC void SDLCALL SDL_RestoreWindow(SDL_Window *window)
Restore the size and position of a minimized or maximized window.
The structure that defines a display mode.
Definition: SDL_video.h:54
int h
Definition: SDL_video.h:57
void * driverdata
Definition: SDL_video.h:59
int w
Definition: SDL_video.h:56
int refresh_rate
Definition: SDL_video.h:58
Uint32 format
Definition: SDL_video.h:55
The structure that defines a point (integer)
Definition: SDL_rect.h:49
A rectangle, with the origin at the upper left (integer).
Definition: SDL_rect.h:78
A collection of pixels used in software blitting.
Definition: SDL_surface.h:71