Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 5389723cfaa070fa83dde30f5cb260be > files > 138

compat-guichan05-devel-0.5.0-11.fc15.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Guichan: gcn::Graphics Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.4.7 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li id="current"><a href="annotated.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="namespacegcn.html">gcn</a>::<a class="el" href="classgcn_1_1Graphics.html">Graphics</a></div>
<h1>gcn::Graphics Class Reference</h1><!-- doxytag: class="gcn::Graphics" --><code>#include &lt;<a class="el" href="graphics_8hpp-source.html">graphics.hpp</a>&gt;</code>
<p>
<p>Inheritance diagram for gcn::Graphics:
<p><center><img src="classgcn_1_1Graphics.png" usemap="#gcn::Graphics_map" border="0" alt=""></center>
<map name="gcn::Graphics_map">
<area href="classgcn_1_1AllegroGraphics.html" alt="gcn::AllegroGraphics" shape="rect" coords="0,56,137,80">
<area href="classgcn_1_1OpenGLGraphics.html" alt="gcn::OpenGLGraphics" shape="rect" coords="147,56,284,80">
<area href="classgcn_1_1SDLGraphics.html" alt="gcn::SDLGraphics" shape="rect" coords="294,56,431,80">
<area href="classgcn_1_1XGraphics.html" alt="gcn::XGraphics" shape="rect" coords="441,56,578,80">
</map>
<a href="classgcn_1_1Graphics-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
Used for drawing graphics. 
<p>
It contains all vital functions for drawing. We include implemented <a class="el" href="classgcn_1_1Graphics.html">Graphics</a> classes for some common platforms like the Allegro library, the OpenGL library and the SDL library. To make Guichan usable under another platform, a <a class="el" href="classgcn_1_1Graphics.html">Graphics</a> class must be implemented.<p>
In <a class="el" href="classgcn_1_1Graphics.html">Graphics</a> you can set clip areas to limit drawing to certain areas of the screen. Clip areas are put on a stack, which means that you can push smaller and smaller clip areas onto the stack. All coordinates will be relative to the topmost clip area. In most cases you won't have to worry about the clip areas, unless you want to implement some really complex widget. Pushing and poping of clip areas are handled automatically by container widgets when their child widgets are drawn.<p>
IMPORTANT: Remember to pop each clip area that you pushed on the stack after you are done with it.<p>
If you feel that <a class="el" href="classgcn_1_1Graphics.html">Graphics</a> is to restrictive for your needs, there is no one stopping you from using your own code for drawing in Widgets. You could for instance use pure SDL in the drawing of Widgets bypassing <a class="el" href="classgcn_1_1Graphics.html">Graphics</a>. This might however hurt portability of your application.<p>
If you implement a <a class="el" href="classgcn_1_1Graphics.html">Graphics</a> class not present in Guichan we would be very happy to add it to Guichan.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classgcn_1_1AllegroGraphics.html">AllegroGraphics</a>, <a class="el" href="classgcn_1_1OpenGLGraphics.html">OpenGLGraphics</a>, <a class="el" href="classgcn_1_1SDLGraphics.html">SDLGraphics</a>, <a class="el" href="classgcn_1_1Image.html">Image</a> </dd></dl>

<p>

<p>
Definition at line <a class="el" href="graphics_8hpp-source.html#l00100">100</a> of file <a class="el" href="graphics_8hpp-source.html">graphics.hpp</a>.<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="574216da9f0635e4c26e8aba95fb44416d4805f8b61e596e250ea9ad61fadfdc"></a><!-- doxytag: member="gcn::Graphics::LEFT" ref="574216da9f0635e4c26e8aba95fb44416d4805f8b61e596e250ea9ad61fadfdc" args="" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>LEFT</b> = 0</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="574216da9f0635e4c26e8aba95fb4441922f83bc619a6d5c9dd3cf322157d505"></a><!-- doxytag: member="gcn::Graphics::CENTER" ref="574216da9f0635e4c26e8aba95fb4441922f83bc619a6d5c9dd3cf322157d505" args="" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>CENTER</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="574216da9f0635e4c26e8aba95fb44416c47ce9c7f1438059e8e6b7eef671cc8"></a><!-- doxytag: member="gcn::Graphics::RIGHT" ref="574216da9f0635e4c26e8aba95fb44416c47ce9c7f1438059e8e6b7eef671cc8" args="" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><b>RIGHT</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <b>LEFT</b> =  0, 
<b>CENTER</b>, 
<b>RIGHT</b>
 }</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Alignments for text drawing. <br></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c999502b315af8b5d974506cdb1e2dcc"></a><!-- doxytag: member="gcn::Graphics::Graphics" ref="c999502b315af8b5d974506cdb1e2dcc" args="()" -->
&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#c999502b315af8b5d974506cdb1e2dcc">Graphics</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b33d3ad4b19455171d22fa1dccae9591"></a><!-- doxytag: member="gcn::Graphics::~Graphics" ref="b33d3ad4b19455171d22fa1dccae9591" args="()" -->
virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#b33d3ad4b19455171d22fa1dccae9591">~Graphics</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#85e8107504f70fa460b844fb2259c653">_beginDraw</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes drawing.  <a href="#85e8107504f70fa460b844fb2259c653"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#f6b9381e34ec34f10e9bbf77b7b00c78">_endDraw</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deinitializes drawing.  <a href="#f6b9381e34ec34f10e9bbf77b7b00c78"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#b8f8773da6aa70f5fb554c2a2815c496">pushClipArea</a> (<a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a> area)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pushes a clip area onto the stack.  <a href="#b8f8773da6aa70f5fb554c2a2815c496"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#11a3be7969db7490df8a02cb4549b443">popClipArea</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes the topmost clip area from the stack.  <a href="#11a3be7969db7490df8a02cb4549b443"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classgcn_1_1ClipRectangle.html">ClipRectangle</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#642535039e421b0530bd85d71b8f7151">getCurrentClipArea</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the current clip area.  <a href="#642535039e421b0530bd85d71b8f7151"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#eb284b30f59d5cfa4c4e25130f4c164e">drawImage</a> (const <a class="el" href="classgcn_1_1Image.html">Image</a> *image, int srcX, int srcY, int dstX, int dstY, int width, int height)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draws a part of an <a class="el" href="classgcn_1_1Image.html">Image</a>.  <a href="#eb284b30f59d5cfa4c4e25130f4c164e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#ed30c3aa213a2d225b1c119b3f5f8d60">drawImage</a> (const <a class="el" href="classgcn_1_1Image.html">Image</a> *image, int dstX, int dstY)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draws an image.  <a href="#ed30c3aa213a2d225b1c119b3f5f8d60"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#dfd989a2a8c6771c6368b25f3977ecf4">drawPoint</a> (int x, int y)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draws a single point/pixel.  <a href="#dfd989a2a8c6771c6368b25f3977ecf4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#92af7e5f5ed6ebf692803bc1bd1d5db5">drawLine</a> (int x1, int y1, int x2, int y2)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ddraws a line.  <a href="#92af7e5f5ed6ebf692803bc1bd1d5db5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#8ffb254f53931ce3809a6f10307fcbf2">drawRectangle</a> (const <a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a> &amp;rectangle)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draws a simple, non-filled, <a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a> with one pixel width.  <a href="#8ffb254f53931ce3809a6f10307fcbf2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#5caac226a94ecf8fdfee1da7cd14f0df">fillRectangle</a> (const <a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a> &amp;rectangle)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draws a filled <a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a>.  <a href="#5caac226a94ecf8fdfee1da7cd14f0df"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#7f438ae2b4cc09c66d77a9b9cb591e7c">setColor</a> (const <a class="el" href="classgcn_1_1Color.html">Color</a> &amp;color)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the <a class="el" href="classgcn_1_1Color.html">Color</a> to use when drawing.  <a href="#7f438ae2b4cc09c66d77a9b9cb591e7c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classgcn_1_1Color.html">Color</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#509769aaeb7356cd0f595f3ddb962e49">getColor</a> ()=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the <a class="el" href="classgcn_1_1Color.html">Color</a> to use when drawing.  <a href="#509769aaeb7356cd0f595f3ddb962e49"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#7415290eb8b075fae0b4a6fce3912f4e">setFont</a> (<a class="el" href="classgcn_1_1Font.html">Font</a> *font)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the font to use when drawing text.  <a href="#7415290eb8b075fae0b4a6fce3912f4e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#664fcd573d3e002d9096abdb8ce3279e">drawText</a> (const std::string &amp;text, int x, int y, unsigned int alignment=LEFT)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draws text.  <a href="#664fcd573d3e002d9096abdb8ce3279e"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="08be42a39b774cd0ee449a8cc76cc84b"></a><!-- doxytag: member="gcn::Graphics::mClipStack" ref="08be42a39b774cd0ee449a8cc76cc84b" args="" -->
std::stack&lt; <a class="el" href="classgcn_1_1ClipRectangle.html">ClipRectangle</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#08be42a39b774cd0ee449a8cc76cc84b">mClipStack</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f58494bcfd95382cb7af4f0d573b8b1a"></a><!-- doxytag: member="gcn::Graphics::mFont" ref="f58494bcfd95382cb7af4f0d573b8b1a" args="" -->
<a class="el" href="classgcn_1_1Font.html">Font</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgcn_1_1Graphics.html#f58494bcfd95382cb7af4f0d573b8b1a">mFont</a></td></tr>

</table>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="85e8107504f70fa460b844fb2259c653"></a><!-- doxytag: member="gcn::Graphics::_beginDraw" ref="85e8107504f70fa460b844fb2259c653" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void gcn::Graphics::_beginDraw           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initializes drawing. 
<p>
Called by the <a class="el" href="classgcn_1_1Gui.html">Gui</a> when <a class="el" href="classgcn_1_1Gui.html#d231f982fb8182b16ecf11075054f4ac">Gui::draw()</a> is called. It is needed by some implementations of <a class="el" href="classgcn_1_1Graphics.html">Graphics</a> to perform preparations before drawing. An example of such an implementation would be <a class="el" href="classgcn_1_1OpenGLGraphics.html">OpenGLGraphics</a>.<p>
NOTE: You will never need to call this function yourself. <a class="el" href="classgcn_1_1Gui.html">Gui</a> will do it for you.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classgcn_1_1Graphics.html#f6b9381e34ec34f10e9bbf77b7b00c78">_endDraw</a>, <a class="el" href="classgcn_1_1Gui.html#d231f982fb8182b16ecf11075054f4ac">Gui::draw</a> </dd></dl>

<p>
Reimplemented in <a class="el" href="classgcn_1_1AllegroGraphics.html#e24081654c9ceb99262650e8b1fb02aa">gcn::AllegroGraphics</a>, <a class="el" href="classgcn_1_1OpenGLGraphics.html#48173540d3ea957c6ecb7baeb4e48772">gcn::OpenGLGraphics</a>, and <a class="el" href="classgcn_1_1SDLGraphics.html#8a551d5159bb79dd7d77cd081f5d9c78">gcn::SDLGraphics</a>.
<p>
Definition at line <a class="el" href="graphics_8hpp-source.html#l00118">118</a> of file <a class="el" href="graphics_8hpp-source.html">graphics.hpp</a>.
<p>
Referenced by <a class="el" href="gui_8cpp-source.html#l00270">gcn::Gui::draw()</a>.
</div>
</div><p>
<a class="anchor" name="f6b9381e34ec34f10e9bbf77b7b00c78"></a><!-- doxytag: member="gcn::Graphics::_endDraw" ref="f6b9381e34ec34f10e9bbf77b7b00c78" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void gcn::Graphics::_endDraw           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Deinitializes drawing. 
<p>
Called by the <a class="el" href="classgcn_1_1Gui.html">Gui</a> when a <a class="el" href="classgcn_1_1Gui.html#d231f982fb8182b16ecf11075054f4ac">Gui::draw()</a> is done. done. It should reset any state changes made by <a class="el" href="classgcn_1_1Graphics.html#85e8107504f70fa460b844fb2259c653">_beginDraw()</a>.<p>
NOTE: You will never need to call this function yourself. <a class="el" href="classgcn_1_1Gui.html">Gui</a> will do it for you.<p>
<dl compact><dt><b>See also:</b></dt><dd><a class="el" href="classgcn_1_1Graphics.html#85e8107504f70fa460b844fb2259c653">_beginDraw</a>, <a class="el" href="classgcn_1_1Gui.html#d231f982fb8182b16ecf11075054f4ac">Gui::draw</a> </dd></dl>

<p>
Reimplemented in <a class="el" href="classgcn_1_1AllegroGraphics.html#f1486b206791e2c8e36d9fe041ae0af6">gcn::AllegroGraphics</a>, <a class="el" href="classgcn_1_1OpenGLGraphics.html#bf1f271776344b1aa28b5eb0faf8bc1d">gcn::OpenGLGraphics</a>, and <a class="el" href="classgcn_1_1SDLGraphics.html#1ec61016736b34271f60e3a88d65c1b7">gcn::SDLGraphics</a>.
<p>
Definition at line <a class="el" href="graphics_8hpp-source.html#l00129">129</a> of file <a class="el" href="graphics_8hpp-source.html">graphics.hpp</a>.
<p>
Referenced by <a class="el" href="gui_8cpp-source.html#l00270">gcn::Gui::draw()</a>.
</div>
</div><p>
<a class="anchor" name="ed30c3aa213a2d225b1c119b3f5f8d60"></a><!-- doxytag: member="gcn::Graphics::drawImage" ref="ed30c3aa213a2d225b1c119b3f5f8d60" args="(const Image *image, int dstX, int dstY)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gcn::Graphics::drawImage           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgcn_1_1Image.html">Image</a> *&nbsp;</td>
          <td class="paramname"> <em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>dstX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>dstY</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Draws an image. 
<p>
A simplified version of the other drawImage. It will draw a whole image at the coordinate you specify. It is equivalent to calling: <div class="fragment"><pre class="fragment"> <a class="code" href="classgcn_1_1Graphics.html#eb284b30f59d5cfa4c4e25130f4c164e">drawImage</a>(myImage, 0, 0, dstX, dstY, image-&gt;getWidth(), \
         image-&gt;getHeight()); 
</pre></div> 
<p>
Definition at line <a class="el" href="graphics_8cpp-source.html#l00124">124</a> of file <a class="el" href="graphics_8cpp-source.html">graphics.cpp</a>.
<p>
References <a class="el" href="classgcn_1_1Graphics.html#eb284b30f59d5cfa4c4e25130f4c164e">drawImage()</a>, <a class="el" href="classgcn_1_1Image.html#09df6a36dc5a76a75a0dd5720f40ee0d">gcn::Image::getHeight()</a>, and <a class="el" href="classgcn_1_1Image.html#a367cc8121c1f01a541e615b0a27497c">gcn::Image::getWidth()</a>.
</div>
</div><p>
<a class="anchor" name="eb284b30f59d5cfa4c4e25130f4c164e"></a><!-- doxytag: member="gcn::Graphics::drawImage" ref="eb284b30f59d5cfa4c4e25130f4c164e" args="(const Image *image, int srcX, int srcY, int dstX, int dstY, int width, int height)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void gcn::Graphics::drawImage           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgcn_1_1Image.html">Image</a> *&nbsp;</td>
          <td class="paramname"> <em>image</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>srcX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>srcY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>dstX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>dstY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>height</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Draws a part of an <a class="el" href="classgcn_1_1Image.html">Image</a>. 
<p>
NOTE: Width and height arguments will not scale the <a class="el" href="classgcn_1_1Image.html">Image</a> but specifies the size of the part to be drawn. If you want to draw the whole <a class="el" href="classgcn_1_1Image.html">Image</a> there is a simplified version of this function.<p>
EXAMPLE:<div class="fragment"><pre class="fragment"> <a class="code" href="classgcn_1_1Graphics.html#eb284b30f59d5cfa4c4e25130f4c164e">drawImage</a>(myImage, 10, 10, 20, 20, 40, 40); 
</pre></div> Will draw a rectangular piece of myImage starting at coordinate (10, 10) in myImage, with width and height 40. The piece will be drawn with it's top left corner at coordinate (20, 20).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>image</em>&nbsp;</td><td>the <a class="el" href="classgcn_1_1Image.html">Image</a> to draw. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>srcX</em>&nbsp;</td><td>source <a class="el" href="classgcn_1_1Image.html">Image</a> x coordinate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>srcY</em>&nbsp;</td><td>source <a class="el" href="classgcn_1_1Image.html">Image</a> y coordinate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dstX</em>&nbsp;</td><td>destination x coordinate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dstY</em>&nbsp;</td><td>destination y coordinate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>the width of the piece. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>height</em>&nbsp;</td><td>the height of the piece. </td></tr>
  </table>
</dl>

<p>
Implemented in <a class="el" href="classgcn_1_1AllegroGraphics.html#b1ad02d9002e5979dcc5fbca06778c72">gcn::AllegroGraphics</a>, <a class="el" href="classgcn_1_1OpenGLGraphics.html#515a05b859bbdbecf484423f74c862fd">gcn::OpenGLGraphics</a>, and <a class="el" href="classgcn_1_1SDLGraphics.html#daaf65022086f36b9aa4d9190fd092f0">gcn::SDLGraphics</a>.
<p>
Referenced by <a class="el" href="icon_8cpp-source.html#l00077">gcn::Icon::draw()</a>, <a class="el" href="imagefont_8cpp-source.html#l00182">gcn::ImageFont::drawGlyph()</a>, and <a class="el" href="graphics_8cpp-source.html#l00124">drawImage()</a>.
</div>
</div><p>
<a class="anchor" name="92af7e5f5ed6ebf692803bc1bd1d5db5"></a><!-- doxytag: member="gcn::Graphics::drawLine" ref="92af7e5f5ed6ebf692803bc1bd1d5db5" args="(int x1, int y1, int x2, int y2)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void gcn::Graphics::drawLine           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Ddraws a line. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x1</em>&nbsp;</td><td>the first x coordinate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y1</em>&nbsp;</td><td>the first y coordinate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>x2</em>&nbsp;</td><td>the second x coordinate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y2</em>&nbsp;</td><td>the second y coordinate. </td></tr>
  </table>
</dl>

<p>
Implemented in <a class="el" href="classgcn_1_1AllegroGraphics.html#6049604dc6d7f3eaaba111193b2a4950">gcn::AllegroGraphics</a>, <a class="el" href="classgcn_1_1OpenGLGraphics.html#a6408f704c9900d9aea987e84a234e1c">gcn::OpenGLGraphics</a>, and <a class="el" href="classgcn_1_1SDLGraphics.html#dcb7d5d91da928a92c82ad1fc5fba273">gcn::SDLGraphics</a>.
<p>
Referenced by <a class="el" href="window_8cpp-source.html#l00139">gcn::Window::draw()</a>, <a class="el" href="button_8cpp-source.html#l00120">gcn::Button::draw()</a>, <a class="el" href="window_8cpp-source.html#l00232">gcn::Window::drawBorder()</a>, <a class="el" href="textfield_8cpp-source.html#l00124">gcn::TextField::drawBorder()</a>, <a class="el" href="textbox_8cpp-source.html#l00159">gcn::TextBox::drawBorder()</a>, <a class="el" href="slider_8cpp-source.html#l00144">gcn::Slider::drawBorder()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00451">gcn::ScrollArea::drawBorder()</a>, <a class="el" href="radiobutton_8cpp-source.html#l00119">gcn::RadioButton::drawBorder()</a>, <a class="el" href="listbox_8cpp-source.html#l00130">gcn::ListBox::drawBorder()</a>, <a class="el" href="label_8cpp-source.html#l00128">gcn::Label::drawBorder()</a>, <a class="el" href="icon_8cpp-source.html#l00083">gcn::Icon::drawBorder()</a>, <a class="el" href="dropdown_8cpp-source.html#l00193">gcn::DropDown::drawBorder()</a>, <a class="el" href="container_8cpp-source.html#l00090">gcn::Container::drawBorder()</a>, <a class="el" href="checkbox_8cpp-source.html#l00109">gcn::CheckBox::drawBorder()</a>, <a class="el" href="button_8cpp-source.html#l00192">gcn::Button::drawBorder()</a>, <a class="el" href="radiobutton_8cpp-source.html#l00143">gcn::RadioButton::drawBox()</a>, <a class="el" href="checkbox_8cpp-source.html#l00133">gcn::CheckBox::drawBox()</a>, <a class="el" href="dropdown_8cpp-source.html#l00217">gcn::DropDown::drawButton()</a>, <a class="el" href="textfield_8cpp-source.html#l00148">gcn::TextField::drawCaret()</a>, <a class="el" href="textbox_8cpp-source.html#l00176">gcn::TextBox::drawCaret()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00584">gcn::ScrollArea::drawDownButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00475">gcn::ScrollArea::drawHBar()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00794">gcn::ScrollArea::drawHMarker()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00645">gcn::ScrollArea::drawLeftButton()</a>, <a class="el" href="slider_8cpp-source.html#l00168">gcn::Slider::drawMarker()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00706">gcn::ScrollArea::drawRightButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00523">gcn::ScrollArea::drawUpButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00496">gcn::ScrollArea::drawVBar()</a>, and <a class="el" href="scrollarea_8cpp-source.html#l00767">gcn::ScrollArea::drawVMarker()</a>.
</div>
</div><p>
<a class="anchor" name="dfd989a2a8c6771c6368b25f3977ecf4"></a><!-- doxytag: member="gcn::Graphics::drawPoint" ref="dfd989a2a8c6771c6368b25f3977ecf4" args="(int x, int y)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void gcn::Graphics::drawPoint           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Draws a single point/pixel. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>the x coordinate. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>the y coordinate. </td></tr>
  </table>
</dl>

<p>
Implemented in <a class="el" href="classgcn_1_1AllegroGraphics.html#6beb651f23c74cb4d8f526bd8faa1e8a">gcn::AllegroGraphics</a>, <a class="el" href="classgcn_1_1OpenGLGraphics.html#8094c24245810cd52f069c15b3c98b9b">gcn::OpenGLGraphics</a>, and <a class="el" href="classgcn_1_1SDLGraphics.html#5f670d60ecbf4b716f005db098363915">gcn::SDLGraphics</a>.
</div>
</div><p>
<a class="anchor" name="8ffb254f53931ce3809a6f10307fcbf2"></a><!-- doxytag: member="gcn::Graphics::drawRectangle" ref="8ffb254f53931ce3809a6f10307fcbf2" args="(const Rectangle &amp;rectangle)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void gcn::Graphics::drawRectangle           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rectangle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Draws a simple, non-filled, <a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a> with one pixel width. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rectangle</em>&nbsp;</td><td>the <a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a> to draw. </td></tr>
  </table>
</dl>

<p>
Implemented in <a class="el" href="classgcn_1_1AllegroGraphics.html#e3030be722ca5cc674b7889475e79a8c">gcn::AllegroGraphics</a>, <a class="el" href="classgcn_1_1OpenGLGraphics.html#e9dac9f5422443c7acbe239d5bca0437">gcn::OpenGLGraphics</a>, and <a class="el" href="classgcn_1_1SDLGraphics.html#17607f95e7af8fc9c55d112753ef9873">gcn::SDLGraphics</a>.
<p>
Referenced by <a class="el" href="radiobutton_8cpp-source.html#l00102">gcn::RadioButton::draw()</a>, <a class="el" href="listbox_8cpp-source.html#l00096">gcn::ListBox::draw()</a>, <a class="el" href="dropdown_8cpp-source.html#l00140">gcn::DropDown::draw()</a>, <a class="el" href="checkbox_8cpp-source.html#l00092">gcn::CheckBox::draw()</a>, <a class="el" href="button_8cpp-source.html#l00120">gcn::Button::draw()</a>, <a class="el" href="imagefont_8cpp-source.html#l00182">gcn::ImageFont::drawGlyph()</a>, <a class="el" href="defaultfont_8cpp-source.html#l00080">gcn::DefaultFont::drawGlyph()</a>, and <a class="el" href="slider_8cpp-source.html#l00168">gcn::Slider::drawMarker()</a>.
</div>
</div><p>
<a class="anchor" name="664fcd573d3e002d9096abdb8ce3279e"></a><!-- doxytag: member="gcn::Graphics::drawText" ref="664fcd573d3e002d9096abdb8ce3279e" args="(const std::string &amp;text, int x, int y, unsigned int alignment=LEFT)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gcn::Graphics::drawText           </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&nbsp;</td>
          <td class="paramname"> <em>text</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>alignment</em> = <code>LEFT</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Draws text. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>the text to draw. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>the x coordinate where to draw the text. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>the y coordinate where to draw the text. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>alignment</em>&nbsp;</td><td>Graphics::LEFT, Graphics::CENTER or Graphics::RIGHT. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classgcn_1_1Exception.html">Exception</a></em>&nbsp;</td><td>when no <a class="el" href="classgcn_1_1Font.html">Font</a> is set. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="graphics_8cpp-source.html#l00134">134</a> of file <a class="el" href="graphics_8cpp-source.html">graphics.cpp</a>.
<p>
References <a class="el" href="classgcn_1_1Font.html#055c403050f483cc2c67477443d98eee">gcn::Font::drawString()</a>, <a class="el" href="classgcn_1_1Font.html#bb88894b1ebeda28edcac75c537f8e0f">gcn::Font::getWidth()</a>, and <a class="el" href="graphics_8hpp-source.html#l00269">mFont</a>.
<p>
Referenced by <a class="el" href="window_8cpp-source.html#l00139">gcn::Window::draw()</a>, <a class="el" href="textfield_8cpp-source.html#l00108">gcn::TextField::draw()</a>, <a class="el" href="textbox_8cpp-source.html#l00134">gcn::TextBox::draw()</a>, <a class="el" href="radiobutton_8cpp-source.html#l00102">gcn::RadioButton::draw()</a>, <a class="el" href="listbox_8cpp-source.html#l00096">gcn::ListBox::draw()</a>, <a class="el" href="label_8cpp-source.html#l00103">gcn::Label::draw()</a>, <a class="el" href="dropdown_8cpp-source.html#l00140">gcn::DropDown::draw()</a>, <a class="el" href="checkbox_8cpp-source.html#l00092">gcn::CheckBox::draw()</a>, and <a class="el" href="button_8cpp-source.html#l00120">gcn::Button::draw()</a>.
</div>
</div><p>
<a class="anchor" name="5caac226a94ecf8fdfee1da7cd14f0df"></a><!-- doxytag: member="gcn::Graphics::fillRectangle" ref="5caac226a94ecf8fdfee1da7cd14f0df" args="(const Rectangle &amp;rectangle)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void gcn::Graphics::fillRectangle           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>rectangle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Draws a filled <a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a>. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>rectangle</em>&nbsp;</td><td>the filled <a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a> to draw. </td></tr>
  </table>
</dl>

<p>
Implemented in <a class="el" href="classgcn_1_1AllegroGraphics.html#e00f1703f8cf09eb7bbc262dd06da4cf">gcn::AllegroGraphics</a>, <a class="el" href="classgcn_1_1OpenGLGraphics.html#c8285ce172eb77ccecc2eceb8c0f1715">gcn::OpenGLGraphics</a>, and <a class="el" href="classgcn_1_1SDLGraphics.html#8d3fba4fa40d9d5ef436b836dfd25804">gcn::SDLGraphics</a>.
<p>
Referenced by <a class="el" href="window_8cpp-source.html#l00139">gcn::Window::draw()</a>, <a class="el" href="textfield_8cpp-source.html#l00108">gcn::TextField::draw()</a>, <a class="el" href="textbox_8cpp-source.html#l00134">gcn::TextBox::draw()</a>, <a class="el" href="slider_8cpp-source.html#l00132">gcn::Slider::draw()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00419">gcn::ScrollArea::draw()</a>, <a class="el" href="listbox_8cpp-source.html#l00096">gcn::ListBox::draw()</a>, <a class="el" href="dropdown_8cpp-source.html#l00140">gcn::DropDown::draw()</a>, <a class="el" href="container_8cpp-source.html#l00079">gcn::Container::draw()</a>, <a class="el" href="button_8cpp-source.html#l00120">gcn::Button::draw()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00517">gcn::ScrollArea::drawBackground()</a>, <a class="el" href="checkbox_8cpp-source.html#l00133">gcn::CheckBox::drawBox()</a>, <a class="el" href="dropdown_8cpp-source.html#l00217">gcn::DropDown::drawButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00584">gcn::ScrollArea::drawDownButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00475">gcn::ScrollArea::drawHBar()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00794">gcn::ScrollArea::drawHMarker()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00645">gcn::ScrollArea::drawLeftButton()</a>, <a class="el" href="slider_8cpp-source.html#l00168">gcn::Slider::drawMarker()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00706">gcn::ScrollArea::drawRightButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00523">gcn::ScrollArea::drawUpButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00496">gcn::ScrollArea::drawVBar()</a>, and <a class="el" href="scrollarea_8cpp-source.html#l00767">gcn::ScrollArea::drawVMarker()</a>.
</div>
</div><p>
<a class="anchor" name="509769aaeb7356cd0f595f3ddb962e49"></a><!-- doxytag: member="gcn::Graphics::getColor" ref="509769aaeb7356cd0f595f3ddb962e49" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="classgcn_1_1Color.html">Color</a>&amp; gcn::Graphics::getColor           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the <a class="el" href="classgcn_1_1Color.html">Color</a> to use when drawing. 
<p>
<dl compact><dt><b>Returns:</b></dt><dd>the <a class="el" href="classgcn_1_1Color.html">Color</a> used when drawing. </dd></dl>

<p>
Implemented in <a class="el" href="classgcn_1_1AllegroGraphics.html#e269ffdfa72dd3c223d4b61fb6b810d7">gcn::AllegroGraphics</a>, <a class="el" href="classgcn_1_1OpenGLGraphics.html#b14f58fff9092bbdd4b8e2a03df3d0fd">gcn::OpenGLGraphics</a>, and <a class="el" href="classgcn_1_1SDLGraphics.html#64363f22dce7278007350cfab8569d58">gcn::SDLGraphics</a>.
</div>
</div><p>
<a class="anchor" name="642535039e421b0530bd85d71b8f7151"></a><!-- doxytag: member="gcn::Graphics::getCurrentClipArea" ref="642535039e421b0530bd85d71b8f7151" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classgcn_1_1ClipRectangle.html">ClipRectangle</a> &amp; gcn::Graphics::getCurrentClipArea           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the current clip area. 
<p>
Usefull if you want to do drawing bypassing <a class="el" href="classgcn_1_1Graphics.html">Graphics</a>.<p>
<dl compact><dt><b>Returns:</b></dt><dd>the current clip area. </dd></dl>

<p>
Definition at line <a class="el" href="graphics_8cpp-source.html#l00114">114</a> of file <a class="el" href="graphics_8cpp-source.html">graphics.cpp</a>.
<p>
References <a class="el" href="graphics_8hpp-source.html#l00268">mClipStack</a>.
</div>
</div><p>
<a class="anchor" name="11a3be7969db7490df8a02cb4549b443"></a><!-- doxytag: member="gcn::Graphics::popClipArea" ref="11a3be7969db7490df8a02cb4549b443" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gcn::Graphics::popClipArea           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Removes the topmost clip area from the stack. 
<p>
<dl compact><dt><b>Exceptions:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em><a class="el" href="classgcn_1_1Exception.html">Exception</a></em>&nbsp;</td><td>if the stack is empty. </td></tr>
  </table>
</dl>

<p>
Reimplemented in <a class="el" href="classgcn_1_1AllegroGraphics.html#af9f07d3b1f373beebb838dd6ba30a13">gcn::AllegroGraphics</a>, <a class="el" href="classgcn_1_1OpenGLGraphics.html#2435ae6ef201cfcec0500c27115087bd">gcn::OpenGLGraphics</a>, and <a class="el" href="classgcn_1_1SDLGraphics.html#6876d1027cb3feb4a413e3e854812a4b">gcn::SDLGraphics</a>.
<p>
Definition at line <a class="el" href="graphics_8cpp-source.html#l00103">103</a> of file <a class="el" href="graphics_8cpp-source.html">graphics.cpp</a>.
<p>
References <a class="el" href="graphics_8hpp-source.html#l00268">mClipStack</a>.
<p>
Referenced by <a class="el" href="gui_8cpp-source.html#l00270">gcn::Gui::draw()</a>, <a class="el" href="basiccontainer_8cpp-source.html#l00427">gcn::BasicContainer::drawChildren()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00584">gcn::ScrollArea::drawDownButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00475">gcn::ScrollArea::drawHBar()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00794">gcn::ScrollArea::drawHMarker()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00645">gcn::ScrollArea::drawLeftButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00706">gcn::ScrollArea::drawRightButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00523">gcn::ScrollArea::drawUpButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00496">gcn::ScrollArea::drawVBar()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00767">gcn::ScrollArea::drawVMarker()</a>, <a class="el" href="sdlgraphics_8cpp-source.html#l00119">gcn::SDLGraphics::popClipArea()</a>, <a class="el" href="openglgraphics_8cpp-source.html#l00180">gcn::OpenGLGraphics::popClipArea()</a>, and <a class="el" href="allegrographics_8cpp-source.html#l00138">gcn::AllegroGraphics::popClipArea()</a>.
</div>
</div><p>
<a class="anchor" name="b8f8773da6aa70f5fb554c2a2815c496"></a><!-- doxytag: member="gcn::Graphics::pushClipArea" ref="b8f8773da6aa70f5fb554c2a2815c496" args="(Rectangle area)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool gcn::Graphics::pushClipArea           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a>&nbsp;</td>
          <td class="paramname"> <em>area</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pushes a clip area onto the stack. 
<p>
The x and y coordinates in the <a class="el" href="classgcn_1_1Rectangle.html">Rectangle</a> will be relative to the last pushed clip area. If the new area falls outside the current clip area, it will be clipped as necessary.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>area</em>&nbsp;</td><td>the clip area to be pushed onto the stack. </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>false if the the new area lays totally outside the current clip area. Note that an empty clip area will be pused in this case. </dd></dl>

<p>
Reimplemented in <a class="el" href="classgcn_1_1AllegroGraphics.html#3d53051aa0b0037bc6d7da218690c447">gcn::AllegroGraphics</a>, <a class="el" href="classgcn_1_1OpenGLGraphics.html#d1929d5ca4171cf22158b3c6235de3b3">gcn::OpenGLGraphics</a>, and <a class="el" href="classgcn_1_1SDLGraphics.html#1fbd23bf7540f15bb9e07ee378d60e25">gcn::SDLGraphics</a>.
<p>
Definition at line <a class="el" href="graphics_8cpp-source.html#l00075">75</a> of file <a class="el" href="graphics_8cpp-source.html">graphics.cpp</a>.
<p>
References <a class="el" href="rectangle_8hpp-source.html#l00114">gcn::Rectangle::height</a>, <a class="el" href="rectangle_8cpp-source.html#l00089">gcn::Rectangle::intersect()</a>, <a class="el" href="graphics_8hpp-source.html#l00268">mClipStack</a>, <a class="el" href="rectangle_8hpp-source.html#l00113">gcn::Rectangle::width</a>, <a class="el" href="rectangle_8hpp-source.html#l00111">gcn::Rectangle::x</a>, <a class="el" href="cliprectangle_8hpp-source.html#l00102">gcn::ClipRectangle::xOffset</a>, <a class="el" href="rectangle_8hpp-source.html#l00112">gcn::Rectangle::y</a>, and <a class="el" href="cliprectangle_8hpp-source.html#l00107">gcn::ClipRectangle::yOffset</a>.
<p>
Referenced by <a class="el" href="gui_8cpp-source.html#l00270">gcn::Gui::draw()</a>, <a class="el" href="basiccontainer_8cpp-source.html#l00427">gcn::BasicContainer::drawChildren()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00584">gcn::ScrollArea::drawDownButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00475">gcn::ScrollArea::drawHBar()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00794">gcn::ScrollArea::drawHMarker()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00645">gcn::ScrollArea::drawLeftButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00706">gcn::ScrollArea::drawRightButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00523">gcn::ScrollArea::drawUpButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00496">gcn::ScrollArea::drawVBar()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00767">gcn::ScrollArea::drawVMarker()</a>, <a class="el" href="sdlgraphics_8cpp-source.html#l00103">gcn::SDLGraphics::pushClipArea()</a>, <a class="el" href="openglgraphics_8cpp-source.html#l00168">gcn::OpenGLGraphics::pushClipArea()</a>, and <a class="el" href="allegrographics_8cpp-source.html#l00112">gcn::AllegroGraphics::pushClipArea()</a>.
</div>
</div><p>
<a class="anchor" name="7f438ae2b4cc09c66d77a9b9cb591e7c"></a><!-- doxytag: member="gcn::Graphics::setColor" ref="7f438ae2b4cc09c66d77a9b9cb591e7c" args="(const Color &amp;color)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void gcn::Graphics::setColor           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgcn_1_1Color.html">Color</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>color</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the <a class="el" href="classgcn_1_1Color.html">Color</a> to use when drawing. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>color</em>&nbsp;</td><td>a <a class="el" href="classgcn_1_1Color.html">Color</a>. </td></tr>
  </table>
</dl>

<p>
Implemented in <a class="el" href="classgcn_1_1AllegroGraphics.html#88f2a226c34af98a72f9a24890dfc8bf">gcn::AllegroGraphics</a>, <a class="el" href="classgcn_1_1OpenGLGraphics.html#bc2a3c312c4d56a0e806eea924bcf400">gcn::OpenGLGraphics</a>, and <a class="el" href="classgcn_1_1SDLGraphics.html#26298c36c21fc6e16b02a932627adae6">gcn::SDLGraphics</a>.
<p>
Referenced by <a class="el" href="window_8cpp-source.html#l00139">gcn::Window::draw()</a>, <a class="el" href="textfield_8cpp-source.html#l00108">gcn::TextField::draw()</a>, <a class="el" href="textbox_8cpp-source.html#l00134">gcn::TextBox::draw()</a>, <a class="el" href="slider_8cpp-source.html#l00132">gcn::Slider::draw()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00419">gcn::ScrollArea::draw()</a>, <a class="el" href="radiobutton_8cpp-source.html#l00102">gcn::RadioButton::draw()</a>, <a class="el" href="listbox_8cpp-source.html#l00096">gcn::ListBox::draw()</a>, <a class="el" href="label_8cpp-source.html#l00103">gcn::Label::draw()</a>, <a class="el" href="dropdown_8cpp-source.html#l00140">gcn::DropDown::draw()</a>, <a class="el" href="container_8cpp-source.html#l00079">gcn::Container::draw()</a>, <a class="el" href="checkbox_8cpp-source.html#l00092">gcn::CheckBox::draw()</a>, <a class="el" href="button_8cpp-source.html#l00120">gcn::Button::draw()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00517">gcn::ScrollArea::drawBackground()</a>, <a class="el" href="window_8cpp-source.html#l00232">gcn::Window::drawBorder()</a>, <a class="el" href="textfield_8cpp-source.html#l00124">gcn::TextField::drawBorder()</a>, <a class="el" href="textbox_8cpp-source.html#l00159">gcn::TextBox::drawBorder()</a>, <a class="el" href="slider_8cpp-source.html#l00144">gcn::Slider::drawBorder()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00451">gcn::ScrollArea::drawBorder()</a>, <a class="el" href="radiobutton_8cpp-source.html#l00119">gcn::RadioButton::drawBorder()</a>, <a class="el" href="listbox_8cpp-source.html#l00130">gcn::ListBox::drawBorder()</a>, <a class="el" href="label_8cpp-source.html#l00128">gcn::Label::drawBorder()</a>, <a class="el" href="icon_8cpp-source.html#l00083">gcn::Icon::drawBorder()</a>, <a class="el" href="dropdown_8cpp-source.html#l00193">gcn::DropDown::drawBorder()</a>, <a class="el" href="container_8cpp-source.html#l00090">gcn::Container::drawBorder()</a>, <a class="el" href="checkbox_8cpp-source.html#l00109">gcn::CheckBox::drawBorder()</a>, <a class="el" href="button_8cpp-source.html#l00192">gcn::Button::drawBorder()</a>, <a class="el" href="radiobutton_8cpp-source.html#l00143">gcn::RadioButton::drawBox()</a>, <a class="el" href="checkbox_8cpp-source.html#l00133">gcn::CheckBox::drawBox()</a>, <a class="el" href="dropdown_8cpp-source.html#l00217">gcn::DropDown::drawButton()</a>, <a class="el" href="textfield_8cpp-source.html#l00148">gcn::TextField::drawCaret()</a>, <a class="el" href="textbox_8cpp-source.html#l00176">gcn::TextBox::drawCaret()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00584">gcn::ScrollArea::drawDownButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00475">gcn::ScrollArea::drawHBar()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00794">gcn::ScrollArea::drawHMarker()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00645">gcn::ScrollArea::drawLeftButton()</a>, <a class="el" href="slider_8cpp-source.html#l00168">gcn::Slider::drawMarker()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00706">gcn::ScrollArea::drawRightButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00523">gcn::ScrollArea::drawUpButton()</a>, <a class="el" href="scrollarea_8cpp-source.html#l00496">gcn::ScrollArea::drawVBar()</a>, and <a class="el" href="scrollarea_8cpp-source.html#l00767">gcn::ScrollArea::drawVMarker()</a>.
</div>
</div><p>
<a class="anchor" name="7415290eb8b075fae0b4a6fce3912f4e"></a><!-- doxytag: member="gcn::Graphics::setFont" ref="7415290eb8b075fae0b4a6fce3912f4e" args="(Font *font)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void gcn::Graphics::setFont           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgcn_1_1Font.html">Font</a> *&nbsp;</td>
          <td class="paramname"> <em>font</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the font to use when drawing text. 
<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>font</em>&nbsp;</td><td>the <a class="el" href="classgcn_1_1Font.html">Font</a> to use when drawing. </td></tr>
  </table>
</dl>

<p>
Definition at line <a class="el" href="graphics_8cpp-source.html#l00129">129</a> of file <a class="el" href="graphics_8cpp-source.html">graphics.cpp</a>.
<p>
References <a class="el" href="graphics_8hpp-source.html#l00269">mFont</a>.
<p>
Referenced by <a class="el" href="window_8cpp-source.html#l00139">gcn::Window::draw()</a>, <a class="el" href="textfield_8cpp-source.html#l00108">gcn::TextField::draw()</a>, <a class="el" href="textbox_8cpp-source.html#l00134">gcn::TextBox::draw()</a>, <a class="el" href="radiobutton_8cpp-source.html#l00102">gcn::RadioButton::draw()</a>, <a class="el" href="listbox_8cpp-source.html#l00096">gcn::ListBox::draw()</a>, <a class="el" href="label_8cpp-source.html#l00103">gcn::Label::draw()</a>, <a class="el" href="dropdown_8cpp-source.html#l00140">gcn::DropDown::draw()</a>, <a class="el" href="checkbox_8cpp-source.html#l00092">gcn::CheckBox::draw()</a>, and <a class="el" href="button_8cpp-source.html#l00120">gcn::Button::draw()</a>.
</div>
</div><p>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="graphics_8hpp-source.html">graphics.hpp</a><li><a class="el" href="graphics_8cpp-source.html">graphics.cpp</a></ul>
<hr size="1"><address style="align: right;"><small>Generated on Sat Jul 29 19:38:48 2006 for Guichan by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
</body>
</html>