Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 7281b619e6b612f5388cfad6b0e56530 > files > 92

sdl2-docs-2.0.3-4.mga5.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>My Project: SDL_surface.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">My Project
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">SDL_surface.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="SDL__stdinc_8h_source.html">SDL_stdinc.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="SDL__pixels_8h_source.html">SDL_pixels.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="SDL__rect_8h_source.html">SDL_rect.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="SDL__blendmode_8h_source.html">SDL_blendmode.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="SDL__rwops_8h_source.html">SDL_rwops.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="begin__code_8h_source.html">begin_code.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="close__code_8h_source.html">close_code.h</a>&quot;</code><br />
</div>
<p><a href="SDL__surface_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSDL__Surface.html">SDL_Surface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A collection of pixels used in software blitting.  <a href="structSDL__Surface.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aba3239116c763175b6ea41ef78b72091"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#aba3239116c763175b6ea41ef78b72091">SDL_MUSTLOCK</a>(S)&#160;&#160;&#160;(((S)-&gt;flags &amp; <a class="el" href="SDL__surface_8h.html#a3b3d53ad7ba0b7294ca25251d88d40fb">SDL_RLEACCEL</a>) != 0)</td></tr>
<tr class="separator:aba3239116c763175b6ea41ef78b72091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae63aa646481001be542220a8733c3ce0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#ae63aa646481001be542220a8733c3ce0">SDL_LoadBMP</a>(file)&#160;&#160;&#160;<a class="el" href="SDL__surface_8h.html#aac1d1435b9fa8523d699c3a33264d559">SDL_LoadBMP_RW</a>(SDL_RWFromFile(file, &quot;rb&quot;), 1)</td></tr>
<tr class="separator:ae63aa646481001be542220a8733c3ce0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a425e7a69acbdf2bd9ba46d332d917320"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a425e7a69acbdf2bd9ba46d332d917320">SDL_SaveBMP</a>(surface, file)&#160;&#160;&#160;<a class="el" href="SDL__surface_8h.html#aadc126a4edeafb5033d5e942cf32db6a">SDL_SaveBMP_RW</a>(surface, SDL_RWFromFile(file, &quot;wb&quot;), 1)</td></tr>
<tr class="separator:a425e7a69acbdf2bd9ba46d332d917320"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad8d7ebe5e953593cb7d91373e73ba9a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#aad8d7ebe5e953593cb7d91373e73ba9a">SDL_BlitSurface</a>&#160;&#160;&#160;<a class="el" href="SDL__surface_8h.html#ac418c4404813eeb32f4e1b24f9deae96">SDL_UpperBlit</a></td></tr>
<tr class="separator:aad8d7ebe5e953593cb7d91373e73ba9a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0be5f27c24e29a61096c2f59610ff1bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0be5f27c24e29a61096c2f59610ff1bf"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_BlitScaled</b>&#160;&#160;&#160;<a class="el" href="SDL__surface_8h.html#a90ac01634e9ee33764fcf5ec7bc43c46">SDL_UpperBlitScaled</a></td></tr>
<tr class="separator:a0be5f27c24e29a61096c2f59610ff1bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Surface flags</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>These are the currently supported flags for the <a class="el" href="structSDL__Surface.html" title="A collection of pixels used in software blitting. ">SDL_Surface</a>. </p>
</div></td></tr>
<tr class="memitem:a59c7111f96872f973d0f058362761776"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a59c7111f96872f973d0f058362761776">SDL_SWSURFACE</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a59c7111f96872f973d0f058362761776"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a5f795a69ac626fba73c4bd0bfd9626"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a4a5f795a69ac626fba73c4bd0bfd9626">SDL_PREALLOC</a>&#160;&#160;&#160;0x00000001</td></tr>
<tr class="separator:a4a5f795a69ac626fba73c4bd0bfd9626"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b3d53ad7ba0b7294ca25251d88d40fb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a3b3d53ad7ba0b7294ca25251d88d40fb">SDL_RLEACCEL</a>&#160;&#160;&#160;0x00000002</td></tr>
<tr class="separator:a3b3d53ad7ba0b7294ca25251d88d40fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d3381f5c76aec3fea3f8b990c2e9f6d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a2d3381f5c76aec3fea3f8b990c2e9f6d">SDL_DONTFREE</a>&#160;&#160;&#160;0x00000004</td></tr>
<tr class="separator:a2d3381f5c76aec3fea3f8b990c2e9f6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a32471ad028ae3d2a132302bc5efcb1ee"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSDL__Surface.html">SDL_Surface</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a32471ad028ae3d2a132302bc5efcb1ee">SDL_Surface</a></td></tr>
<tr class="memdesc:a32471ad028ae3d2a132302bc5efcb1ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">A collection of pixels used in software blitting.  <a href="#a32471ad028ae3d2a132302bc5efcb1ee">More...</a><br /></td></tr>
<tr class="separator:a32471ad028ae3d2a132302bc5efcb1ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72448df55427d80f216884ed3419b431"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72448df55427d80f216884ed3419b431"></a>
typedef <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a72448df55427d80f216884ed3419b431">SDL_blit</a> )(struct <a class="el" href="structSDL__Surface.html">SDL_Surface</a> *src, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *srcrect, struct <a class="el" href="structSDL__Surface.html">SDL_Surface</a> *dst, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *dstrect)</td></tr>
<tr class="memdesc:a72448df55427d80f216884ed3419b431"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of function used for surface blitting functions. <br /></td></tr>
<tr class="separator:a72448df55427d80f216884ed3419b431"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aac106bf796c828587cce76cb847d11ae"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="structSDL__Surface.html">SDL_Surface</a> *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#aac106bf796c828587cce76cb847d11ae">SDL_CreateRGBSurface</a> (<a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> flags, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> width, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> height, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> depth, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> Rmask, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> Gmask, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> Bmask, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> Amask)</td></tr>
<tr class="separator:aac106bf796c828587cce76cb847d11ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25c74ddbc73538e9a4accb42e1c09971"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25c74ddbc73538e9a4accb42e1c09971"></a>
DECLSPEC <a class="el" href="structSDL__Surface.html">SDL_Surface</a> *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_CreateRGBSurfaceFrom</b> (<a class="el" href="SDL__audio_8h.html#a52835ae37c4bb905b903cbaf5d04b05f">void</a> *pixels, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> width, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> height, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> depth, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> pitch, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> Rmask, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> Gmask, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> Bmask, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> Amask)</td></tr>
<tr class="separator:a25c74ddbc73538e9a4accb42e1c09971"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b8d4f9cc058822501896a2eed81220e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b8d4f9cc058822501896a2eed81220e"></a>
DECLSPEC <a class="el" href="SDL__audio_8h.html#a52835ae37c4bb905b903cbaf5d04b05f">void</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_FreeSurface</b> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface)</td></tr>
<tr class="separator:a7b8d4f9cc058822501896a2eed81220e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72c780465293acb1f586995943422a17"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a72c780465293acb1f586995943422a17">SDL_SetSurfacePalette</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, <a class="el" href="structSDL__Palette.html">SDL_Palette</a> *palette)</td></tr>
<tr class="memdesc:a72c780465293acb1f586995943422a17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the palette used by a surface.  <a href="#a72c780465293acb1f586995943422a17">More...</a><br /></td></tr>
<tr class="separator:a72c780465293acb1f586995943422a17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d1da1c7ecdaa461fac51a10785f5077"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a3d1da1c7ecdaa461fac51a10785f5077">SDL_LockSurface</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface)</td></tr>
<tr class="memdesc:a3d1da1c7ecdaa461fac51a10785f5077"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets up a surface for directly accessing the pixels.  <a href="#a3d1da1c7ecdaa461fac51a10785f5077">More...</a><br /></td></tr>
<tr class="separator:a3d1da1c7ecdaa461fac51a10785f5077"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56b93f51358b55d7fc213a3ba9b02c24"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__audio_8h.html#a52835ae37c4bb905b903cbaf5d04b05f">void</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a56b93f51358b55d7fc213a3ba9b02c24">SDL_UnlockSurface</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface)</td></tr>
<tr class="separator:a56b93f51358b55d7fc213a3ba9b02c24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac1d1435b9fa8523d699c3a33264d559"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="structSDL__Surface.html">SDL_Surface</a> *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#aac1d1435b9fa8523d699c3a33264d559">SDL_LoadBMP_RW</a> (<a class="el" href="structSDL__RWops.html">SDL_RWops</a> *src, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> freesrc)</td></tr>
<tr class="separator:aac1d1435b9fa8523d699c3a33264d559"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadc126a4edeafb5033d5e942cf32db6a"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#aadc126a4edeafb5033d5e942cf32db6a">SDL_SaveBMP_RW</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, <a class="el" href="structSDL__RWops.html">SDL_RWops</a> *dst, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> freedst)</td></tr>
<tr class="separator:aadc126a4edeafb5033d5e942cf32db6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2f6d70b8071e83e0c84241dbdcd3a3b"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#ae2f6d70b8071e83e0c84241dbdcd3a3b">SDL_SetSurfaceRLE</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> flag)</td></tr>
<tr class="memdesc:ae2f6d70b8071e83e0c84241dbdcd3a3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the RLE acceleration hint for a surface.  <a href="#ae2f6d70b8071e83e0c84241dbdcd3a3b">More...</a><br /></td></tr>
<tr class="separator:ae2f6d70b8071e83e0c84241dbdcd3a3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cbe831b210dc900cb93101352357b73"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a4cbe831b210dc900cb93101352357b73">SDL_SetColorKey</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> flag, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> key)</td></tr>
<tr class="memdesc:a4cbe831b210dc900cb93101352357b73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the color key (transparent pixel) in a blittable surface.  <a href="#a4cbe831b210dc900cb93101352357b73">More...</a><br /></td></tr>
<tr class="separator:a4cbe831b210dc900cb93101352357b73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ff80a244bad20f1c4fa85adf1e1deb9"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a2ff80a244bad20f1c4fa85adf1e1deb9">SDL_GetColorKey</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> *key)</td></tr>
<tr class="memdesc:a2ff80a244bad20f1c4fa85adf1e1deb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the color key (transparent pixel) in a blittable surface.  <a href="#a2ff80a244bad20f1c4fa85adf1e1deb9">More...</a><br /></td></tr>
<tr class="separator:a2ff80a244bad20f1c4fa85adf1e1deb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4edf978396e3f562d43c672630e0ca71"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a4edf978396e3f562d43c672630e0ca71">SDL_SetSurfaceColorMod</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, <a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a> r, <a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a> g, <a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a> b)</td></tr>
<tr class="memdesc:a4edf978396e3f562d43c672630e0ca71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an additional color value used in blit operations.  <a href="#a4edf978396e3f562d43c672630e0ca71">More...</a><br /></td></tr>
<tr class="separator:a4edf978396e3f562d43c672630e0ca71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5db1ae32b7884b598d86424e205c3a86"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a5db1ae32b7884b598d86424e205c3a86">SDL_GetSurfaceColorMod</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, <a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a> *r, <a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a> *g, <a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a> *b)</td></tr>
<tr class="memdesc:a5db1ae32b7884b598d86424e205c3a86"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the additional color value used in blit operations.  <a href="#a5db1ae32b7884b598d86424e205c3a86">More...</a><br /></td></tr>
<tr class="separator:a5db1ae32b7884b598d86424e205c3a86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0035f0239f0588d16c57aff7672be174"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a0035f0239f0588d16c57aff7672be174">SDL_SetSurfaceAlphaMod</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, <a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a> alpha)</td></tr>
<tr class="memdesc:a0035f0239f0588d16c57aff7672be174"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an additional alpha value used in blit operations.  <a href="#a0035f0239f0588d16c57aff7672be174">More...</a><br /></td></tr>
<tr class="separator:a0035f0239f0588d16c57aff7672be174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09a99bb24420857e85071e39607678f6"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a09a99bb24420857e85071e39607678f6">SDL_GetSurfaceAlphaMod</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, <a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a> *alpha)</td></tr>
<tr class="memdesc:a09a99bb24420857e85071e39607678f6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the additional alpha value used in blit operations.  <a href="#a09a99bb24420857e85071e39607678f6">More...</a><br /></td></tr>
<tr class="separator:a09a99bb24420857e85071e39607678f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35f5b3b64c503c4a8da01566f62976a9"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a35f5b3b64c503c4a8da01566f62976a9">SDL_SetSurfaceBlendMode</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, <a class="el" href="SDL__blendmode_8h.html#a850d3c67a878fd6698a1c8dbb1eabf1e">SDL_BlendMode</a> blendMode)</td></tr>
<tr class="memdesc:a35f5b3b64c503c4a8da01566f62976a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the blend mode used for blit operations.  <a href="#a35f5b3b64c503c4a8da01566f62976a9">More...</a><br /></td></tr>
<tr class="separator:a35f5b3b64c503c4a8da01566f62976a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95570c617879f45bf7e2e4d330534f6b"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a95570c617879f45bf7e2e4d330534f6b">SDL_GetSurfaceBlendMode</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, <a class="el" href="SDL__blendmode_8h.html#a850d3c67a878fd6698a1c8dbb1eabf1e">SDL_BlendMode</a> *blendMode)</td></tr>
<tr class="memdesc:a95570c617879f45bf7e2e4d330534f6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the blend mode used for blit operations.  <a href="#a95570c617879f45bf7e2e4d330534f6b">More...</a><br /></td></tr>
<tr class="separator:a95570c617879f45bf7e2e4d330534f6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cf2c30be55f51fe9e4faf97e3f8d08b"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_bool SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a6cf2c30be55f51fe9e4faf97e3f8d08b">SDL_SetClipRect</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *rect)</td></tr>
<tr class="separator:a6cf2c30be55f51fe9e4faf97e3f8d08b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d7f71b94748a1b0db3b5b769834ed27"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__audio_8h.html#a52835ae37c4bb905b903cbaf5d04b05f">void</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a7d7f71b94748a1b0db3b5b769834ed27">SDL_GetClipRect</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *surface, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *rect)</td></tr>
<tr class="separator:a7d7f71b94748a1b0db3b5b769834ed27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65fb480a0ac01b69f6999f48a6fd985b"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="structSDL__Surface.html">SDL_Surface</a> *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a65fb480a0ac01b69f6999f48a6fd985b">SDL_ConvertSurface</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *src, const <a class="el" href="structSDL__PixelFormat.html">SDL_PixelFormat</a> *fmt, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> flags)</td></tr>
<tr class="separator:a65fb480a0ac01b69f6999f48a6fd985b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0b84e7d50b9cc84bd9e785170ce2cd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec0b84e7d50b9cc84bd9e785170ce2cd"></a>
DECLSPEC <a class="el" href="structSDL__Surface.html">SDL_Surface</a> *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_ConvertSurfaceFormat</b> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *src, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> pixel_format, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> flags)</td></tr>
<tr class="separator:aec0b84e7d50b9cc84bd9e785170ce2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a339c5728a1181e2d6334ad07e1e84440"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a339c5728a1181e2d6334ad07e1e84440">SDL_ConvertPixels</a> (<a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> width, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> height, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> src_format, const <a class="el" href="SDL__audio_8h.html#a52835ae37c4bb905b903cbaf5d04b05f">void</a> *src, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> src_pitch, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> dst_format, <a class="el" href="SDL__audio_8h.html#a52835ae37c4bb905b903cbaf5d04b05f">void</a> *dst, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> dst_pitch)</td></tr>
<tr class="memdesc:a339c5728a1181e2d6334ad07e1e84440"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy a block of pixels of one format to another format.  <a href="#a339c5728a1181e2d6334ad07e1e84440">More...</a><br /></td></tr>
<tr class="separator:a339c5728a1181e2d6334ad07e1e84440"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98b3595458c6271303d6470cb2b2c721"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a98b3595458c6271303d6470cb2b2c721">SDL_FillRect</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *dst, const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *rect, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> color)</td></tr>
<tr class="separator:a98b3595458c6271303d6470cb2b2c721"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b893162f400b8193ff6ca628ec784b6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b893162f400b8193ff6ca628ec784b6"></a>
DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_FillRects</b> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *dst, const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *rects, <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> count, <a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> color)</td></tr>
<tr class="separator:a7b893162f400b8193ff6ca628ec784b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac418c4404813eeb32f4e1b24f9deae96"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#ac418c4404813eeb32f4e1b24f9deae96">SDL_UpperBlit</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *src, const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *srcrect, <a class="el" href="structSDL__Surface.html">SDL_Surface</a> *dst, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *dstrect)</td></tr>
<tr class="separator:ac418c4404813eeb32f4e1b24f9deae96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82bd1c0e0886d77e287207fe6351bf87"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a82bd1c0e0886d77e287207fe6351bf87">SDL_LowerBlit</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *src, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *srcrect, <a class="el" href="structSDL__Surface.html">SDL_Surface</a> *dst, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *dstrect)</td></tr>
<tr class="separator:a82bd1c0e0886d77e287207fe6351bf87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee44fe7d5dba376a971793d70ffcf55c"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#aee44fe7d5dba376a971793d70ffcf55c">SDL_SoftStretch</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *src, const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *srcrect, <a class="el" href="structSDL__Surface.html">SDL_Surface</a> *dst, const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *dstrect)</td></tr>
<tr class="memdesc:aee44fe7d5dba376a971793d70ffcf55c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform a fast, low quality, stretch blit between two surfaces of the same pixel format.  <a href="#aee44fe7d5dba376a971793d70ffcf55c">More...</a><br /></td></tr>
<tr class="separator:aee44fe7d5dba376a971793d70ffcf55c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90ac01634e9ee33764fcf5ec7bc43c46"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a90ac01634e9ee33764fcf5ec7bc43c46">SDL_UpperBlitScaled</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *src, const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *srcrect, <a class="el" href="structSDL__Surface.html">SDL_Surface</a> *dst, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *dstrect)</td></tr>
<tr class="separator:a90ac01634e9ee33764fcf5ec7bc43c46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c6b2f06726600d41ff75ff259d4383b"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__surface_8h.html#a5c6b2f06726600d41ff75ff259d4383b">SDL_LowerBlitScaled</a> (<a class="el" href="structSDL__Surface.html">SDL_Surface</a> *src, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *srcrect, <a class="el" href="structSDL__Surface.html">SDL_Surface</a> *dst, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *dstrect)</td></tr>
<tr class="separator:a5c6b2f06726600d41ff75ff259d4383b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Header file for <a class="el" href="structSDL__Surface.html" title="A collection of pixels used in software blitting. ">SDL_Surface</a> definition and management functions. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="aad8d7ebe5e953593cb7d91373e73ba9a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SDL_BlitSurface&#160;&#160;&#160;<a class="el" href="SDL__surface_8h.html#ac418c4404813eeb32f4e1b24f9deae96">SDL_UpperBlit</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Performs a fast blit from the source surface to the destination surface.</p>
<p>This assumes that the source and destination rectangles are the same size. If either <code>srcrect</code> or <code>dstrect</code> are NULL, the entire surface (<code>src</code> or <code>dst</code>) is copied. The final blit rectangles are saved in <code>srcrect</code> and <code>dstrect</code> after all clipping is performed.</p>
<dl class="section return"><dt>Returns</dt><dd>If the blit is successful, it returns 0, otherwise it returns -1.</dd></dl>
<p>The blit function should not be called on a locked surface.</p>
<p>The blit semantics for surfaces with and without blending and colorkey are defined as follows: </p><pre class="fragment">RGBA-&gt;RGB:
  Source surface blend mode set to SDL_BLENDMODE_BLEND:
    alpha-blend (using the source alpha-channel and per-surface alpha)
    SDL_SRCCOLORKEY ignored.
  Source surface blend mode set to SDL_BLENDMODE_NONE:
    copy RGB.
    if SDL_SRCCOLORKEY set, only copy the pixels matching the
    RGB values of the source color key, ignoring alpha in the
    comparison.

RGB-&gt;RGBA:
  Source surface blend mode set to SDL_BLENDMODE_BLEND:
    alpha-blend (using the source per-surface alpha)
  Source surface blend mode set to SDL_BLENDMODE_NONE:
    copy RGB, set destination alpha to source per-surface alpha value.
  both:
    if SDL_SRCCOLORKEY set, only copy the pixels matching the
    source color key.

RGBA-&gt;RGBA:
  Source surface blend mode set to SDL_BLENDMODE_BLEND:
    alpha-blend (using the source alpha-channel and per-surface alpha)
    SDL_SRCCOLORKEY ignored.
  Source surface blend mode set to SDL_BLENDMODE_NONE:
    copy all of RGBA to the destination.
    if SDL_SRCCOLORKEY set, only copy the pixels matching the
    RGB values of the source color key, ignoring alpha in the
    comparison.

RGB-&gt;RGB:
  Source surface blend mode set to SDL_BLENDMODE_BLEND:
    alpha-blend (using the source per-surface alpha)
  Source surface blend mode set to SDL_BLENDMODE_NONE:
    copy RGB.
  both:
    if SDL_SRCCOLORKEY set, only copy the pixels matching the
    source color key.
</pre><p>You should call <a class="el" href="SDL__surface_8h.html#aad8d7ebe5e953593cb7d91373e73ba9a">SDL_BlitSurface()</a> unless you know exactly how SDL blitting works internally and how to use the other blit functions. </p>

</div>
</div>
<a class="anchor" id="a2d3381f5c76aec3fea3f8b990c2e9f6d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SDL_DONTFREE&#160;&#160;&#160;0x00000004</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Surface is referenced internally </p>

</div>
</div>
<a class="anchor" id="ae63aa646481001be542220a8733c3ce0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SDL_LoadBMP</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">file</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="SDL__surface_8h.html#aac1d1435b9fa8523d699c3a33264d559">SDL_LoadBMP_RW</a>(SDL_RWFromFile(file, &quot;rb&quot;), 1)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Load a surface from a file.</p>
<p>Convenience macro. </p>

</div>
</div>
<a class="anchor" id="aba3239116c763175b6ea41ef78b72091"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SDL_MUSTLOCK</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">S</td><td>)</td>
          <td>&#160;&#160;&#160;(((S)-&gt;flags &amp; <a class="el" href="SDL__surface_8h.html#a3b3d53ad7ba0b7294ca25251d88d40fb">SDL_RLEACCEL</a>) != 0)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Evaluates to true if the surface needs to be locked before access. </p>

</div>
</div>
<a class="anchor" id="a4a5f795a69ac626fba73c4bd0bfd9626"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SDL_PREALLOC&#160;&#160;&#160;0x00000001</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Surface uses preallocated memory </p>

</div>
</div>
<a class="anchor" id="a3b3d53ad7ba0b7294ca25251d88d40fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SDL_RLEACCEL&#160;&#160;&#160;0x00000002</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Surface is RLE encoded </p>

</div>
</div>
<a class="anchor" id="a425e7a69acbdf2bd9ba46d332d917320"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SDL_SaveBMP</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">surface, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">file&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="SDL__surface_8h.html#aadc126a4edeafb5033d5e942cf32db6a">SDL_SaveBMP_RW</a>(surface, SDL_RWFromFile(file, &quot;wb&quot;), 1)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Save a surface to a file.</p>
<p>Convenience macro. </p>

</div>
</div>
<a class="anchor" id="a59c7111f96872f973d0f058362761776"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SDL_SWSURFACE&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Just here for compatibility </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a32471ad028ae3d2a132302bc5efcb1ee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structSDL__Surface.html">SDL_Surface</a>  <a class="el" href="structSDL__Surface.html">SDL_Surface</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A collection of pixels used in software blitting. </p>
<dl class="section note"><dt>Note</dt><dd>This structure should be treated as read-only, except for <code>pixels</code>, which, if not NULL, contains the raw pixel data for the surface. </dd></dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a339c5728a1181e2d6334ad07e1e84440"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_ConvertPixels </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a>&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a>&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a>&#160;</td>
          <td class="paramname"><em>src_format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="SDL__audio_8h.html#a52835ae37c4bb905b903cbaf5d04b05f">void</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a>&#160;</td>
          <td class="paramname"><em>src_pitch</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a>&#160;</td>
          <td class="paramname"><em>dst_format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__audio_8h.html#a52835ae37c4bb905b903cbaf5d04b05f">void</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a>&#160;</td>
          <td class="paramname"><em>dst_pitch</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy a block of pixels of one format to another format. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or -1 if there was an error </dd></dl>

</div>
</div>
<a class="anchor" id="a65fb480a0ac01b69f6999f48a6fd985b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="structSDL__Surface.html">SDL_Surface</a>* SDLCALL SDL_ConvertSurface </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structSDL__PixelFormat.html">SDL_PixelFormat</a> *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a>&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Creates a new surface of the specified format, and then copies and maps the given surface to it so the blit of the converted surface will be as fast as possible. If this function fails, it returns NULL.</p>
<p>The <code>flags</code> parameter is passed to <a class="el" href="SDL__surface_8h.html#aac106bf796c828587cce76cb847d11ae">SDL_CreateRGBSurface()</a> and has those semantics. You can also pass <a class="el" href="SDL__surface_8h.html#a3b3d53ad7ba0b7294ca25251d88d40fb">SDL_RLEACCEL</a> in the flags parameter and SDL will try to RLE accelerate colorkey and alpha blits in the resulting surface. </p>

</div>
</div>
<a class="anchor" id="aac106bf796c828587cce76cb847d11ae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="structSDL__Surface.html">SDL_Surface</a>* SDLCALL SDL_CreateRGBSurface </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a>&#160;</td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a>&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a>&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a>&#160;</td>
          <td class="paramname"><em>depth</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a>&#160;</td>
          <td class="paramname"><em>Rmask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a>&#160;</td>
          <td class="paramname"><em>Gmask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a>&#160;</td>
          <td class="paramname"><em>Bmask</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a>&#160;</td>
          <td class="paramname"><em>Amask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Allocate and free an RGB surface.</p>
<p>If the depth is 4 or 8 bits, an empty palette is allocated for the surface. If the depth is greater than 8 bits, the pixel format is set using the flags '[RGB]mask'.</p>
<p>If the function runs out of memory, it will return NULL.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">flags</td><td>The <code>flags</code> are obsolete and should be set to 0. </td></tr>
    <tr><td class="paramname">width</td><td>The width in pixels of the surface to create. </td></tr>
    <tr><td class="paramname">height</td><td>The height in pixels of the surface to create. </td></tr>
    <tr><td class="paramname">depth</td><td>The depth in bits of the surface to create. </td></tr>
    <tr><td class="paramname">Rmask</td><td>The red mask of the surface to create. </td></tr>
    <tr><td class="paramname">Gmask</td><td>The green mask of the surface to create. </td></tr>
    <tr><td class="paramname">Bmask</td><td>The blue mask of the surface to create. </td></tr>
    <tr><td class="paramname">Amask</td><td>The alpha mask of the surface to create. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a98b3595458c6271303d6470cb2b2c721"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_FillRect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>rect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a>&#160;</td>
          <td class="paramname"><em>color</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Performs a fast fill of the given rectangle with <code>color</code>.</p>
<p>If <code>rect</code> is NULL, the whole surface will be filled with <code>color</code>.</p>
<p>The color should be a pixel of the format used by the surface, and can be generated by the <a class="el" href="SDL__pixels_8h.html#a157cf64c250c578722b939ea11a85b39" title="Maps an RGB triple to an opaque pixel value for a given pixel format. ">SDL_MapRGB()</a> function.</p>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or -1 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="a7d7f71b94748a1b0db3b5b769834ed27"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__audio_8h.html#a52835ae37c4bb905b903cbaf5d04b05f">void</a> SDLCALL SDL_GetClipRect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>rect</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Gets the clipping rectangle for the destination surface in a blit.</p>
<p><code>rect</code> must be a pointer to a valid rectangle which will be filled with the correct values. </p>

</div>
</div>
<a class="anchor" id="a2ff80a244bad20f1c4fa85adf1e1deb9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_GetColorKey </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a> *&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the color key (transparent pixel) in a blittable surface. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">surface</td><td>The surface to update </td></tr>
    <tr><td class="paramname">key</td><td>A pointer filled in with the transparent pixel in the native surface format</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or -1 if the surface is not valid or colorkey is not enabled. </dd></dl>

</div>
</div>
<a class="anchor" id="a09a99bb24420857e85071e39607678f6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_GetSurfaceAlphaMod </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a> *&#160;</td>
          <td class="paramname"><em>alpha</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the additional alpha value used in blit operations. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">surface</td><td>The surface to query. </td></tr>
    <tr><td class="paramname">alpha</td><td>A pointer filled in with the current alpha value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or -1 if the surface is not valid.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="SDL__surface_8h.html#a0035f0239f0588d16c57aff7672be174" title="Set an additional alpha value used in blit operations. ">SDL_SetSurfaceAlphaMod()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a95570c617879f45bf7e2e4d330534f6b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_GetSurfaceBlendMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__blendmode_8h.html#a850d3c67a878fd6698a1c8dbb1eabf1e">SDL_BlendMode</a> *&#160;</td>
          <td class="paramname"><em>blendMode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the blend mode used for blit operations. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">surface</td><td>The surface to query. </td></tr>
    <tr><td class="paramname">blendMode</td><td>A pointer filled in with the current blend mode.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or -1 if the surface is not valid.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="SDL__surface_8h.html#a35f5b3b64c503c4a8da01566f62976a9" title="Set the blend mode used for blit operations. ">SDL_SetSurfaceBlendMode()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a5db1ae32b7884b598d86424e205c3a86"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_GetSurfaceColorMod </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a> *&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a> *&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a> *&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the additional color value used in blit operations. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">surface</td><td>The surface to query. </td></tr>
    <tr><td class="paramname">r</td><td>A pointer filled in with the current red color value. </td></tr>
    <tr><td class="paramname">g</td><td>A pointer filled in with the current green color value. </td></tr>
    <tr><td class="paramname">b</td><td>A pointer filled in with the current blue color value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or -1 if the surface is not valid.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="SDL__surface_8h.html#a4edf978396e3f562d43c672630e0ca71" title="Set an additional color value used in blit operations. ">SDL_SetSurfaceColorMod()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aac1d1435b9fa8523d699c3a33264d559"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="structSDL__Surface.html">SDL_Surface</a>* SDLCALL SDL_LoadBMP_RW </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__RWops.html">SDL_RWops</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a>&#160;</td>
          <td class="paramname"><em>freesrc</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Load a surface from a seekable SDL data stream (memory or file).</p>
<p>If <code>freesrc</code> is non-zero, the stream will be closed after being read.</p>
<p>The new surface should be freed with SDL_FreeSurface().</p>
<dl class="section return"><dt>Returns</dt><dd>the new surface, or NULL if there was an error. </dd></dl>

</div>
</div>
<a class="anchor" id="a3d1da1c7ecdaa461fac51a10785f5077"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_LockSurface </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets up a surface for directly accessing the pixels. </p>
<p>Between calls to <a class="el" href="SDL__surface_8h.html#a3d1da1c7ecdaa461fac51a10785f5077" title="Sets up a surface for directly accessing the pixels. ">SDL_LockSurface()</a> / <a class="el" href="SDL__surface_8h.html#a56b93f51358b55d7fc213a3ba9b02c24">SDL_UnlockSurface()</a>, you can write to and read from <code>surface-&gt;pixels</code>, using the pixel format stored in <code>surface-&gt;format</code>. Once you are done accessing the surface, you should use <a class="el" href="SDL__surface_8h.html#a56b93f51358b55d7fc213a3ba9b02c24">SDL_UnlockSurface()</a> to release it.</p>
<p>Not all surfaces require locking. If <a class="el" href="SDL__surface_8h.html#aba3239116c763175b6ea41ef78b72091">SDL_MUSTLOCK(surface)</a> evaluates to 0, then you can read and write to the surface at any time, and the pixel format of the surface will not change.</p>
<p>No operating system or library calls should be made between lock/unlock pairs, as critical system locks may be held during this time.</p>
<p><a class="el" href="SDL__surface_8h.html#a3d1da1c7ecdaa461fac51a10785f5077" title="Sets up a surface for directly accessing the pixels. ">SDL_LockSurface()</a> returns 0, or -1 if the surface couldn't be locked.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="SDL__surface_8h.html#a56b93f51358b55d7fc213a3ba9b02c24">SDL_UnlockSurface()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a82bd1c0e0886d77e287207fe6351bf87"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_LowerBlit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>srcrect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>dstrect</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is a semi-private blit function and it performs low-level surface blitting only. </p>

</div>
</div>
<a class="anchor" id="a5c6b2f06726600d41ff75ff259d4383b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_LowerBlitScaled </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>srcrect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>dstrect</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is a semi-private blit function and it performs low-level surface scaled blitting only. </p>

</div>
</div>
<a class="anchor" id="aadc126a4edeafb5033d5e942cf32db6a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_SaveBMP_RW </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__RWops.html">SDL_RWops</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a>&#160;</td>
          <td class="paramname"><em>freedst</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Save a surface to a seekable SDL data stream (memory or file).</p>
<p>If <code>freedst</code> is non-zero, the stream will be closed after being written.</p>
<dl class="section return"><dt>Returns</dt><dd>0 if successful or -1 if there was an error. </dd></dl>

</div>
</div>
<a class="anchor" id="a6cf2c30be55f51fe9e4faf97e3f8d08b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC SDL_bool SDLCALL SDL_SetClipRect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>rect</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the clipping rectangle for the destination surface in a blit.</p>
<p>If the clip rectangle is NULL, clipping will be disabled.</p>
<p>If the clip rectangle doesn't intersect the surface, the function will return SDL_FALSE and blits will be completely clipped. Otherwise the function returns SDL_TRUE and blits to the surface will be clipped to the intersection of the surface area and the clipping rectangle.</p>
<p>Note that blits are automatically clipped to the edges of the source and destination surfaces. </p>

</div>
</div>
<a class="anchor" id="a4cbe831b210dc900cb93101352357b73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_SetColorKey </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a>&#160;</td>
          <td class="paramname"><em>flag</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#add440eff171ea5f55cb00c4a9ab8672d">Uint32</a>&#160;</td>
          <td class="paramname"><em>key</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the color key (transparent pixel) in a blittable surface. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">surface</td><td>The surface to update </td></tr>
    <tr><td class="paramname">flag</td><td>Non-zero to enable colorkey and 0 to disable colorkey </td></tr>
    <tr><td class="paramname">key</td><td>The transparent pixel in the native surface format</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or -1 if the surface is not valid</dd></dl>
<p>You can pass SDL_RLEACCEL to enable RLE accelerated blits. </p>

</div>
</div>
<a class="anchor" id="a0035f0239f0588d16c57aff7672be174"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_SetSurfaceAlphaMod </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a>&#160;</td>
          <td class="paramname"><em>alpha</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set an additional alpha value used in blit operations. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">surface</td><td>The surface to update. </td></tr>
    <tr><td class="paramname">alpha</td><td>The alpha value multiplied into blit operations.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or -1 if the surface is not valid.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="SDL__surface_8h.html#a09a99bb24420857e85071e39607678f6" title="Get the additional alpha value used in blit operations. ">SDL_GetSurfaceAlphaMod()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a35f5b3b64c503c4a8da01566f62976a9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_SetSurfaceBlendMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__blendmode_8h.html#a850d3c67a878fd6698a1c8dbb1eabf1e">SDL_BlendMode</a>&#160;</td>
          <td class="paramname"><em>blendMode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the blend mode used for blit operations. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">surface</td><td>The surface to update. </td></tr>
    <tr><td class="paramname">blendMode</td><td><a class="el" href="SDL__blendmode_8h.html#a850d3c67a878fd6698a1c8dbb1eabf1e" title="The blend mode used in SDL_RenderCopy() and drawing operations. ">SDL_BlendMode</a> to use for blit blending.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or -1 if the parameters are not valid.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="SDL__surface_8h.html#a95570c617879f45bf7e2e4d330534f6b" title="Get the blend mode used for blit operations. ">SDL_GetSurfaceBlendMode()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a4edf978396e3f562d43c672630e0ca71"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_SetSurfaceColorMod </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a>&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a>&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__stdinc_8h.html#a2944638813a090aa23e62f4da842c3e2">Uint8</a>&#160;</td>
          <td class="paramname"><em>b</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set an additional color value used in blit operations. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">surface</td><td>The surface to update. </td></tr>
    <tr><td class="paramname">r</td><td>The red color value multiplied into blit operations. </td></tr>
    <tr><td class="paramname">g</td><td>The green color value multiplied into blit operations. </td></tr>
    <tr><td class="paramname">b</td><td>The blue color value multiplied into blit operations.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or -1 if the surface is not valid.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="SDL__surface_8h.html#a5db1ae32b7884b598d86424e205c3a86" title="Get the additional color value used in blit operations. ">SDL_GetSurfaceColorMod()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a72c780465293acb1f586995943422a17"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_SetSurfacePalette </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Palette.html">SDL_Palette</a> *&#160;</td>
          <td class="paramname"><em>palette</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the palette used by a surface. </p>
<dl class="section return"><dt>Returns</dt><dd>0, or -1 if the surface format doesn't use a palette.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>A single palette can be shared with many surfaces. </dd></dl>

</div>
</div>
<a class="anchor" id="ae2f6d70b8071e83e0c84241dbdcd3a3b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_SetSurfaceRLE </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a>&#160;</td>
          <td class="paramname"><em>flag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the RLE acceleration hint for a surface. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on success, or -1 if the surface is not valid</dd></dl>
<dl class="section note"><dt>Note</dt><dd>If RLE is enabled, colorkey and alpha blending blits are much faster, but the surface must be locked before directly accessing the pixels. </dd></dl>

</div>
</div>
<a class="anchor" id="aee44fe7d5dba376a971793d70ffcf55c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_SoftStretch </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>srcrect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>dstrect</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Perform a fast, low quality, stretch blit between two surfaces of the same pixel format. </p>
<dl class="section note"><dt>Note</dt><dd>This function uses a static buffer, and is not thread-safe. </dd></dl>

</div>
</div>
<a class="anchor" id="a56b93f51358b55d7fc213a3ba9b02c24"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__audio_8h.html#a52835ae37c4bb905b903cbaf5d04b05f">void</a> SDLCALL SDL_UnlockSurface </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>surface</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="SDL__surface_8h.html#a3d1da1c7ecdaa461fac51a10785f5077" title="Sets up a surface for directly accessing the pixels. ">SDL_LockSurface()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ac418c4404813eeb32f4e1b24f9deae96"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_UpperBlit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>srcrect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>dstrect</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is the public blit function, <a class="el" href="SDL__surface_8h.html#aad8d7ebe5e953593cb7d91373e73ba9a">SDL_BlitSurface()</a>, and it performs rectangle validation and clipping before passing it to <a class="el" href="SDL__surface_8h.html#a82bd1c0e0886d77e287207fe6351bf87">SDL_LowerBlit()</a> </p>

</div>
</div>
<a class="anchor" id="a90ac01634e9ee33764fcf5ec7bc43c46"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__thread_8h.html#a6a64f9be4433e4de6e2f2f548cf3c08e">int</a> SDLCALL SDL_UpperBlitScaled </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>srcrect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Surface.html">SDL_Surface</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structSDL__Rect.html">SDL_Rect</a> *&#160;</td>
          <td class="paramname"><em>dstrect</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is the public scaled blit function, SDL_BlitScaled(), and it performs rectangle validation and clipping before passing it to <a class="el" href="SDL__surface_8h.html#a5c6b2f06726600d41ff75ff259d4383b">SDL_LowerBlitScaled()</a> </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 16 2014 16:33:09 for My Project by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>