|
Size: 2018
Comment: Added missing C library includes and corrected prototype in example.
|
← Revision 11 as of 2013-10-13 12:37:21 ⇥
Size: 2061
Comment: Added spaces in example.
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 29: | Line 29: |
| if (videoinit) SDL_VideoQuit(); SDL_Quit(); |
if (videoinit) { SDL_VideoQuit(); } SDL_Quit(); |
| Line 35: | Line 36: |
| if (SDL_Init(0) != 0) { printf("Error initializing SDL: %s\n", SDL_GetError()); return 1; } atexit(OnQuit); if (SDL_VideoInit(NULL) != 0) { printf("Error initializing SDL video: %s\n", SDL_GetError()); return 2; } videoinit = SDL_TRUE; /* ... */ return 0; |
if (SDL_Init(0) != 0) { printf("Error initializing SDL: %s\n", SDL_GetError()); return 1; } atexit(OnQuit); if (SDL_VideoInit(NULL) != 0) { printf("Error initializing SDL video: %s\n", SDL_GetError()); return 2; } videoinit = SDL_TRUE; /* ... */ return 0; |
SDL_VideoInit
Use this function to initialize the video subsystem, optionally specifying a video driver.
Contents
Syntax
int SDL_VideoInit(const char* driver_name)
Function Parameters
driver_name |
the name of a video driver to initialize, or NULL for the default driver |
Return Value
Returns 0 on success or a negative error code on failure; call SDL_GetError() for more information.
Code Examples
#include "SDL.h"
#include <stdio.h> /* for printf() */
#include <stdlib.h> /* for atexit() */
SDL_bool videoinit = SDL_FALSE;
void OnQuit(void) {
if (videoinit) {
SDL_VideoQuit();
}
SDL_Quit();
}
int main(int argc, char** argv) {
if (SDL_Init(0) != 0) {
printf("Error initializing SDL: %s\n", SDL_GetError());
return 1;
}
atexit(OnQuit);
if (SDL_VideoInit(NULL) != 0) {
printf("Error initializing SDL video: %s\n", SDL_GetError());
return 2;
}
videoinit = SDL_TRUE;
/* ... */
return 0;
}
Remarks
This function initializes the video subsystem, setting up a connection to the window manager, etc, and determines the available display modes and pixel formats, but does not initialize a window or graphics mode.
If you use this function and you haven't used the SDL_INIT_VIDEO flag with either SDL_Init() or SDL_InitSubSystem(), you should call SDL_VideoQuit() before calling SDL_Quit().
It is safe to call this function multiple times. SDL_VideoInit() will call SDL_VideoQuit() itself if the video subsystem has already been initialized.
You can use SDL_GetNumVideoDrivers() and SDL_GetVideoDriver() to find a specific driver_name.
