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)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | SEE ALSO

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

home | help