DragonFly On-Line Manual Pages
SDL_SetVideoMode(3) SDL API Reference SDL_SetVideoMode(3)
NAME
SDL_SetVideoMode - Set up a video mode with the specified width, height
and bits-per-pixel.
SYNOPSIS
#include "SDL.h"
SDL_Surface *SDL_SetVideoMode(int width, int height, int bpp, Uint32
flags);
DESCRIPTION
Set up a video mode with the specified width, height and bits-per-
pixel.
If bpp is 0, it is treated as the current display bits per pixel.
The flags parameter is the same as the flags field of the SDL_Surface
structure. OR'd combinations of the following values are valid.
SDL_SWSURFACE Create the video surface in system memory
SDL_HWSURFACE Create the video surface in video memory
SDL_ASYNCBLIT Enables the use of asynchronous updates of the dis-
play surface. This will usually slow down blitting
on single CPU machines, but may provide a speed
increase on SMP systems.
SDL_ANYFORMAT Normally, if a video surface of the requested bits-
per-pixel (bpp) is not available, SDL will emulate
one with a shadow surface. Passing SDL_ANYFORMAT
prevents this and causes SDL to use the video sur-
face, regardless of its pixel depth.
SDL_HWPALETTE Give SDL exclusive palette access. Without this
flag you may not always get the the colors you
request with SDL_SetColors or SDL_SetPalette.
SDL_DOUBLEBUF Enable hardware double buffering; only valid with
SDL_HWSURFACE. Calling SDL_Flip will flip the buf-
fers and update the screen. All drawing will take
place on the surface that is not displayed at the
moment. If double buffering could not be enabled
then SDL_Flip will just perform a SDL_UpdateRect on
the entire screen.
SDL_FULLSCREEN SDL will attempt to use a fullscreen mode. If a
hardware resolution change is not possible (for
whatever reason), the next higher resolution will
be used and the display window centered on a black
background.
SDL_OPENGL Create an OpenGL rendering context. You should have
previously set OpenGL video attributes with
SDL_GL_SetAttribute.
SDL_OPENGLBLIT Create an OpenGL rendering context, like above, but
allow normal blitting operations. The screen (2D)
surface may have an alpha channel, and
SDL_UpdateRects must be used for updating changes
to the screen surface.
SDL_RESIZABLE Create a resizable window. When the window is
resized by the user a SDL_VIDEORESIZE event is gen-
erated and SDL_SetVideoMode can be called again
with the new size.
SDL_NOFRAME If possible, SDL_NOFRAME causes SDL to create a
window with no title bar or frame decoration.
Fullscreen modes automatically have this flag set.
Note:
Whatever flags SDL_SetVideoMode could satisfy are set in the
flags member of the returned surface.
Note:
The bpp parameter is the number of bits per pixel, so a bpp of
24 uses the packed representation of 3 bytes/pixel. For the more
common 4 bytes/pixel mode, use a bpp of 32. Somewhat oddly, both
15 and 16 will request a 2 bytes/pixel mode, but different pixel
formats.
RETURN VALUE
The framebuffer surface, or NULL if it fails. The surface returned is
freed by SDL_Quit() and should nt be freed by the caller.
SEE ALSO
SDL_LockSurface, SDL_SetColors, SDL_Flip, SDL_Surface
SDL Tue 11 Sep 2001, 23:01 SDL_SetVideoMode(3)