Mercurial > sdl-ios-xcode
view docs/html/sdlblitsurface.html @ 4:4f6c5f021323
Date: Thu, 26 Apr 2001 10:46:23 +0200
From: Alexander Pipelka <pipelka@bms-austria.com>
Subject: SDL ELO driver bugfix
Hi Sam!
We noticed that the ELO serial touchscreen controller is quite sensitive
in terms of correct protocol handling.
The current implementation cause some controllers to hangup after some
time (> 24h).
I think the attached patch should fix this (I ran my device more than 3
days without any hangups).
author | Sam Lantinga <slouken@lokigames.com> |
---|---|
date | Thu, 26 Apr 2001 16:54:56 +0000 |
parents | 74212992fb08 |
children | 55f1f1b3e27d |
line wrap: on
line source
<HTML ><HEAD ><TITLE >SDL_BlitSurface</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.61 "><LINK REL="HOME" TITLE="SDL Library Documentation" HREF="index.html"><LINK REL="UP" TITLE="Video" HREF="video.html"><LINK REL="PREVIOUS" TITLE="SDL_ConvertSurface" HREF="sdlconvertsurface.html"><LINK REL="NEXT" TITLE="SDL_FillRect" HREF="sdlfillrect.html"></HEAD ><BODY CLASS="REFENTRY" BGCOLOR="#FFF8DC" TEXT="#000000" LINK="#0000ee" VLINK="#551a8b" ALINK="#ff0000" ><DIV CLASS="NAVHEADER" ><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >SDL Library Documentation</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="sdlconvertsurface.html" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="sdlfillrect.html" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="SDLBLITSURFACE" >SDL_BlitSurface</A ></H1 ><DIV CLASS="REFNAMEDIV" ><A NAME="AEN1806" ></A ><H2 >Name</H2 >SDL_BlitSurface -- This performs a fast blit from the source surface to the destination surface.</DIV ><DIV CLASS="REFSYNOPSISDIV" ><A NAME="AEN1809" ></A ><H2 >Synopsis</H2 ><DIV CLASS="FUNCSYNOPSIS" ><A NAME="AEN1810" ></A ><P ></P ><PRE CLASS="FUNCSYNOPSISINFO" >#include "SDL.h"</PRE ><P ><CODE ><CODE CLASS="FUNCDEF" >int <B CLASS="FSFUNC" >SDL_BlitSurface</B ></CODE >(SDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect);</CODE ></P ><P ></P ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN1816" ></A ><H2 >Description</H2 ><P >This performs a fast blit from the source surface to the destination surface.</P ><P >Only the position is used in the <TT CLASS="PARAMETER" ><I >dstrect</I ></TT > (the width and height are ignored).</P ><P >If either <TT CLASS="PARAMETER" ><I >srcrect</I ></TT > or <TT CLASS="PARAMETER" ><I >dstrect</I ></TT > are <TT CLASS="LITERAL" >NULL</TT >, the entire surface (<TT CLASS="PARAMETER" ><I >src</I ></TT > or <TT CLASS="PARAMETER" ><I >dst</I ></TT >) is copied.</P ><P >The final blit rectangle is saved in <TT CLASS="PARAMETER" ><I >dstrect</I ></TT > after all clipping is performed (<TT CLASS="PARAMETER" ><I >srcrect</I ></TT > is not modified).</P ><P >The blit function should not be called on a locked surface.</P ><DIV CLASS="NOTE" ><BLOCKQUOTE CLASS="NOTE" ><P ><B >Note: </B >The results of blitting operations vary greatly depending on whether <TT CLASS="LITERAL" >SDL_SRCAPLHA</TT > is set or not. See <A HREF="sdlsetalpha.html" >SDL_SetAlpha</A >.</P ></BLOCKQUOTE ></DIV ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN1835" ></A ><H2 >Return Value</H2 ><P >If the blit is successful, it returns <SPAN CLASS="RETURNVALUE" >0</SPAN >, otherwise it returns <SPAN CLASS="RETURNVALUE" >-1</SPAN >.</P ><P >If either of the surfaces were in video memory, and the blit returns <SPAN CLASS="RETURNVALUE" >-2</SPAN >, the video memory was lost, so it should be reloaded with artwork and re-blitted: <PRE CLASS="PROGRAMLISTING" > while ( SDL_BlitSurface(image, imgrect, screen, dstrect) == -2 ) { while ( SDL_LockSurface(image)) < 0 ) Sleep(10); -- Write image pixels to image->pixels -- SDL_UnlockSurface(image); }</PRE > 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.</P ></DIV ><DIV CLASS="REFSECT1" ><A NAME="AEN1843" ></A ><H2 >See Also</H2 ><P ><A HREF="sdllocksurface.html" ><TT CLASS="FUNCTION" >SDL_LockSurface</TT ></A >, <A HREF="sdlfillrect.html" ><TT CLASS="FUNCTION" >SDL_FillRect</TT ></A >, <A HREF="sdlsurface.html" ><SPAN CLASS="STRUCTNAME" >SDL_Surface</SPAN ></A >, <A HREF="sdlrect.html" ><SPAN CLASS="STRUCTNAME" >SDL_Rect</SPAN ></A ></P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="sdlconvertsurface.html" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="sdlfillrect.html" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >SDL_ConvertSurface</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="video.html" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >SDL_FillRect</TD ></TR ></TABLE ></DIV ></BODY ></HTML >