Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Thursday, June 13, 2019

SDL_SetVideoMode (3)


SDL_SetVideoMode - Set up a video mode with the specified width, height and bits-per-pixel.


#include "SDL.h"

SDL_Surface *SDL_SetVideoMode(int width, int height,  int  bpp,  Uint32


SDL_SetVideoMode(3)            SDL API Reference           SDL_SetVideoMode(3)

       SDL_SetVideoMode - Set up a video mode with the specified width, height
       and bits-per-pixel.

       #include "SDL.h"

       SDL_Surface *SDL_SetVideoMode(int width, int height,  int  bpp,  Uint32

       Set  up  a  video  mode  with the specified width, height and bits-per-

       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

       SDL_OPENGL          Create an OpenGL rendering context. You should have
                           previously   set   OpenGL   video  attributes  with

       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.


              Whatever  flags  SDL_SetVideoMode  could  satisfy are set in the
              flags member of the returned surface.


              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

       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 attributes(7) for descriptions of the following attributes:

       |Availability   | library/sdl      |
       |Stability      | Volatile         |
       SDL_LockSurface, SDL_SetColors, SDL_Flip, SDL_Surface

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source        was        downloaded        from        https://www.lib-

       Further information about this software can be found on the open source
       community website at https://www.libsdl.org/.

SDL                         Tue 11 Sep 2001, 23:01         SDL_SetVideoMode(3)