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

FreeBSD Manual Pages

  
 
  

home | help
SDL_BlitSurface(3)	       SDL API Reference	    SDL_BlitSurface(3)

NAME
       SDL_BlitSurface	- This performs	a fast blit from the source surface to
       the destination surface.

SYNOPSIS
       #include	"SDL.h"

       int SDL_BlitSurface(SDL_Surface *src,  SDL_Rect	*srcrect,  SDL_Surface
       *dst, SDL_Rect *dstrect);

DESCRIPTION
       This  performs  a  fast blit from the source surface to the destination
       surface.

       Only the	position is used in the	dstrect	(the width and height are  ig-
       nored).

       If  either srcrect or dstrect are NULL, the entire surface (src or dst)
       is copied.

       The final blit rectangle	is saved in dstrect after all clipping is per-
       formed (srcrect is not modified).

       The blit	function should	not be called on a locked surface.

       The results of blitting operations vary greatly	depending  on  whether
       SDL_SRCAPLHA is set or not. See SDL_SetAlpha for	an explaination	of how
       this affects your results. Colorkeying and alpha	attributes also	inter-
       act  with  surface  blitting, as	the following pseudo-code should hope-
       fully explain.

       if (source surface has SDL_SRCALPHA set)	{
	   if (source surface has alpha	channel	(that is, format->Amask	!= 0))
	       blit using per-pixel alpha, ignoring any	colour key
	   else	{
	       if (source surface has SDL_SRCCOLORKEY set)
		   blit	using the colour key AND the per-surface alpha value
	       else
		   blit	using the per-surface alpha value
	   }
       } else {
	   if (source surface has SDL_SRCCOLORKEY set)
	       blit using the colour key
	   else
	       ordinary	opaque rectangular blit
       }

RETURN VALUE
       If the blit is successful, it returns 0,	otherwise it returns -1.

       If either of the	surfaces were in video memory, and  the	 blit  returns
       -2,  the	 video	memory was lost, so it should be reloaded with artwork
       and re-blitted:

	       while ( SDL_BlitSurface(image, imgrect, screen, dstrect)	== -2 )	{
		       while ( SDL_LockSurface(image)) < 0 )
			       Sleep(10);
		       -- Write	image pixels to	image->pixels --
		       SDL_UnlockSurface(image);
	       }

	This happens under DirectX 5.0 when the	system switches	away from your
       fullscreen application. Locking the surface will	also  fail  until  you
       have access to the video	memory again.

SEE ALSO
       SDL_LockSurface,	SDL_FillRect, SDL_Surface, SDL_Rect

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

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

home | help