Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
SDLmm::Surface(3)	    Library Functions Manual	       SDLmm::Surface(3)

NAME
     SDLmm::Surface  -	A  graphical  surface  structure  which is used to store
     graphical data.

SYNOPSIS
     #include <sdlmm_surface.h>

     Inherits SDLmm::BaseSurface.

   Public Methods
     Surface (SDL_Surface *surface)
	 Constructor from an SDL_Surface*.
     Surface (const Surface &other)
     Surface ()
	 Create an uninitialized surface.
     Surface& operator= (const Surface &other)
	 Implementation of operator=.
     Surface Duplicate () const
     virtual bool SetDisplayFormat ()
	 Convert the surface to the display format.
     virtual bool SetDisplayFormatAlpha ()
	 Convert the surface to the display format.

   Static Public Methods
     Surface CreateSurface (const BaseSurface &other)
     Surface CreateSurface (Uint32 flags, int w, int h, int d,	Uint32	Rmask=0,
	 Uint32 Gmask=0, Uint32 Bmask=0, Uint32 Amask=0)
	 Allocate an empty RGB surface.
     Surface  CreateSurface  (void  *pixels,  int w, int h, int d, int p, Uint32
	 Rmask=0, Uint32 Gmask=0, Uint32 Bmask=0, Uint32 Amask=0)
	 Create a new Surface from the provided pixel data.
     Surface LoadBMP (const char *file)
	 Loads a Windows BMP and returns it as a new Surface.
     Surface LoadBMP (const std::string &file)
	 Loads a Windows BMP and returns a new Surface.

DETAILED DESCRIPTION
     A graphical surface structure which is used to store graphical data.

     Surfaces represent areas of 'graphical' memory, memory that can be drawn to
     or blitted onto other Surfaces.

     Todo:
	 Implement a better constructor scheme, where the first  argument  is  a
	 dummy	class  which  specified what to do. This would allow a construct
	 where a surface can be loaded from an image file without  first  having
	 to create an unitialized object.

     Author:
	 David Hedbor <david@hedbor.org>

CONSTRUCTOR & DESTRUCTOR DOCUMENTATION
   SDLmm::Surface::Surface (SDL_Surface * surface) [inline, explicit]
     Constructor from an SDL_Surface*.

     This  creates  a new Surface object from an existing SDL_Surface. It's very
     important not to free the original surface since that will cause a  problem
     when  the	object is destructed (SDL_Surface storage freed twice). Use with
     caution.

   SDLmm::Surface::Surface (const Surface & other) [inline]
   SDLmm::Surface::Surface () [inline]
     Create an uninitialized surface.

     Warning:
	 Trying to use an uninitialized surface will  result  in  crashes.  Most
	 functions to not have any checks to see whether the surface is initial-
	 ized or not.

MEMBER FUNCTION DOCUMENTATION
   Surface  SDLmm::Surface::CreateSurface  (void  * pixels, int w, int h, int d,
     int p, Uint32 Rmask = 0, Uint32 Gmask = 0, Uint32 Bmask = 0, Uint32 Amask =
     0) [inline, static]
     Create a new Surface from the provided pixel data.

     The data stored in pixels is assumed to be of the depth  specified  in  the
     parameter d. The pixel data is not copied into the SDL_Surface structure me
     so it should no be freed until the Surface object has been destructed

     Parameters:

     flags  the type of surface that should be created which is OR'd combination
	    of the values as described in the SDL documentation.

     w, h   width and height of the surface to create.

     d	    color  depth in bits per pixel to use for this surface. If zero, use
	    the depth of the current display.

     p	    pitch the length (pitch) of each scanline in bytes.

     RGBAmask
	    optional binary masks used to retrieve individual color values.

   Surface SDLmm::Surface::CreateSurface (Uint32 flags, int w,	int  h,  int  d,
     Uint32  Rmask  =  0,  Uint32 Gmask = 0, Uint32 Bmask = 0, Uint32 Amask = 0)
     [inline, static]
     Allocate an empty RGB surface.

     If depth is 8 bits an empty palette is allocated for the surface, otherwise
     a 'packed-pixel' SDL_PixelFormat is created  using  the  [RGBA]mask's  pro-
     vided. The flags specifies

     Parameters:

     flags  the type of surface that should be created which is OR'd combination
	    of the values as described in the SDL documentation.

     w, h   width and height of the surface to create.

     d	    color  depth in bits per pixel to use for this surface. If zero, use
	    the depth of the current display.

     RGBAmask
	    optional binary masks used to retrieve individual color values.

   Surface SDLmm::Surface::CreateSurface (const BaseSurface  &	other)	[inline,
     static]
   Surface SDLmm::Surface::Duplicate () const [inline]
   Surface SDLmm::Surface::LoadBMP (const std::string & file) [inline, static]
     Loads a Windows BMP and returns a new Surface.

     Parameters:

     file   the file to attempt to load

     Returns:
	 True if the loading succeeded, false otherwise.

   Surface SDLmm::Surface::LoadBMP (const char * file) [inline, static]
     Loads a Windows BMP and returns it as a new Surface.

     If the image couldn't be loaded, the Surface will be invalid. You can check
     the  success of the image loading using the Surface.valid() method like the
     example code below.

	   SDLmm::Surface img(SDLmm::Surface::LoadBMP('myimage.bmp'));
	   if(!img.valid()) {
	     cerr << 'Loading of image myimage.bmp failed!0;
	     exit(1);
	   }

     Parameters:

     file   the file to attempt to load

     Returns:
	 True if the loading succeeded, false otherwise.

   bool SDLmm::Surface::SetDisplayFormat () [virtual]
     Convert the surface to the display format.

     This function converts the surface to the pixel format and  colors  of  the
     video  framebuffer,  making  it suitable for fast blitting onto the display
     surface.

     If you want to take advantage of hardware colorkey or alpha blit  accelera-
     tion, you should set the colorkey and alpha value before calling this func-
     tion.

     Returns:
	 The  functions returns true if the conversion succeeded or false other-
	 wise. If the conversion failed, the BaseSurface object  will  not  have
	 changed.

     Note:
	 Please  note  that  this function doesn't return a new, modified object
	 like the SDL_DisplayFormat() function does. Thus there is  no	need  to
	 manually free the old surface.

     See also:
	 SetDisplayFormatAlpha(), SetAlpha(), SetColorKey()

     Reimplemented from SDLmm::BaseSurface.

   bool SDLmm::Surface::SetDisplayFormatAlpha () [virtual]
     Convert the surface to the display format.

     This  function  converts  the surface to the pixel format and colors of the
     video framebuffer plus an alpha channel, making it suitable for fast  blit-
     ting onto the display surface.

     If  you want to take advantage of hardware colorkey or alpha blit accelera-
     tion, you should set the colorkey and alpha value before calling this func-
     tion.

     Returns:
	 The functions returns true if the conversion succeeded or false  other-
	 wise.	If  the  conversion failed, the BaseSurface object will not have
	 changed.

     Note:
	 Please note that this function doesn't return a  new,	modified  object
	 like  the SDL_DisplayFormatAlpha() function does. Thus there is no need
	 to manually free the old surface.

     See also:
	 SetDisplayFormat(), SetAlpha(), SetColorKey()

     Reimplemented from SDLmm::BaseSurface.

   Surface & SDLmm::Surface::operator= (const Surface & other) [inline]
     Implementation of operator=.

AUTHOR
     Generated automatically by Doxygen for SDLmm from the source code.

SDLmm				   16 Jul 2001		       SDLmm::Surface(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=SDLmm_Surface&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help