Sophie

Sophie

distrib > PLD > ac > amd64 > media > dist > by-pkgid > d1f0df1429f50a2dc3896b450131d5eb > files > 29

SDLmm-devel-0.1.8-6.amd64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>SDLmm::BaseSurface class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 1.2.8.1 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="namespacemembers.html">Namespace Members</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>SDLmm::BaseSurface  Class Reference</h1>An abstract base class for graphical surfaces. 
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="sdlmm__basesurface_8h-source.html">sdlmm_basesurface.h</a>&gt;</code>
<p>
Inheritance diagram for SDLmm::BaseSurface:<p><center><img src="classSDLmm_1_1BaseSurface__inherit__graph.gif" border="0" usemap="#SDLmm::BaseSurface_inherit_map" alt="Inheritance graph"></center>
<map name="SDLmm::BaseSurface_inherit_map">
<area href="classSDLmm_1_1Display.html" shape="rect" coords="0,78,107,96">
<area href="classSDLmm_1_1Surface.html" shape="rect" coords="131,78,237,96">
</map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center><a href="classSDLmm_1_1BaseSurface-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>virtual&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a0">~BaseSurface</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The destructor.</em> <a href="#a0">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>SDL_Surface*&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a1">GetSurface</a> ()</td></tr>
<tr><td nowrap align=right valign=top>const SDL_Surface*&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a2">GetSurface</a> () const</td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a3">Lock</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Lock the surface to allow direct access to the surface pixels. Returns true if lock succeeded, false otherwise.</em> <a href="#a3">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a4">Unlock</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Unlock the surface.</em> <a href="#a4">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a16">SetPixel</a> (int x, int y, <a class="el" href="namespace__SDLmm.html#a0">Color</a> color)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the pixel to the color.</em> <a href="#a16">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a17">SetPixel1</a> (int x, int y, <a class="el" href="namespace__SDLmm.html#a0">Color</a> color)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the pixel to the color.</em> <a href="#a17">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a18">SetPixel2</a> (int x, int y, <a class="el" href="namespace__SDLmm.html#a0">Color</a> color)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the pixel to the color.</em> <a href="#a18">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a19">SetPixel3</a> (int x, int y, <a class="el" href="namespace__SDLmm.html#a0">Color</a> color)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the pixel to the color.</em> <a href="#a19">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a20">SetPixel4</a> (int x, int y, <a class="el" href="namespace__SDLmm.html#a0">Color</a> color)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the pixel to the color.</em> <a href="#a20">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a21">SetPixel</a> (const <a class="el" href="classSDLmm_1_1SRect.html">SRect</a> &amp;point, <a class="el" href="namespace__SDLmm.html#a0">Color</a> color)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Set the pixel to the color.</em> <a href="#a21">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="namespace__SDLmm.html#a0">Color</a>&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a22">GetPixel</a> (int x, int y) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the color of the pixel.</em> <a href="#a22">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="namespace__SDLmm.html#a0">Color</a>&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a23">GetPixel</a> (const <a class="el" href="classSDLmm_1_1SRect.html">SRect</a> &amp;point) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Get the color of the pixel.</em> <a href="#a23">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a24">SetColorKey</a> (Uint32 flag, <a class="el" href="namespace__SDLmm.html#a0">Color</a> key)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sets the color key (transparent pixel) in a blittable surface and enables or disables RLE blit acceleration.</em> <a href="#a24">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a25">SetAlpha</a> (Uint32 flag, Uint8 alpha)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Adjust the alpha properties of this surface.</em> <a href="#a25">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a42">SetDisplayFormat</a> ()=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Convert the surface to the display format.</em> <a href="#a42">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>virtual bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a43">SetDisplayFormatAlpha</a> ()=0</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Convert the surface to the display format.</em> <a href="#a43">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a44">SaveBMP</a> (const char *file) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Save a <a class="el" href="classSDLmm_1_1BaseSurface.html">BaseSurface</a> object as a Windows bitmap file.</em> <a href="#a44">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a45">SaveBMP</a> (const std::string &amp;file) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Save a <a class="el" href="classSDLmm_1_1BaseSurface.html">BaseSurface</a> object as a Windows bitmap file.</em> <a href="#a45">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Informational methods</div></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a5">valid</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns true if this surface is initialized, false otherwise.</em> <a href="#a5">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>Uint32&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a6">flags</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the surface flags.</em> <a href="#a6">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>const <a class="el" href="classSDLmm_1_1PixelFormat.html">PixelFormat</a>&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a7">GetPixelFormat</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the pixel format.</em> <a href="#a7">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classSDLmm_1_1PixelFormat.html">PixelFormat</a>&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a8">GetPixelFormat</a> ()</td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a9">w</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the width of the surface.</em> <a href="#a9">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a10">h</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the height of the surface.</em> <a href="#a10">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>Uint16&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a11">pitch</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the scanline length in bytes.</em> <a href="#a11">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>const <a class="el" href="classSDLmm_1_1SRect.html">SRect</a>&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a12">clip_rect</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the surface clip rectangle.</em> <a href="#a12">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void*&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a13">pixels</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the pixel data, which can be used for low-level manipulation.</em> <a href="#a13">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>const void*&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a14">pixels</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the pixel data, which can be used for low-level manipulation.</em> <a href="#a14">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>struct private_hwdata*&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a15">hwdata</a> () const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Returns the hardware-specific surface info.</em> <a href="#a15">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Clipping Methods</div></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a26">ResetClipRect</a> ()</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Resets the clipping rectangle for the surface.</em> <a href="#a26">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a27">SetClipRect</a> (const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp;rect)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Sets the clipping rectangle for the surface.</em> <a href="#a27">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>void&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a28">GetClipRect</a> (<a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp;rect) const</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Gets the clipping rectangle for the surface.</em> <a href="#a28">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan="2"><div class="groupHeader">Blitting / Filling</div></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a29">Blit</a> (const BaseSurface &amp;src)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Fast blit the entire source surface onto this surface.</em> <a href="#a29">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a30">Blit</a> (const BaseSurface &amp;src, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp;dstrect)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Fast blit the entire source surface onto this surface at the specified coordinates.</em> <a href="#a30">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a31">Blit</a> (const BaseSurface &amp;src, const <a class="el" href="classSDLmm_1_1SPoint.html">SPoint</a> &amp;dstpoint, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp;dstrect)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Fast blit the entire source surface onto this surface at the specified coordinates.</em> <a href="#a31">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a32">Blit</a> (const BaseSurface &amp;src, const <a class="el" href="classSDLmm_1_1SPoint.html">SPoint</a> &amp;dstpoint)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Fast blit the entire source surface onto this surface at the specified coordinates.</em> <a href="#a32">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a33">Blit</a> (const BaseSurface &amp;src, const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp;srcrect, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp;dstrect)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Fast blit the specified area part of the source surface onto this surface at the specified coordinates.</em> <a href="#a33">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a34">Blit</a> (const BaseSurface &amp;src, const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp;srcrect, const <a class="el" href="classSDLmm_1_1SPoint.html">SPoint</a> &amp;dstpoint, <a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp;dstrect)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Fast blit the specified area part of the source surface onto this surface at the specified coordinates.</em> <a href="#a34">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>int&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a35">Blit</a> (const BaseSurface &amp;src, const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp;srcrect, const <a class="el" href="classSDLmm_1_1SPoint.html">SPoint</a> &amp;dstpoint)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Fast blit the specified area part of the source surface onto this surface at the specified coordinates.</em> <a href="#a35">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a36">Fill</a> (<a class="el" href="namespace__SDLmm.html#a0">Color</a> color)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Fast fill the surface with the specified color.</em> <a href="#a36">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a37">Fill</a> (Uint8 r, Uint8 g, Uint8 b)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Fast fill the surface with the specified color.</em> <a href="#a37">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a38">Fill</a> (Uint8 r, Uint8 g, Uint8 b, Uint8 a)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Fast fill the surface with the specified color.</em> <a href="#a38">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a39">FillRect</a> (<a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp;dstrect, <a class="el" href="namespace__SDLmm.html#a0">Color</a> color)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Performs a fast fill of the given rectangle with the specified color.</em> <a href="#a39">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a40">FillRect</a> (<a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp;dstrect, Uint8 r, Uint8 g, Uint8 b)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Performs a fast fill of the given rectangle with the specified color.</em> <a href="#a40">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>bool&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#a41">FillRect</a> (<a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp;dstrect, Uint8 r, Uint8 g, Uint8 b, Uint8 a)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Performs a fast fill of the given rectangle with the specified color.</em> <a href="#a41">More...</a><em></em></font><br><br></td></tr>
<tr><td colspan=2><br><h2>Protected Methods</h2></td></tr>
<tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#b0">SetSurface</a> (SDL_Surface *surface)</td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#b1">BaseSurface</a> (SDL_Surface *surface)</td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>Constructor from an SDL_Surface*.</em> <a href="#b1">More...</a><em></em></font><br><br></td></tr>
<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#b2">BaseSurface</a> (const BaseSurface &amp;other)</td></tr>
<tr><td nowrap align=right valign=top>BaseSurface&amp;&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#b3">operator=</a> (const BaseSurface &amp;other)</td></tr>
<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top>SDL_Surface*&nbsp;</td><td valign=bottom><a class="el" href="classSDLmm_1_1BaseSurface.html#n0">me</a></td></tr>
<tr><td>&nbsp;</td><td><font size=-1><em>The actual SDL_Surface allocated for this <a class="el" href="classSDLmm_1_1BaseSurface.html">BaseSurface</a>.</em> <a href="#n0">More...</a><em></em></font><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
An abstract base class for graphical surfaces.
<p>
Surfaces represent areas of "graphical" memory, memory that can be drawn to. The video framebuffer is returned as a VideoSurface by SetVideoMode() and GetVideoSurface(). Ordinary (non-framebuffer surfaces) are represented by a <a class="el" href="classSDLmm_1_1Surface.html">Surface</a>. The clipping rectangle returned by <a class="el" href="classSDLmm_1_1BaseSurface.html#a12">clip_rect</a>() can be set with <a class="el" href="classSDLmm_1_1BaseSurface.html#a27">SetClipRect</a>() method.
<p>
<dl compact><dt>
<b>Author: </b><dd>
David Hedbor &lt;<a href="mailto:david@hedbor.org">david@hedbor.org</a>&gt; </dl>
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="b1" doxytag="SDLmm::BaseSurface::BaseSurface"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
SDLmm::BaseSurface::BaseSurface (
          </b></td>
          <td valign="bottom"><b>
SDL_Surface * <em>surface</em>&nbsp;)<code> [inline, explicit, protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Constructor from an SDL_Surface*.
<p>
This creates a new <a class="el" href="classSDLmm_1_1BaseSurface.html">BaseSurface</a> object from an existing SDL_Surface. Note that ownership of the SDL_Surface is passed on to the <a class="el" href="classSDLmm_1_1BaseSurface.html">BaseSurface</a>. It's very important not to free the original surface since that will cause a problem when the object is destructed (SDL_Surface storage freed twice). Use with caution.     </td>
  </tr>
</table>
<a name="b2" doxytag="SDLmm::BaseSurface::BaseSurface"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
SDLmm::BaseSurface::BaseSurface (
          </b></td>
          <td valign="bottom"><b>
const BaseSurface &amp; <em>other</em>&nbsp;)<code> [inline, protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a0" doxytag="SDLmm::BaseSurface::~BaseSurface"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
SDLmm::BaseSurface::~BaseSurface (
          </b></td>
          <td valign="bottom"><b>
)<code> [inline, virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The destructor.
<p>
    </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a35" doxytag="SDLmm::BaseSurface::Blit"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int SDLmm::BaseSurface::Blit (
          </b></td>
          <td valign="bottom"><b>
const BaseSurface &amp; <em>src</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp; <em>srcrect</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classSDLmm_1_1SPoint.html">SPoint</a> &amp; <em>dstpoint</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Fast blit the specified area part of the source surface onto this surface at the specified coordinates.
<p>
The choosen rectangle of the source surface will be blitted to this surface. If the source area is larger than the destination, clipping will occur. No scaling will be performed. Blitting should not be used on a locked surface. The entire surface will be copied to this surface using this function.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
If the blit is successful, it returns 0, otherwise it returns -1. If either of the surfaces were in video memory, and the blit returns -2, the video memory was lost. It should be reloaded with artwork and re-blitted.</dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>src</em>
&nbsp;</td><td>
the surface to blit from. </td></tr>
<tr><td valign=top><em>srcrect</em>
&nbsp;</td><td>
the rectangular area to copy from the source surface. </td></tr>
<tr><td valign=top><em>dstpoint</em>
&nbsp;</td><td>
the destination coordinates. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a34" doxytag="SDLmm::BaseSurface::Blit"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int SDLmm::BaseSurface::Blit (
          </b></td>
          <td valign="bottom"><b>
const BaseSurface &amp; <em>src</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp; <em>srcrect</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classSDLmm_1_1SPoint.html">SPoint</a> &amp; <em>dstpoint</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp; <em>dstrect</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Fast blit the specified area part of the source surface onto this surface at the specified coordinates.
<p>
The choosen rectangle of the source surface will be blitted to this surface. If the source area is larger than the destination, clipping will occur. No scaling will be performed. Blitting should not be used on a locked surface. The entire surface will be copied to this surface using this function. The final blit rectangle is saved in <em>dstrect</em> after all clipping is performed (<em>srcrect</em> is not modified).
<p>
<dl compact><dt>
<b>Returns: </b><dd>
If the blit is successful, it returns 0, otherwise it returns -1. If either of the surfaces were in video memory, and the blit returns -2, the video memory was lost. It should be reloaded with artwork and re-blitted.</dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>src</em>
&nbsp;</td><td>
the surface to blit from. </td></tr>
<tr><td valign=top><em>srcrect</em>
&nbsp;</td><td>
the rectangular area to copy from the source surface. </td></tr>
<tr><td valign=top><em>dstpoint</em>
&nbsp;</td><td>
the destination coordinates. </td></tr>
<tr><td valign=top><em>dstrect</em>
&nbsp;</td><td>
the final position and size is set upon returning. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a33" doxytag="SDLmm::BaseSurface::Blit"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int SDLmm::BaseSurface::Blit (
          </b></td>
          <td valign="bottom"><b>
const BaseSurface &amp; <em>src</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp; <em>srcrect</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp; <em>dstrect</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Fast blit the specified area part of the source surface onto this surface at the specified coordinates.
<p>
The choosen rectangle of the source surface will be blitted to this surface. If the source area is larger than the destination, clipping will occur. No scaling will be performed. Blitting should not be used on a locked surface. The entire surface will be copied to this surface using this function. The final blit rectangle is saved in <em>dstrect</em> after all clipping is performed (<em>srcrect</em> is not modified).
<p>
<dl compact><dt>
<b>Returns: </b><dd>
If the blit is successful, it returns 0, otherwise it returns -1. If either of the surfaces were in video memory, and the blit returns -2, the video memory was lost. It should be reloaded with artwork and re-blitted.</dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>src</em>
&nbsp;</td><td>
the surface to blit from. </td></tr>
<tr><td valign=top><em>srcrect</em>
&nbsp;</td><td>
the rectangular area to copy from the source surface. </td></tr>
<tr><td valign=top><em>dstrect</em>
&nbsp;</td><td>
the destination coordinates. Only the position  is used (i.e width and height are ignored). The width and height are set upon returning. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a32" doxytag="SDLmm::BaseSurface::Blit"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int SDLmm::BaseSurface::Blit (
          </b></td>
          <td valign="bottom"><b>
const BaseSurface &amp; <em>src</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classSDLmm_1_1SPoint.html">SPoint</a> &amp; <em>dstpoint</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Fast blit the entire source surface onto this surface at the specified coordinates.
<p>
The source surface will be blitted to this surface. If the source area is larger than the destination, clipping will occur. No scaling will be performed. Blitting should not be used on a locked surface. The entire surface will be copied to this surface using this function.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
If the blit is successful, it returns 0, otherwise it returns -1. If either of the surfaces were in video memory, and the blit returns -2, the video memory was lost. It should be reloaded with artwork and re-blitted.</dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>src</em>
&nbsp;</td><td>
the surface to blit from. </td></tr>
<tr><td valign=top><em>dstpoint</em>
&nbsp;</td><td>
the destination coordinates. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a31" doxytag="SDLmm::BaseSurface::Blit"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int SDLmm::BaseSurface::Blit (
          </b></td>
          <td valign="bottom"><b>
const BaseSurface &amp; <em>src</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
const <a class="el" href="classSDLmm_1_1SPoint.html">SPoint</a> &amp; <em>dstpoint</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp; <em>dstrect</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Fast blit the entire source surface onto this surface at the specified coordinates.
<p>
The source surface will be blitted to this surface. If the source area is larger than the destination, clipping will occur. No scaling will be performed. Blitting should not be used on a locked surface. The entire surface will be copied to this surface using this function. The final blit rectangle is saved in <em>dstrect</em> after all clipping is performed.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
If the blit is successful, it returns 0, otherwise it returns -1. If either of the surfaces were in video memory, and the blit returns -2, the video memory was lost. It should be reloaded with artwork and re-blitted.</dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>src</em>
&nbsp;</td><td>
the surface to blit from. </td></tr>
<tr><td valign=top><em>dstpoint</em>
&nbsp;</td><td>
the destination coordinates. </td></tr>
<tr><td valign=top><em>dstrect</em>
&nbsp;</td><td>
the final position and size is set upon returning. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a30" doxytag="SDLmm::BaseSurface::Blit"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int SDLmm::BaseSurface::Blit (
          </b></td>
          <td valign="bottom"><b>
const BaseSurface &amp; <em>src</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp; <em>dstrect</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Fast blit the entire source surface onto this surface at the specified coordinates.
<p>
The source surface will be blitted to this surface. If the source area is larger than the destination, clipping will occur. No scaling will be performed. Blitting should not be used on a locked surface. The entire surface will be copied to this surface using this function. The final blit rectangle is saved in <em>dstrect</em> after all clipping is performed.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
If the blit is successful, it returns 0, otherwise it returns -1. If either of the surfaces were in video memory, and the blit returns -2, the video memory was lost. It should be reloaded with artwork and re-blitted.</dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>src</em>
&nbsp;</td><td>
the surface to blit from. </td></tr>
<tr><td valign=top><em>dstrect</em>
&nbsp;</td><td>
the destination coordinates. Only the position  is used (i.e width and height are ignored). The width and height are set upon returning. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a29" doxytag="SDLmm::BaseSurface::Blit"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int SDLmm::BaseSurface::Blit (
          </b></td>
          <td valign="bottom"><b>
const BaseSurface &amp; <em>src</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Fast blit the entire source surface onto this surface.
<p>
The source surface will be blitted to this surface. If the source area is larger than the destination, clipping will occur. No scaling will be performed. Blitting should not be used on a locked surface. The entire surface will be copied to this surface using this function.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
If the blit is successful, it returns 0, otherwise it returns -1. If either of the surfaces were in video memory, and the blit returns -2, the video memory was lost. It should be reloaded with artwork and re-blitted.</dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>src</em>
&nbsp;</td><td>
the surface to blit from. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a38" doxytag="SDLmm::BaseSurface::Fill"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::Fill (
          </b></td>
          <td valign="bottom"><b>
Uint8 <em>r</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>g</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>b</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>a</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Fast fill the surface with the specified color.
<p>
If a clipping rectangle has been set using <a class="el" href="classSDLmm_1_1BaseSurface.html#a27">SetClipRect</a>(), only the area within that rectangle will be filled. <dl compact><dt>
<b>Returns: </b><dd>
Returns true for success, false if there was an error. </dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>r, g, b</em>
&nbsp;</td><td>
the red, green and blue color values. </td></tr>
<tr><td valign=top><em>a</em>
&nbsp;</td><td>
the alpha value </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a37" doxytag="SDLmm::BaseSurface::Fill"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::Fill (
          </b></td>
          <td valign="bottom"><b>
Uint8 <em>r</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>g</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>b</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Fast fill the surface with the specified color.
<p>
If a clipping rectangle has been set using <a class="el" href="classSDLmm_1_1BaseSurface.html#a27">SetClipRect</a>(), only the area within that rectangle will be filled. <dl compact><dt>
<b>Returns: </b><dd>
Returns true for success, false if there was an error. </dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>r, g, b</em>
&nbsp;</td><td>
the red, green and blue color values. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a36" doxytag="SDLmm::BaseSurface::Fill"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::Fill (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="namespace__SDLmm.html#a0">Color</a> <em>color</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Fast fill the surface with the specified color.
<p>
If a clipping rectangle has been set using <a class="el" href="classSDLmm_1_1BaseSurface.html#a27">SetClipRect</a>(), only the area within that rectangle will be filled. <dl compact><dt>
<b>Returns: </b><dd>
Returns true for success, false if there was an error. </dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>color</em>
&nbsp;</td><td>
the color to fill with, generated by MapRGB() or MapRGBA(). </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a41" doxytag="SDLmm::BaseSurface::FillRect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::FillRect (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp; <em>dstrect</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>r</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>g</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>b</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>a</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Performs a fast fill of the given rectangle with the specified color.
<p>
If a clipping rectangle has been set using <a class="el" href="classSDLmm_1_1BaseSurface.html#a27">SetClipRect</a>(), the area filled will be the intersection of the clipping rectangle and <em>dstrect</em>. <dl compact><dt>
<b>Returns: </b><dd>
Returns true for success, false if there was an error. </dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>dstrect</em>
&nbsp;</td><td>
the rectangle to fill, upon returning it contains the  clipped rectangle that was actually filled. </td></tr>
<tr><td valign=top><em>r, g, b</em>
&nbsp;</td><td>
the red, green and blue color values. </td></tr>
<tr><td valign=top><em>a</em>
&nbsp;</td><td>
the alpha value </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a40" doxytag="SDLmm::BaseSurface::FillRect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::FillRect (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp; <em>dstrect</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>r</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>g</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>b</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Performs a fast fill of the given rectangle with the specified color.
<p>
If a clipping rectangle has been set using <a class="el" href="classSDLmm_1_1BaseSurface.html#a27">SetClipRect</a>(), the area filled will be the intersection of the clipping rectangle and <em>dstrect</em>. <dl compact><dt>
<b>Returns: </b><dd>
Returns true for success, false if there was an error. </dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>dstrect</em>
&nbsp;</td><td>
the rectangle to fill, upon returning it contains the  clipped rectangle that was actually filled. </td></tr>
<tr><td valign=top><em>r, g, b</em>
&nbsp;</td><td>
the red, green and blue color values. </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a39" doxytag="SDLmm::BaseSurface::FillRect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::FillRect (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp; <em>dstrect</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="namespace__SDLmm.html#a0">Color</a> <em>color</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Performs a fast fill of the given rectangle with the specified color.
<p>
If a clipping rectangle has been set using <a class="el" href="classSDLmm_1_1BaseSurface.html#a27">SetClipRect</a>(), the area filled will be the intersection of the clipping rectangle and <em>dstrect</em>. <dl compact><dt>
<b>Returns: </b><dd>
Returns true for success, false if there was an error. </dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>dstrect</em>
&nbsp;</td><td>
the rectangle to fill, upon returning it contains the  clipped rectangle that was actually filled. </td></tr>
<tr><td valign=top><em>color</em>
&nbsp;</td><td>
the color to fill with, generated by MapRGB() or MapRGBA(). </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a28" doxytag="SDLmm::BaseSurface::GetClipRect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void SDLmm::BaseSurface::GetClipRect (
          </b></td>
          <td valign="bottom"><b>
<a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp; <em>rect</em>&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Gets the clipping rectangle for the surface.
<p>
Gets the clipping rectangle for a surface. When this surface is the destination of a blit, only the area within the clip rectangle is drawn into.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>rect</em>
&nbsp;</td><td>
reference to a rectangle which will be filled with the clipping rectangle of this surface. </td></tr>
</table>
</dl><dl compact><dt>
<b>See also: </b><dd>
<a class="el" href="classSDLmm_1_1BaseSurface.html#a27">SetClipRect</a>, <a class="el" href="classSDLmm_1_1BaseSurface.html#a26">ResetClipRect</a>, <a class="el" href="classSDLmm_1_1BaseSurface.html#a29">Blit</a> </dl>    </td>
  </tr>
</table>
<a name="a23" doxytag="SDLmm::BaseSurface::GetPixel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="namespace__SDLmm.html#a0">Color</a> SDLmm::BaseSurface::GetPixel (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classSDLmm_1_1SRect.html">SRect</a> &amp; <em>point</em>&nbsp;) const<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the color of the pixel.
<p>
<dl compact><dt>
<b>Warning: </b><dd>
You can only use this function when the surface is locked. </dl>    </td>
  </tr>
</table>
<a name="a22" doxytag="SDLmm::BaseSurface::GetPixel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="namespace__SDLmm.html#a0">Color</a> SDLmm::BaseSurface::GetPixel (
          </b></td>
          <td valign="bottom"><b>
int <em>x</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>y</em>&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Get the color of the pixel.
<p>
<dl compact><dt>
<b>Warning: </b><dd>
You can only use this function when the surface is locked. </dl>    </td>
  </tr>
</table>
<a name="a8" doxytag="SDLmm::BaseSurface::GetPixelFormat"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
<a class="el" href="classSDLmm_1_1PixelFormat.html">PixelFormat</a> SDLmm::BaseSurface::GetPixelFormat (
          </b></td>
          <td valign="bottom"><b>
)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a7" doxytag="SDLmm::BaseSurface::GetPixelFormat"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classSDLmm_1_1PixelFormat.html">PixelFormat</a> SDLmm::BaseSurface::GetPixelFormat (
          </b></td>
          <td valign="bottom"><b>
) const<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the pixel format.
<p>
    </td>
  </tr>
</table>
<a name="a2" doxytag="SDLmm::BaseSurface::GetSurface"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const SDL_Surface * SDLmm::BaseSurface::GetSurface (
          </b></td>
          <td valign="bottom"><b>
) const<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a1" doxytag="SDLmm::BaseSurface::GetSurface"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
SDL_Surface * SDLmm::BaseSurface::GetSurface (
          </b></td>
          <td valign="bottom"><b>
)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a3" doxytag="SDLmm::BaseSurface::Lock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::Lock (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Lock the surface to allow direct access to the surface pixels. Returns true if lock succeeded, false otherwise.
<p>
    </td>
  </tr>
</table>
<a name="a26" doxytag="SDLmm::BaseSurface::ResetClipRect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void SDLmm::BaseSurface::ResetClipRect (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Resets the clipping rectangle for the surface.
<p>
This functions resets the clipping to the full size of the surface.  <dl compact><dt>
<b>See also: </b><dd>
<a class="el" href="classSDLmm_1_1BaseSurface.html#a28">GetClipRect</a>, <a class="el" href="classSDLmm_1_1BaseSurface.html#a27">SetClipRect</a>, <a class="el" href="classSDLmm_1_1BaseSurface.html#a29">Blit</a> </dl>    </td>
  </tr>
</table>
<a name="a45" doxytag="SDLmm::BaseSurface::SaveBMP"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::SaveBMP (
          </b></td>
          <td valign="bottom"><b>
const std::string &amp; <em>file</em>&nbsp;) const<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Save a <a class="el" href="classSDLmm_1_1BaseSurface.html">BaseSurface</a> object as a Windows bitmap file.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>file</em>
&nbsp;</td><td>
the file name to save to. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
True if the loading succeeded, false otherwise. </dl>    </td>
  </tr>
</table>
<a name="a44" doxytag="SDLmm::BaseSurface::SaveBMP"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::SaveBMP (
          </b></td>
          <td valign="bottom"><b>
const char * <em>file</em>&nbsp;) const
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Save a <a class="el" href="classSDLmm_1_1BaseSurface.html">BaseSurface</a> object as a Windows bitmap file.
<p>
<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>file</em>
&nbsp;</td><td>
the file name to save to. </td></tr>
</table>
</dl><dl compact><dt>
<b>Returns: </b><dd>
True if the loading succeeded, false otherwise. </dl>    </td>
  </tr>
</table>
<a name="a25" doxytag="SDLmm::BaseSurface::SetAlpha"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::SetAlpha (
          </b></td>
          <td valign="bottom"><b>
Uint32 <em>flag</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
Uint8 <em>alpha</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Adjust the alpha properties of this surface.
<p>
SetAlpha is used for setting the surface alpha value and / or enabling and disabling alpha blending.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>flag</em>
&nbsp;</td><td>
used to specify whether alpha blending should be used (SDL_SRCALPHA) and whether the surface should use RLE acceleration for blitting (SDL_RLEACCEL). <em>flag</em> can be an OR'd combination of these two options, one of these options or 0. If SDL_SRCALPHA is not passed as a flag then all alpha information is ignored when blitting the surface.</td></tr>
<tr><td valign=top><em>alpha</em>
&nbsp;</td><td>
the per-surface alpha value; a surface need not have an alpha channel to use per-surface alpha and blitting can still be accelerated with SDL_RLEACCEL.
<p>
</td></tr>
</table>
</dl><dl compact><dt>
<b>Note: </b><dd>
The per-surface alpha value of 128 is considered a special case and is optimised, so it's much faster than other per-surface values.
<p>
</dl><dl compact><dt>
<b>Returns: </b><dd>
true for success or false if there was an error. </dl>    </td>
  </tr>
</table>
<a name="a27" doxytag="SDLmm::BaseSurface::SetClipRect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void SDLmm::BaseSurface::SetClipRect (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="structSDL__Rect.html">SDL_Rect</a> &amp; <em>rect</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Sets the clipping rectangle for the surface.
<p>
Sets the clipping rectangle for a surface. When this surface is the destination of a blit, only the area within the clip rectangle will be drawn into.<dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>rect</em>
&nbsp;</td><td>
The rectangle pointed to by rect will be clipped to the edges of the surface so that the clip rectangle for a surface can never fall outside the edges of the surface.
<p>
</td></tr>
</table>
</dl><dl compact><dt>
<b>See also: </b><dd>
<a class="el" href="classSDLmm_1_1BaseSurface.html#a28">GetClipRect</a>, <a class="el" href="classSDLmm_1_1BaseSurface.html#a26">ResetClipRect</a>, <a class="el" href="classSDLmm_1_1BaseSurface.html#a29">Blit</a> </dl>    </td>
  </tr>
</table>
<a name="a24" doxytag="SDLmm::BaseSurface::SetColorKey"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::SetColorKey (
          </b></td>
          <td valign="bottom"><b>
Uint32 <em>flag</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="namespace__SDLmm.html#a0">Color</a> <em>key</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Sets the color key (transparent pixel) in a blittable surface and enables or disables RLE blit acceleration.
<p>
RLE acceleration can substantially speed up blitting of images with large horizontal runs of transparent pixels (i.e., pixels that match the <em>key</em> value). The key must be of the same pixel format as the surface, MapRGB() is often useful for obtaining an acceptable value.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
Returns true for success, false if there was an error. </dl><dl compact><dt>
<b>Parameters: </b><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>flag</em>
&nbsp;</td><td>
If </td></tr>
</table>
</dl>    </td>
  </tr>
</table>
<a name="a42" doxytag="SDLmm::BaseSurface::SetDisplayFormat"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::SetDisplayFormat (
          </b></td>
          <td valign="bottom"><b>
)<code> [pure virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert the surface to the display format.
<p>
This function converts the surface to the pixel format and colors of the video framebuffer, making it suitable for fast blitting onto the display surface.
<p>
If you want to take advantage of hardware colorkey or alpha blit acceleration, you should set the colorkey and alpha value before calling this function.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
The functions returns true if the conversion succeeded or false otherwise. If the conversion failed, the <a class="el" href="classSDLmm_1_1BaseSurface.html">BaseSurface</a> object will not have changed.
<p>
</dl><dl compact><dt>
<b>Note: </b><dd>
Please note that this function doesn't return a new, modified object like the SDL_DisplayFormat() function does. Thus there is no need to manually free the old surface.
<p>
</dl><dl compact><dt>
<b>See also: </b><dd>
<a class="el" href="classSDLmm_1_1BaseSurface.html#a43">SetDisplayFormatAlpha</a>(), <a class="el" href="classSDLmm_1_1BaseSurface.html#a25">SetAlpha</a>(), <a class="el" href="classSDLmm_1_1BaseSurface.html#a24">SetColorKey</a>() </dl>
<p>
Reimplemented in <a class="el" href="classSDLmm_1_1Display.html#a15">SDLmm::Display</a>, and <a class="el" href="classSDLmm_1_1Surface.html#a5">SDLmm::Surface</a>.    </td>
  </tr>
</table>
<a name="a43" doxytag="SDLmm::BaseSurface::SetDisplayFormatAlpha"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::SetDisplayFormatAlpha (
          </b></td>
          <td valign="bottom"><b>
)<code> [pure virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Convert the surface to the display format.
<p>
This function converts the surface to the pixel format and colors of the video framebuffer plus an alpha channel, making it suitable for fast blitting onto the display surface.
<p>
If you want to take advantage of hardware colorkey or alpha blit acceleration, you should set the colorkey and alpha value before calling this function.
<p>
<dl compact><dt>
<b>Returns: </b><dd>
The functions returns true if the conversion succeeded or false otherwise. If the conversion failed, the <a class="el" href="classSDLmm_1_1BaseSurface.html">BaseSurface</a> object will not have changed.
<p>
</dl><dl compact><dt>
<b>Note: </b><dd>
Please note that this function doesn't return a new, modified object like the SDL_DisplayFormatAlpha() function does. Thus there is no need to manually free the old surface.
<p>
</dl><dl compact><dt>
<b>See also: </b><dd>
<a class="el" href="classSDLmm_1_1BaseSurface.html#a42">SetDisplayFormat</a>(), <a class="el" href="classSDLmm_1_1BaseSurface.html#a25">SetAlpha</a>(), <a class="el" href="classSDLmm_1_1BaseSurface.html#a24">SetColorKey</a>() </dl>
<p>
Reimplemented in <a class="el" href="classSDLmm_1_1Display.html#a16">SDLmm::Display</a>, and <a class="el" href="classSDLmm_1_1Surface.html#a6">SDLmm::Surface</a>.    </td>
  </tr>
</table>
<a name="a21" doxytag="SDLmm::BaseSurface::SetPixel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void SDLmm::BaseSurface::SetPixel (
          </b></td>
          <td valign="bottom"><b>
const <a class="el" href="classSDLmm_1_1SRect.html">SRect</a> &amp; <em>point</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="namespace__SDLmm.html#a0">Color</a> <em>color</em>&nbsp;)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the pixel to the color.
<p>
<dl compact><dt>
<b>Warning: </b><dd>
You can only use this function when the surface is locked. </dl>    </td>
  </tr>
</table>
<a name="a16" doxytag="SDLmm::BaseSurface::SetPixel"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void SDLmm::BaseSurface::SetPixel (
          </b></td>
          <td valign="bottom"><b>
int <em>x</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>y</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="namespace__SDLmm.html#a0">Color</a> <em>color</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the pixel to the color.
<p>
<dl compact><dt>
<b>Warning: </b><dd>
You can only use this function when the surface is locked. </dl>    </td>
  </tr>
</table>
<a name="a17" doxytag="SDLmm::BaseSurface::SetPixel1"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void SDLmm::BaseSurface::SetPixel1 (
          </b></td>
          <td valign="bottom"><b>
int <em>x</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>y</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="namespace__SDLmm.html#a0">Color</a> <em>color</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the pixel to the color.
<p>
<dl compact><dt>
<b>Warning: </b><dd>
You can only use this function when the surface is locked and when the bytes per pixel is 1. </dl>    </td>
  </tr>
</table>
<a name="a18" doxytag="SDLmm::BaseSurface::SetPixel2"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void SDLmm::BaseSurface::SetPixel2 (
          </b></td>
          <td valign="bottom"><b>
int <em>x</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>y</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="namespace__SDLmm.html#a0">Color</a> <em>color</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the pixel to the color.
<p>
<dl compact><dt>
<b>Warning: </b><dd>
You can only use this function when the surface is locked and when the bytes per pixel is 2. </dl>    </td>
  </tr>
</table>
<a name="a19" doxytag="SDLmm::BaseSurface::SetPixel3"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void SDLmm::BaseSurface::SetPixel3 (
          </b></td>
          <td valign="bottom"><b>
int <em>x</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>y</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="namespace__SDLmm.html#a0">Color</a> <em>color</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the pixel to the color.
<p>
<dl compact><dt>
<b>Warning: </b><dd>
You can only use this function when the surface is locked and when the bytes per pixel is 3. </dl>    </td>
  </tr>
</table>
<a name="a20" doxytag="SDLmm::BaseSurface::SetPixel4"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void SDLmm::BaseSurface::SetPixel4 (
          </b></td>
          <td valign="bottom"><b>
int <em>x</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
int <em>y</em>, 
          </b></td>
        </tr>
        <tr>
          <td></td>
          <td><b>
<a class="el" href="namespace__SDLmm.html#a0">Color</a> <em>color</em>&nbsp;)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Set the pixel to the color.
<p>
<dl compact><dt>
<b>Warning: </b><dd>
You can only use this function when the surface is locked and when the bytes per pixel is 4. </dl>    </td>
  </tr>
</table>
<a name="b0" doxytag="SDLmm::BaseSurface::SetSurface"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void SDLmm::BaseSurface::SetSurface (
          </b></td>
          <td valign="bottom"><b>
SDL_Surface * <em>surface</em>&nbsp;)<code> [inline, protected, virtual]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a4" doxytag="SDLmm::BaseSurface::Unlock"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void SDLmm::BaseSurface::Unlock (
          </b></td>
          <td valign="bottom"><b>
)
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Unlock the surface.
<p>
    </td>
  </tr>
</table>
<a name="a12" doxytag="SDLmm::BaseSurface::clip_rect"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const <a class="el" href="classSDLmm_1_1SRect.html">SRect</a> SDLmm::BaseSurface::clip_rect (
          </b></td>
          <td valign="bottom"><b>
) const<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the surface clip rectangle.
<p>
    </td>
  </tr>
</table>
<a name="a6" doxytag="SDLmm::BaseSurface::flags"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
Uint32 SDLmm::BaseSurface::flags (
          </b></td>
          <td valign="bottom"><b>
) const<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the surface flags.
<p>
    </td>
  </tr>
</table>
<a name="a10" doxytag="SDLmm::BaseSurface::h"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int SDLmm::BaseSurface::h (
          </b></td>
          <td valign="bottom"><b>
) const<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the height of the surface.
<p>
    </td>
  </tr>
</table>
<a name="a15" doxytag="SDLmm::BaseSurface::hwdata"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
struct private_hwdata * SDLmm::BaseSurface::hwdata (
          </b></td>
          <td valign="bottom"><b>
) const<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the hardware-specific surface info.
<p>
    </td>
  </tr>
</table>
<a name="b3" doxytag="SDLmm::BaseSurface::operator="></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
BaseSurface &amp; SDLmm::BaseSurface::operator= (
          </b></td>
          <td valign="bottom"><b>
const BaseSurface &amp; <em>other</em>&nbsp;)<code> [inline, protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a11" doxytag="SDLmm::BaseSurface::pitch"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
Uint16 SDLmm::BaseSurface::pitch (
          </b></td>
          <td valign="bottom"><b>
) const<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the scanline length in bytes.
<p>
    </td>
  </tr>
</table>
<a name="a14" doxytag="SDLmm::BaseSurface::pixels"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
const void * SDLmm::BaseSurface::pixels (
          </b></td>
          <td valign="bottom"><b>
) const<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the pixel data, which can be used for low-level manipulation.
<p>
<dl compact><dt>
<b>Warning: </b><dd>
You can only modify this surface when the surface is locked. </dl>    </td>
  </tr>
</table>
<a name="a13" doxytag="SDLmm::BaseSurface::pixels"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
void * SDLmm::BaseSurface::pixels (
          </b></td>
          <td valign="bottom"><b>
)<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the pixel data, which can be used for low-level manipulation.
<p>
<dl compact><dt>
<b>Warning: </b><dd>
You can only modify this surface when the surface is locked. </dl>    </td>
  </tr>
</table>
<a name="a5" doxytag="SDLmm::BaseSurface::valid"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
bool SDLmm::BaseSurface::valid (
          </b></td>
          <td valign="bottom"><b>
) const<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns true if this surface is initialized, false otherwise.
<p>
<dl compact><dt>
<b>Warning: </b><dd>
Using an uninitialzied surface can cause many problems. </dl>    </td>
  </tr>
</table>
<a name="a9" doxytag="SDLmm::BaseSurface::w"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
int SDLmm::BaseSurface::w (
          </b></td>
          <td valign="bottom"><b>
) const<code> [inline]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the width of the surface.
<p>
    </td>
  </tr>
</table>
<hr><h2>Member Data Documentation</h2>
<a name="n0" doxytag="SDLmm::BaseSurface::me"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td nowrap valign="top"><b> 
SDL_Surface * SDLmm::BaseSurface::me<code> [protected]</code>
          </b></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
The actual SDL_Surface allocated for this <a class="el" href="classSDLmm_1_1BaseSurface.html">BaseSurface</a>.
<p>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="sdlmm__basesurface_8h-source.html">sdlmm_basesurface.h</a><li><a class="el" href="sdlmm__basesurface_8cpp.html">sdlmm_basesurface.cpp</a></ul>
<hr>
<table cellspacing=10 cellpadding=0 border=0 width=100%>
<tr valign=middle><td><font size=-1>Documentation automatically generated by <a
href="http://www.stack.nl/~dimitri/doxygen/"><img border=0 align=center src="doxygen.gif" alt="doxygen"></a> written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>.</font></td>
<td align=right><font size=-1>Project hosted at <br><a href="http://sourceforge.net"><img align=middle src="http://sourceforge.net/sflogo.php?group_id=25445&type=1" width="88" height="31" border="0"  alt="Hosted by SourceForge"></a></font></td></tr></table>