My Project
SDL_video.h
Go to the documentation of this file.
1 /*
2  Simple DirectMedia Layer
3  Copyright (C) 1997-2018 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 
28 #ifndef SDL_video_h_
29 #define SDL_video_h_
30 
31 #include "SDL_stdinc.h"
32 #include "SDL_pixels.h"
33 #include "SDL_rect.h"
34 #include "SDL_surface.h"
35 
36 #include "begin_code.h"
37 /* Set up for C function definitions, even when using C++ */
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
53 typedef struct
54 {
55  Uint32 format;
56  int w;
57  int h;
59  void *driverdata;
61 
90 typedef struct SDL_Window SDL_Window;
91 
97 typedef enum
98 {
99  /* !!! FIXME: change this to name = (1<<x). */
100  SDL_WINDOW_FULLSCREEN = 0x00000001,
101  SDL_WINDOW_OPENGL = 0x00000002,
102  SDL_WINDOW_SHOWN = 0x00000004,
103  SDL_WINDOW_HIDDEN = 0x00000008,
104  SDL_WINDOW_BORDERLESS = 0x00000010,
105  SDL_WINDOW_RESIZABLE = 0x00000020,
106  SDL_WINDOW_MINIMIZED = 0x00000040,
107  SDL_WINDOW_MAXIMIZED = 0x00000080,
109  SDL_WINDOW_INPUT_FOCUS = 0x00000200,
110  SDL_WINDOW_MOUSE_FOCUS = 0x00000400,
111  SDL_WINDOW_FULLSCREEN_DESKTOP = ( SDL_WINDOW_FULLSCREEN | 0x00001000 ),
112  SDL_WINDOW_FOREIGN = 0x00000800,
118  SDL_WINDOW_SKIP_TASKBAR = 0x00010000,
119  SDL_WINDOW_UTILITY = 0x00020000,
120  SDL_WINDOW_TOOLTIP = 0x00040000,
121  SDL_WINDOW_POPUP_MENU = 0x00080000,
122  SDL_WINDOW_VULKAN = 0x10000000
124 
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)
133 
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)
142 
146 typedef enum
147 {
171 
175 typedef enum
176 {
180 
181 typedef enum
182 {
189 
193 typedef void *SDL_GLContext;
194 
198 typedef enum
199 {
200  SDL_GL_RED_SIZE,
201  SDL_GL_GREEN_SIZE,
202  SDL_GL_BLUE_SIZE,
203  SDL_GL_ALPHA_SIZE,
204  SDL_GL_BUFFER_SIZE,
205  SDL_GL_DOUBLEBUFFER,
206  SDL_GL_DEPTH_SIZE,
207  SDL_GL_STENCIL_SIZE,
208  SDL_GL_ACCUM_RED_SIZE,
209  SDL_GL_ACCUM_GREEN_SIZE,
210  SDL_GL_ACCUM_BLUE_SIZE,
211  SDL_GL_ACCUM_ALPHA_SIZE,
212  SDL_GL_STEREO,
213  SDL_GL_MULTISAMPLEBUFFERS,
214  SDL_GL_MULTISAMPLESAMPLES,
215  SDL_GL_ACCELERATED_VISUAL,
216  SDL_GL_RETAINED_BACKING,
217  SDL_GL_CONTEXT_MAJOR_VERSION,
218  SDL_GL_CONTEXT_MINOR_VERSION,
219  SDL_GL_CONTEXT_EGL,
220  SDL_GL_CONTEXT_FLAGS,
221  SDL_GL_CONTEXT_PROFILE_MASK,
222  SDL_GL_SHARE_WITH_CURRENT_CONTEXT,
223  SDL_GL_FRAMEBUFFER_SRGB_CAPABLE,
224  SDL_GL_CONTEXT_RELEASE_BEHAVIOR,
225  SDL_GL_CONTEXT_RESET_NOTIFICATION,
226  SDL_GL_CONTEXT_NO_ERROR
227 } SDL_GLattr;
228 
229 typedef enum
230 {
231  SDL_GL_CONTEXT_PROFILE_CORE = 0x0001,
232  SDL_GL_CONTEXT_PROFILE_COMPATIBILITY = 0x0002,
234 } SDL_GLprofile;
235 
236 typedef enum
237 {
238  SDL_GL_CONTEXT_DEBUG_FLAG = 0x0001,
239  SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG = 0x0002,
240  SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG = 0x0004,
241  SDL_GL_CONTEXT_RESET_ISOLATION_FLAG = 0x0008
242 } SDL_GLcontextFlag;
243 
244 typedef enum
245 {
246  SDL_GL_CONTEXT_RELEASE_BEHAVIOR_NONE = 0x0000,
247  SDL_GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x0001
248 } SDL_GLcontextReleaseFlag;
249 
250 typedef enum
251 {
252  SDL_GL_CONTEXT_RESET_NO_NOTIFICATION = 0x0000,
253  SDL_GL_CONTEXT_RESET_LOSE_CONTEXT = 0x0001
254 } SDL_GLContextResetNotification;
255 
256 /* Function prototypes */
257 
263 extern DECLSPEC int SDLCALL SDL_GetNumVideoDrivers(void);
264 
273 extern DECLSPEC const char *SDLCALL SDL_GetVideoDriver(int index);
274 
289 extern DECLSPEC int SDLCALL SDL_VideoInit(const char *driver_name);
290 
298 extern DECLSPEC void SDLCALL SDL_VideoQuit(void);
299 
309 extern DECLSPEC const char *SDLCALL SDL_GetCurrentVideoDriver(void);
310 
316 extern DECLSPEC int SDLCALL SDL_GetNumVideoDisplays(void);
317 
325 extern DECLSPEC const char * SDLCALL SDL_GetDisplayName(int displayIndex);
326 
335 extern DECLSPEC int SDLCALL SDL_GetDisplayBounds(int displayIndex, SDL_Rect * rect);
336 
354 extern DECLSPEC int SDLCALL SDL_GetDisplayUsableBounds(int displayIndex, SDL_Rect * rect);
355 
366 extern DECLSPEC int SDLCALL SDL_GetDisplayDPI(int displayIndex, float * ddpi, float * hdpi, float * vdpi);
367 
375 extern DECLSPEC SDL_DisplayOrientation SDLCALL SDL_GetDisplayOrientation(int displayIndex);
376 
382 extern DECLSPEC int SDLCALL SDL_GetNumDisplayModes(int displayIndex);
383 
395 extern DECLSPEC int SDLCALL SDL_GetDisplayMode(int displayIndex, int modeIndex,
396  SDL_DisplayMode * mode);
397 
401 extern DECLSPEC int SDLCALL SDL_GetDesktopDisplayMode(int displayIndex, SDL_DisplayMode * mode);
402 
406 extern DECLSPEC int SDLCALL SDL_GetCurrentDisplayMode(int displayIndex, SDL_DisplayMode * mode);
407 
408 
430 extern DECLSPEC SDL_DisplayMode * SDLCALL SDL_GetClosestDisplayMode(int displayIndex, const SDL_DisplayMode * mode, SDL_DisplayMode * closest);
431 
438 extern DECLSPEC int SDLCALL SDL_GetWindowDisplayIndex(SDL_Window * window);
439 
454 extern DECLSPEC int SDLCALL SDL_SetWindowDisplayMode(SDL_Window * window,
455  const SDL_DisplayMode
456  * mode);
457 
465 extern DECLSPEC int SDLCALL SDL_GetWindowDisplayMode(SDL_Window * window,
466  SDL_DisplayMode * mode);
467 
471 extern DECLSPEC Uint32 SDLCALL SDL_GetWindowPixelFormat(SDL_Window * window);
472 
515 extern DECLSPEC SDL_Window * SDLCALL SDL_CreateWindow(const char *title,
516  int x, int y, int w,
517  int h, Uint32 flags);
518 
528 extern DECLSPEC SDL_Window * SDLCALL SDL_CreateWindowFrom(const void *data);
529 
533 extern DECLSPEC Uint32 SDLCALL SDL_GetWindowID(SDL_Window * window);
534 
538 extern DECLSPEC SDL_Window * SDLCALL SDL_GetWindowFromID(Uint32 id);
539 
543 extern DECLSPEC Uint32 SDLCALL SDL_GetWindowFlags(SDL_Window * window);
544 
550 extern DECLSPEC void SDLCALL SDL_SetWindowTitle(SDL_Window * window,
551  const char *title);
552 
558 extern DECLSPEC const char *SDLCALL SDL_GetWindowTitle(SDL_Window * window);
559 
566 extern DECLSPEC void SDLCALL SDL_SetWindowIcon(SDL_Window * window,
567  SDL_Surface * icon);
568 
582 extern DECLSPEC void* SDLCALL SDL_SetWindowData(SDL_Window * window,
583  const char *name,
584  void *userdata);
585 
596 extern DECLSPEC void *SDLCALL SDL_GetWindowData(SDL_Window * window,
597  const char *name);
598 
612 extern DECLSPEC void SDLCALL SDL_SetWindowPosition(SDL_Window * window,
613  int x, int y);
614 
626 extern DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_Window * window,
627  int *x, int *y);
628 
647 extern DECLSPEC void SDLCALL SDL_SetWindowSize(SDL_Window * window, int w,
648  int h);
649 
666 extern DECLSPEC void SDLCALL SDL_GetWindowSize(SDL_Window * window, int *w,
667  int *h);
668 
684 extern DECLSPEC int SDLCALL SDL_GetWindowBordersSize(SDL_Window * window,
685  int *top, int *left,
686  int *bottom, int *right);
687 
701 extern DECLSPEC void SDLCALL SDL_SetWindowMinimumSize(SDL_Window * window,
702  int min_w, int min_h);
703 
714 extern DECLSPEC void SDLCALL SDL_GetWindowMinimumSize(SDL_Window * window,
715  int *w, int *h);
716 
730 extern DECLSPEC void SDLCALL SDL_SetWindowMaximumSize(SDL_Window * window,
731  int max_w, int max_h);
732 
743 extern DECLSPEC void SDLCALL SDL_GetWindowMaximumSize(SDL_Window * window,
744  int *w, int *h);
745 
760 extern DECLSPEC void SDLCALL SDL_SetWindowBordered(SDL_Window * window,
761  SDL_bool bordered);
762 
777 extern DECLSPEC void SDLCALL SDL_SetWindowResizable(SDL_Window * window,
778  SDL_bool resizable);
779 
785 extern DECLSPEC void SDLCALL SDL_ShowWindow(SDL_Window * window);
786 
792 extern DECLSPEC void SDLCALL SDL_HideWindow(SDL_Window * window);
793 
797 extern DECLSPEC void SDLCALL SDL_RaiseWindow(SDL_Window * window);
798 
804 extern DECLSPEC void SDLCALL SDL_MaximizeWindow(SDL_Window * window);
805 
811 extern DECLSPEC void SDLCALL SDL_MinimizeWindow(SDL_Window * window);
812 
819 extern DECLSPEC void SDLCALL SDL_RestoreWindow(SDL_Window * window);
820 
829 extern DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_Window * window,
830  Uint32 flags);
831 
845 extern DECLSPEC SDL_Surface * SDLCALL SDL_GetWindowSurface(SDL_Window * window);
846 
855 extern DECLSPEC int SDLCALL SDL_UpdateWindowSurface(SDL_Window * window);
856 
865 extern DECLSPEC int SDLCALL SDL_UpdateWindowSurfaceRects(SDL_Window * window,
866  const SDL_Rect * rects,
867  int numrects);
868 
880 extern DECLSPEC void SDLCALL SDL_SetWindowGrab(SDL_Window * window,
881  SDL_bool grabbed);
882 
890 extern DECLSPEC SDL_bool SDLCALL SDL_GetWindowGrab(SDL_Window * window);
891 
899 extern DECLSPEC SDL_Window * SDLCALL SDL_GetGrabbedWindow(void);
900 
909 extern DECLSPEC int SDLCALL SDL_SetWindowBrightness(SDL_Window * window, float brightness);
910 
918 extern DECLSPEC float SDLCALL SDL_GetWindowBrightness(SDL_Window * window);
919 
931 extern DECLSPEC int SDLCALL SDL_SetWindowOpacity(SDL_Window * window, float opacity);
932 
946 extern DECLSPEC int SDLCALL SDL_GetWindowOpacity(SDL_Window * window, float * out_opacity);
947 
956 extern DECLSPEC int SDLCALL SDL_SetWindowModalFor(SDL_Window * modal_window, SDL_Window * parent_window);
957 
970 extern DECLSPEC int SDLCALL SDL_SetWindowInputFocus(SDL_Window * window);
971 
990 extern DECLSPEC int SDLCALL SDL_SetWindowGammaRamp(SDL_Window * window,
991  const Uint16 * red,
992  const Uint16 * green,
993  const Uint16 * blue);
994 
1010 extern DECLSPEC int SDLCALL SDL_GetWindowGammaRamp(SDL_Window * window,
1011  Uint16 * red,
1012  Uint16 * green,
1013  Uint16 * blue);
1014 
1020 typedef enum
1021 {
1024  SDL_HITTEST_RESIZE_TOPLEFT,
1025  SDL_HITTEST_RESIZE_TOP,
1026  SDL_HITTEST_RESIZE_TOPRIGHT,
1027  SDL_HITTEST_RESIZE_RIGHT,
1028  SDL_HITTEST_RESIZE_BOTTOMRIGHT,
1029  SDL_HITTEST_RESIZE_BOTTOM,
1030  SDL_HITTEST_RESIZE_BOTTOMLEFT,
1031  SDL_HITTEST_RESIZE_LEFT
1033 
1039 typedef SDL_HitTestResult (SDLCALL *SDL_HitTest)(SDL_Window *win,
1040  const SDL_Point *area,
1041  void *data);
1042 
1080 extern DECLSPEC int SDLCALL SDL_SetWindowHitTest(SDL_Window * window,
1081  SDL_HitTest callback,
1082  void *callback_data);
1083 
1087 extern DECLSPEC void SDLCALL SDL_DestroyWindow(SDL_Window * window);
1088 
1089 
1096 extern DECLSPEC SDL_bool SDLCALL SDL_IsScreenSaverEnabled(void);
1097 
1104 extern DECLSPEC void SDLCALL SDL_EnableScreenSaver(void);
1105 
1112 extern DECLSPEC void SDLCALL SDL_DisableScreenSaver(void);
1113 
1114 
1118 /* @{ */
1119 
1138 extern DECLSPEC int SDLCALL SDL_GL_LoadLibrary(const char *path);
1139 
1143 extern DECLSPEC void *SDLCALL SDL_GL_GetProcAddress(const char *proc);
1144 
1150 extern DECLSPEC void SDLCALL SDL_GL_UnloadLibrary(void);
1151 
1156 extern DECLSPEC SDL_bool SDLCALL SDL_GL_ExtensionSupported(const char
1157  *extension);
1158 
1162 extern DECLSPEC void SDLCALL SDL_GL_ResetAttributes(void);
1163 
1169 extern DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value);
1170 
1177 extern DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int *value);
1178 
1185 extern DECLSPEC SDL_GLContext SDLCALL SDL_GL_CreateContext(SDL_Window *
1186  window);
1187 
1193 extern DECLSPEC int SDLCALL SDL_GL_MakeCurrent(SDL_Window * window,
1194  SDL_GLContext context);
1195 
1199 extern DECLSPEC SDL_Window* SDLCALL SDL_GL_GetCurrentWindow(void);
1200 
1204 extern DECLSPEC SDL_GLContext SDLCALL SDL_GL_GetCurrentContext(void);
1205 
1222 extern DECLSPEC void SDLCALL SDL_GL_GetDrawableSize(SDL_Window * window, int *w,
1223  int *h);
1224 
1237 extern DECLSPEC int SDLCALL SDL_GL_SetSwapInterval(int interval);
1238 
1250 extern DECLSPEC int SDLCALL SDL_GL_GetSwapInterval(void);
1251 
1256 extern DECLSPEC void SDLCALL SDL_GL_SwapWindow(SDL_Window * window);
1257 
1263 extern DECLSPEC void SDLCALL SDL_GL_DeleteContext(SDL_GLContext context);
1264 
1265 /* @} *//* OpenGL support functions */
1266 
1267 
1268 /* Ends C function definitions when using C++ */
1269 #ifdef __cplusplus
1270 }
1271 #endif
1272 #include "close_code.h"
1273 
1274 #endif /* SDL_video_h_ */
1275 
1276 /* vi: set ts=4 sw=4 expandtab: */
DECLSPEC void SDLCALL SDL_GetWindowMinimumSize(SDL_Window *window, int *w, int *h)
Get the minimum size of a window&#39;s client area.
Definition: SDL_video.h:160
Definition: SDL_video.h:104
struct SDL_Window SDL_Window
The type used to identify a window.
Definition: SDL_video.h:90
Definition: SDL_video.h:185
DECLSPEC void SDLCALL SDL_GL_GetDrawableSize(SDL_Window *window, int *w, int *h)
Get the size of a window&#39;s underlying drawable in pixels (for use with glViewport).
DECLSPEC float SDLCALL SDL_GetWindowBrightness(SDL_Window *window)
Get the brightness (gamma correction) for a window.
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 void SDLCALL SDL_DestroyWindow(SDL_Window *window)
Destroy a window.
DECLSPEC SDL_Window *SDLCALL SDL_GetGrabbedWindow(void)
Get the window that currently has an input grab enabled.
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 void SDLCALL SDL_SetWindowResizable(SDL_Window *window, SDL_bool resizable)
Set the user-resizable state of a window.
Definition: SDL_video.h:159
DECLSPEC void SDLCALL SDL_GL_DeleteContext(SDL_GLContext context)
Delete an OpenGL context.
DECLSPEC int SDLCALL SDL_VideoInit(const char *driver_name)
Initialize the video subsystem, optionally specifying a video driver.
SDL_DisplayEventID
Event subtype for display events.
Definition: SDL_video.h:175
Definition: SDL_video.h:121
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.
SDL_GLprofile
Definition: SDL_video.h:229
DECLSPEC void SDLCALL SDL_RestoreWindow(SDL_Window *window)
Restore the size and position of a minimized or maximized window.
SDL_HitTestResult(SDLCALL * SDL_HitTest)(SDL_Window *win, const SDL_Point *area, void *data)
Callback used for hit-testing.
Definition: SDL_video.h:1039
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_GetWindowDisplayIndex(SDL_Window *window)
Get the display index associated with a window.
DECLSPEC void SDLCALL SDL_MaximizeWindow(SDL_Window *window)
Make a window as large as possible.
DECLSPEC int SDLCALL SDL_SetWindowGammaRamp(SDL_Window *window, const Uint16 *red, const Uint16 *green, const Uint16 *blue)
Set the gamma ramp for a window.
int w
Definition: SDL_video.h:56
DECLSPEC SDL_GLContext SDLCALL SDL_GL_CreateContext(SDL_Window *window)
Create an OpenGL context for use with an OpenGL window, and make it current.
Definition: SDL_video.h:178
Definition: SDL_video.h:118
DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value)
Set an OpenGL window attribute before window creation.
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.
DECLSPEC void SDLCALL SDL_GetWindowPosition(SDL_Window *window, int *x, int *y)
Get the position of a window.
DECLSPEC SDL_GLContext SDLCALL SDL_GL_GetCurrentContext(void)
Get the currently active OpenGL context.
DECLSPEC int SDLCALL SDL_GetWindowOpacity(SDL_Window *window, float *out_opacity)
Get the opacity of a window.
Definition: SDL_video.h:155
Definition: SDL_video.h:122
DECLSPEC void SDLCALL SDL_GL_ResetAttributes(void)
Reset all previously set OpenGL context attributes to their default values.
Definition: SDL_video.h:148
DECLSPEC int SDLCALL SDL_GL_MakeCurrent(SDL_Window *window, SDL_GLContext context)
Set up an OpenGL context for rendering into an OpenGL window.
DECLSPEC void SDLCALL SDL_ShowWindow(SDL_Window *window)
Show a window.
DECLSPEC void SDLCALL SDL_SetWindowTitle(SDL_Window *window, const char *title)
Set the title of a window, in UTF-8 format.
Definition: SDL_video.h:177
Definition: SDL_video.h:1022
A rectangle, with the origin at the upper left.
Definition: SDL_rect.h:64
DECLSPEC void SDLCALL SDL_SetWindowPosition(SDL_Window *window, int x, int y)
Set the position of a window.
Definition: SDL_video.h:183
DECLSPEC void SDLCALL SDL_DisableScreenSaver(void)
Prevent the screen from being blanked by a screensaver.
DECLSPEC int SDLCALL SDL_SetWindowInputFocus(SDL_Window *window)
Explicitly sets input focus to the window.
Definition: SDL_video.h:186
Definition: SDL_video.h:153
DECLSPEC void *SDLCALL SDL_SetWindowData(SDL_Window *window, const char *name, void *userdata)
Associate an arbitrary named pointer with a window.
Definition: SDL_video.h:108
DECLSPEC SDL_Window *SDLCALL SDL_GL_GetCurrentWindow(void)
Get the currently active OpenGL window.
Definition: SDL_video.h:167
DECLSPEC SDL_Surface *SDLCALL SDL_GetWindowSurface(SDL_Window *window)
Get the SDL surface associated with the window.
DECLSPEC SDL_Window *SDLCALL SDL_GetWindowFromID(Uint32 id)
Get a window from a stored ID, or NULL if it doesn&#39;t exist.
A collection of pixels used in software blitting.
Definition: SDL_surface.h:69
DECLSPEC void SDLCALL SDL_GL_SwapWindow(SDL_Window *window)
Swap the OpenGL buffers for a window, if double-buffering is supported.
Definition: SDL_video.h:100
DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_Window *window, Uint32 flags)
Set a window&#39;s fullscreen state.
DECLSPEC void *SDLCALL SDL_GL_GetProcAddress(const char *proc)
Get the address of an OpenGL function.
Definition: SDL_video.h:165
DECLSPEC int SDLCALL SDL_GetNumVideoDisplays(void)
Returns the number of available video displays.
Definition: SDL_video.h:106
Definition: SDL_video.h:105
void * driverdata
Definition: SDL_video.h:59
SDL_WindowEventID
Event subtype for window events.
Definition: SDL_video.h:146
Definition: SDL_video.h:150
int h
Definition: SDL_video.h:57
DECLSPEC int SDLCALL SDL_GetNumVideoDrivers(void)
Get the number of video drivers compiled into SDL.
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 int SDLCALL SDL_UpdateWindowSurface(SDL_Window *window)
Copy the window surface to the screen.
DECLSPEC void SDLCALL SDL_SetWindowMinimumSize(SDL_Window *window, int min_w, int min_h)
Set the minimum size of a window&#39;s client area.
Definition: SDL_video.h:117
DECLSPEC void SDLCALL SDL_GetWindowSize(SDL_Window *window, int *w, int *h)
Get the size of a window&#39;s client area.
DECLSPEC const char *SDLCALL SDL_GetDisplayName(int displayIndex)
Get the name of a display in UTF-8 encoding.
DECLSPEC SDL_DisplayOrientation SDLCALL SDL_GetDisplayOrientation(int displayIndex)
Get the orientation of a display.
DECLSPEC SDL_bool SDLCALL SDL_GetWindowGrab(SDL_Window *window)
Get a window&#39;s input grab mode.
Definition: SDL_video.h:119
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_SetWindowIcon(SDL_Window *window, SDL_Surface *icon)
Set the icon for a window.
DECLSPEC int SDLCALL SDL_SetWindowDisplayMode(SDL_Window *window, const SDL_DisplayMode *mode)
Set the display mode used when a fullscreen window is visible.
DECLSPEC int SDLCALL SDL_GetWindowBordersSize(SDL_Window *window, int *top, int *left, int *bottom, int *right)
Get the size of a window&#39;s borders (decorations) around the client area.
DECLSPEC SDL_Window *SDLCALL SDL_CreateWindowFrom(const void *data)
Create an SDL window from an existing native window.
Definition: SDL_video.h:161
Definition: SDL_video.h:1023
DECLSPEC int SDLCALL SDL_GL_LoadLibrary(const char *path)
Dynamically load an OpenGL library.
DECLSPEC SDL_bool SDLCALL SDL_IsScreenSaverEnabled(void)
Returns whether the screensaver is currently enabled (default off).
DECLSPEC Uint32 SDLCALL SDL_GetWindowFlags(SDL_Window *window)
Get the window flags.
Definition: SDL_video.h:107
DECLSPEC void SDLCALL SDL_GetWindowMaximumSize(SDL_Window *window, int *w, int *h)
Get the maximum size of a window&#39;s client area.
Definition: SDL_video.h:149
DECLSPEC int SDLCALL SDL_GetDisplayMode(int displayIndex, int modeIndex, SDL_DisplayMode *mode)
Fill in information about a specific display mode.
Definition: SDL_video.h:164
DECLSPEC Uint32 SDLCALL SDL_GetWindowPixelFormat(SDL_Window *window)
Get the pixel format associated with the window.
Definition: SDL_video.h:151
The structure that defines a point.
Definition: SDL_rect.h:48
Definition: SDL_video.h:169
DECLSPEC int SDLCALL SDL_GetDisplayDPI(int displayIndex, float *ddpi, float *hdpi, float *vdpi)
Get the dots/pixels-per-inch for a display.
Definition: SDL_video.h:113
DECLSPEC int SDLCALL SDL_GetWindowGammaRamp(SDL_Window *window, Uint16 *red, Uint16 *green, Uint16 *blue)
Get the gamma ramp for a window.
Definition: SDL_video.h:110
Definition: SDL_video.h:184
SDL_WindowFlags
The flags on a window.
Definition: SDL_video.h:97
SDL_GLattr
OpenGL configuration attributes.
Definition: SDL_video.h:198
The structure that defines a display mode.
Definition: SDL_video.h:53
DECLSPEC void SDLCALL SDL_SetWindowMaximumSize(SDL_Window *window, int max_w, int max_h)
Set the maximum size of a window&#39;s client area.
DECLSPEC void SDLCALL SDL_SetWindowSize(SDL_Window *window, int w, int h)
Set the size of a window&#39;s client area.
Definition: SDL_video.h:112
DECLSPEC void SDLCALL SDL_EnableScreenSaver(void)
Allow the screen to be blanked by a screensaver.
Uint32 format
Definition: SDL_video.h:55
Definition: SDL_video.h:168
DECLSPEC void SDLCALL SDL_SetWindowGrab(SDL_Window *window, SDL_bool grabbed)
Set a window&#39;s input grab mode.
DECLSPEC int SDLCALL SDL_GetDesktopDisplayMode(int displayIndex, SDL_DisplayMode *mode)
Fill in information about the desktop display mode.
Definition: SDL_video.h:109
DECLSPEC void SDLCALL SDL_VideoQuit(void)
Shuts down the video subsystem.
SDL_HitTestResult
Possible return values from the SDL_HitTest callback.
Definition: SDL_video.h:1020
DECLSPEC void SDLCALL SDL_MinimizeWindow(SDL_Window *window)
Minimize a window to an iconic representation.
int refresh_rate
Definition: SDL_video.h:58
DECLSPEC void SDLCALL SDL_SetWindowBordered(SDL_Window *window, SDL_bool bordered)
Set the border state of a window.
DECLSPEC void SDLCALL SDL_GL_UnloadLibrary(void)
Unload the OpenGL library previously loaded by SDL_GL_LoadLibrary().
DECLSPEC int SDLCALL SDL_SetWindowOpacity(SDL_Window *window, float opacity)
Set the opacity for a window.
DECLSPEC SDL_bool SDLCALL SDL_GL_ExtensionSupported(const char *extension)
Return true if an OpenGL extension is supported for the current context.
Definition: SDL_video.h:233
DECLSPEC Uint32 SDLCALL SDL_GetWindowID(SDL_Window *window)
Get the numeric ID of a window, for logging purposes.
Definition: SDL_video.h:163
Definition: SDL_video.h:103
Definition: SDL_video.h:156
DECLSPEC int SDLCALL SDL_SetWindowBrightness(SDL_Window *window, float brightness)
Set the brightness (gamma correction) for a window.
DECLSPEC const char *SDLCALL SDL_GetCurrentVideoDriver(void)
Returns the name of the currently initialized video driver.
Definition: SDL_video.h:187
DECLSPEC void SDLCALL SDL_HideWindow(SDL_Window *window)
Hide a window.
DECLSPEC int SDLCALL SDL_GetNumDisplayModes(int displayIndex)
Returns the number of available display modes.
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 const char *SDLCALL SDL_GetWindowTitle(SDL_Window *window)
Get the title of a window, in UTF-8 format.
DECLSPEC void *SDLCALL SDL_GetWindowData(SDL_Window *window, const char *name)
Retrieve the data pointer associated with a window.
DECLSPEC int SDLCALL SDL_GetCurrentDisplayMode(int displayIndex, SDL_DisplayMode *mode)
Fill in information about the current display mode.
Definition: SDL_video.h:101
Definition: SDL_video.h:166
void * SDL_GLContext
An opaque handle to an OpenGL context.
Definition: SDL_video.h:193
Definition: SDL_video.h:120
DECLSPEC int SDLCALL SDL_GL_SetSwapInterval(int interval)
Set the swap interval for the current OpenGL context.
Definition: SDL_video.h:116
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 void SDLCALL SDL_RaiseWindow(SDL_Window *window)
Raise a window above other windows and set the input focus.
Definition: SDL_video.h:102
SDL_DisplayOrientation
Definition: SDL_video.h:181
DECLSPEC const char *SDLCALL SDL_GetVideoDriver(int index)
Get the name of a built in video driver.
DECLSPEC int SDLCALL SDL_GL_GetSwapInterval(void)
Get the swap interval for the current OpenGL context.