]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/builddeps/win64/sdl/share/man/man3/SDL_BlitSurface.3
Move libraries into subdirectories for better selectivity when building.
[xonotic/xonotic.git] / misc / builddeps / win64 / sdl / share / man / man3 / SDL_BlitSurface.3
diff --git a/misc/builddeps/win64/sdl/share/man/man3/SDL_BlitSurface.3 b/misc/builddeps/win64/sdl/share/man/man3/SDL_BlitSurface.3
new file mode 100644 (file)
index 0000000..5f62ffb
--- /dev/null
@@ -0,0 +1,60 @@
+.TH "SDL_BlitSurface" "3" "Tue 11 Sep 2001, 23:01" "SDL" "SDL API Reference" 
+.SH "NAME"
+SDL_BlitSurface \- This performs a fast blit from the source surface to the destination surface\&.
+.SH "SYNOPSIS"
+.PP
+\fB#include "SDL\&.h"
+.sp
+\fBint \fBSDL_BlitSurface\fP\fR(\fBSDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect\fR);
+.SH "DESCRIPTION"
+.PP
+This performs a fast blit from the source surface to the destination surface\&.
+.PP
+Only the position is used in the \fBdstrect\fR (the width and height are ignored)\&.
+.PP
+If either \fBsrcrect\fR or \fBdstrect\fR are \fBNULL\fP, the entire surface (\fBsrc\fR or \fBdst\fR) is copied\&.
+.PP
+The final blit rectangle is saved in \fBdstrect\fR after all clipping is performed (\fBsrcrect\fR is not modified)\&.
+.PP
+The blit function should not be called on a locked surface\&.
+.PP
+The results of blitting operations vary greatly depending on whether \fBSDL_SRCAPLHA\fP is set or not\&. See \fISDL_SetAlpha\fR for an explaination of how this affects your results\&. Colorkeying and alpha attributes also interact with surface blitting, as the following pseudo-code should hopefully explain\&. 
+.PP
+.nf
+\f(CWif (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
+}\fR
+.fi
+.PP
+.SH "RETURN VALUE"
+.PP
+If the blit is successful, it returns \fB0\fR, otherwise it returns \fB-1\fR\&.
+.PP
+If either of the surfaces were in video memory, and the blit returns \fB-2\fR, the video memory was lost, so it should be reloaded with artwork and re-blitted: 
+.PP
+.nf
+\f(CW        while ( SDL_BlitSurface(image, imgrect, screen, dstrect) == -2 ) {
+                while ( SDL_LockSurface(image)) < 0 )
+                        Sleep(10);
+                -- Write image pixels to image->pixels --
+                SDL_UnlockSurface(image);
+        }\fR
+.fi
+.PP
+ 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\&.
+.SH "SEE ALSO"
+.PP
+\fI\fBSDL_LockSurface\fP\fR, \fI\fBSDL_FillRect\fP\fR, \fI\fBSDL_Surface\fR\fR, \fI\fBSDL_Rect\fR\fR
+.\" created by instant / docbook-to-man, Tue 11 Sep 2001, 23:01