summaryrefslogtreecommitdiff
path: root/docs/html/class_game_panel.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/class_game_panel.html')
-rw-r--r--docs/html/class_game_panel.html580
1 files changed, 580 insertions, 0 deletions
diff --git a/docs/html/class_game_panel.html b/docs/html/class_game_panel.html
new file mode 100644
index 0000000..ec424e9
--- /dev/null
+++ b/docs/html/class_game_panel.html
@@ -0,0 +1,580 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<title>Rally X: GamePanel Class Reference</title>
+
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+
+</head>
+<body>
+<div id="top"><!-- do not remove this div! -->
+
+
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+
+ <td id="projectlogo"><img alt="Logo" src="car.PNG"/></td>
+
+
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">Rally X
+
+ </div>
+ <div id="projectbrief">ELEN3009 Project by Justin Wernick and David Schneider</div>
+ </td>
+
+
+
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<!-- Generated by Doxygen 1.7.5.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
+ <li><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
+ <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
+ <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
+ <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
+ </ul>
+ </div>
+</div>
+<div class="header">
+ <div class="summary">
+<a href="#pub-methods">Public Member Functions</a> &#124;
+<a href="#pri-methods">Private Member Functions</a> &#124;
+<a href="#pri-attribs">Private Attributes</a> &#124;
+<a href="#pri-static-attribs">Static Private Attributes</a> </div>
+ <div class="headertitle">
+<div class="title">GamePanel Class Reference</div> </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="GamePanel" --><!-- doxytag: inherits="ScreenPanel" -->
+<p><a class="el" href="class_screen_panel.html" title="Parent class for panels that are drawn on the screen.">ScreenPanel</a> to be drawn on the screen to draw the area where the game takes place.
+ <a href="class_game_panel.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="_game_panel_8h_source.html">GamePanel.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for GamePanel:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_game_panel.png" usemap="#GamePanel_map" alt=""/>
+ <map id="GamePanel_map" name="GamePanel_map">
+<area href="class_screen_panel.html" title="Parent class for panels that are drawn on the screen." alt="ScreenPanel" shape="rect" coords="0,0,85,24"/>
+</map>
+ </div></div>
+
+<p><a href="class_game_panel-members.html">List of all members.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-methods"></a>
+Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#a3475820b2255da92e247d07248870044">GamePanel</a> (ALLEGRO_BITMAP *back, ALLEGRO_BITMAP *front, int x, int y, int width, int height)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a <a class="el" href="class_game_panel.html" title="ScreenPanel to be drawn on the screen to draw the area where the game takes place.">GamePanel</a> from the given back and front buffers. <a href="#a3475820b2255da92e247d07248870044"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#ab093fb770fa8b46ee863947259c72abd">draw</a> (const <a class="el" href="class_maze.html">Maze</a> &amp;maze, const list&lt; <a class="el" href="class_player_car.html">PlayerCar</a> &gt; &amp;players, const list&lt; <a class="el" href="class_enemy_car.html">EnemyCar</a> &gt; &amp;enemies, const list&lt; <a class="el" href="class_checkpoint.html">Checkpoint</a> &gt; &amp;checkpoints, const list&lt; <a class="el" href="class_rock.html">Rock</a> &gt; &amp;rocks, const list&lt; <a class="el" href="class_smokescreen.html">Smokescreen</a> &gt; &amp;smokescreens, const list&lt; <a class="el" href="class_destroyed_object_popup.html">DestroyedObjectPopup</a> &gt; &amp;popups)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws the given objects on the screen. <a href="#ab093fb770fa8b46ee863947259c72abd"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="pri-methods"></a>
+Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#ac7699585182c097daab6aeda844b4edd">GamePanel</a> (const <a class="el" href="class_game_panel.html">GamePanel</a> &amp;ref)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor not implemented, ScreenPanels should not be copied. <a href="#ac7699585182c097daab6aeda844b4edd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_game_panel.html">GamePanel</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#afa4391feb9b273eb938531a73b1ec7f2">operator=</a> (const <a class="el" href="class_game_panel.html">GamePanel</a> &amp;rhs)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator not implemented, ScreenPanels should not be copied. <a href="#afa4391feb9b273eb938531a73b1ec7f2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#a53a4386ab0f60db88b3c638b3880cd91">getPanelX</a> (const double &amp;x) const </td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts an x game coordinate value to its equivalent in pixels. <a href="#a53a4386ab0f60db88b3c638b3880cd91"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#a0e722b67c8ee7fe5f557821adf9b8cc2">getPanelY</a> (const double &amp;y) const </td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a y game coordinate value to its equivalent in pixels. <a href="#a0e722b67c8ee7fe5f557821adf9b8cc2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#a93395482993b341b1b72fbb256ce9be9">draw</a> (const <a class="el" href="class_maze.html">Maze</a> &amp;maze)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a <a class="el" href="class_maze.html" title="A rectangular 2D boolean array, representing where cars can drive and where they cannot.">Maze</a> on the screen. <a href="#a93395482993b341b1b72fbb256ce9be9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#acff2b430ecad1310a0a36cfe7c994d2f">draw</a> (const <a class="el" href="class_game_object.html">GameObject</a> &amp;object)</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Draws a single <a class="el" href="class_game_object.html" title="Parent class for objects that are placed in the maze.">GameObject</a> on the screen. <a href="#acff2b430ecad1310a0a36cfe7c994d2f"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="pri-attribs"></a>
+Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#a4889f5f6e1ad713be455d4f69a2cda96">_mazeblockWidth</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The width of one (square) <a class="el" href="class_maze.html" title="A rectangular 2D boolean array, representing where cars can drive and where they cannot.">Maze</a> block on the screen, in pixels. <a href="#a4889f5f6e1ad713be455d4f69a2cda96"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#afe99f100b68ec2475cb0a509887b63a9">_offsetX</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The amount that drawing should be offset to the right, recalculated every frame. <a href="#afe99f100b68ec2475cb0a509887b63a9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#af3354addd707cb42b078dbe2ef29e189">_offsetY</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The amount that drawing should be offset downwards, recalculated every frame. <a href="#af3354addd707cb42b078dbe2ef29e189"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_bitmap_store.html">BitmapStore</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#a0125ff874ffebadc15c7678210914a8c">_bitmapStore</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to cache ALLEGRO_BITMAPs, so that they only need to be drawn once. <a href="#a0125ff874ffebadc15c7678210914a8c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_allegro_init.html">AllegroInit</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#a18c100c8d9ae2601a97083485d937418">_allegro</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles dependencies on Allegro. <a href="#a18c100c8d9ae2601a97083485d937418"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="pri-static-attribs"></a>
+Static Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_game_panel.html#ae60d3f1c29382ad3c6e6b5c5a56d2160">BLOCKS_PER_ROW</a> = 15</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of <a class="el" href="class_maze.html" title="A rectangular 2D boolean array, representing where cars can drive and where they cannot.">Maze</a> blocks in one row shown on the panel at a time. Used to determine the scale. <a href="#ae60d3f1c29382ad3c6e6b5c5a56d2160"></a><br/></td></tr>
+</table>
+<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
+<div class="textblock"><p><a class="el" href="class_screen_panel.html" title="Parent class for panels that are drawn on the screen.">ScreenPanel</a> to be drawn on the screen to draw the area where the game takes place. </p>
+<p>This includes the scrolling maze and all of the GameObjects.</p>
+<dl class="author"><dt><b>Author:</b></dt><dd>Justin Wernick </dd>
+<dd>
+David Schneider </dd></dl>
+
+<p>Definition at line <a class="el" href="_game_panel_8h_source.html#l00023">23</a> of file <a class="el" href="_game_panel_8h_source.html">GamePanel.h</a>.</p>
+</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a3475820b2255da92e247d07248870044"></a><!-- doxytag: member="GamePanel::GamePanel" ref="a3475820b2255da92e247d07248870044" args="(ALLEGRO_BITMAP *back, ALLEGRO_BITMAP *front, int x, int y, int width, int height)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">GamePanel::GamePanel </td>
+ <td>(</td>
+ <td class="paramtype">ALLEGRO_BITMAP *&#160;</td>
+ <td class="paramname"><em>back</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">ALLEGRO_BITMAP *&#160;</td>
+ <td class="paramname"><em>front</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>x</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>y</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>width</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>height</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a <a class="el" href="class_game_panel.html" title="ScreenPanel to be drawn on the screen to draw the area where the game takes place.">GamePanel</a> from the given back and front buffers. </p>
+<p>The sub-bitmaps that <a class="el" href="class_game_panel.html" title="ScreenPanel to be drawn on the screen to draw the area where the game takes place.">GamePanel</a> uses are created from a rectangular region on back and front that has its top left corner at the coordinate x,y, is width long in the x direction, and height long in the y direction.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">back</td><td>The current back buffer of the display being sub-bitmapped. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">front</td><td>The current front buffer (image currently being displayed) of the display being sub-bitmapped. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>The x coordinate of the left side of the sub-bitmap in pixels. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>The x coordinate of the top of the sub-bitmap in pixels. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">width</td><td>The length in the x direction of the new sub-bitmap in pixels. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>The length in the y direction of the new sub-bitmap in pixels. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Definition at line <a class="el" href="_game_panel_8cpp_source.html#l00003">3</a> of file <a class="el" href="_game_panel_8cpp_source.html">GamePanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac7699585182c097daab6aeda844b4edd"></a><!-- doxytag: member="GamePanel::GamePanel" ref="ac7699585182c097daab6aeda844b4edd" args="(const GamePanel &amp;ref)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">GamePanel::GamePanel </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_game_panel.html">GamePanel</a> &amp;&#160;</td>
+ <td class="paramname"><em>ref</em></td><td>)</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Copy constructor not implemented, ScreenPanels should not be copied. </p>
+
+</div>
+</div>
+<hr/><h2>Member Function Documentation</h2>
+<a class="anchor" id="ab093fb770fa8b46ee863947259c72abd"></a><!-- doxytag: member="GamePanel::draw" ref="ab093fb770fa8b46ee863947259c72abd" args="(const Maze &amp;maze, const list&lt; PlayerCar &gt; &amp;players, const list&lt; EnemyCar &gt; &amp;enemies, const list&lt; Checkpoint &gt; &amp;checkpoints, const list&lt; Rock &gt; &amp;rocks, const list&lt; Smokescreen &gt; &amp;smokescreens, const list&lt; DestroyedObjectPopup &gt; &amp;popups)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void GamePanel::draw </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_maze.html">Maze</a> &amp;&#160;</td>
+ <td class="paramname"><em>maze</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const list&lt; <a class="el" href="class_player_car.html">PlayerCar</a> &gt; &amp;&#160;</td>
+ <td class="paramname"><em>players</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const list&lt; <a class="el" href="class_enemy_car.html">EnemyCar</a> &gt; &amp;&#160;</td>
+ <td class="paramname"><em>enemies</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const list&lt; <a class="el" href="class_checkpoint.html">Checkpoint</a> &gt; &amp;&#160;</td>
+ <td class="paramname"><em>checkpoints</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const list&lt; <a class="el" href="class_rock.html">Rock</a> &gt; &amp;&#160;</td>
+ <td class="paramname"><em>rocks</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const list&lt; <a class="el" href="class_smokescreen.html">Smokescreen</a> &gt; &amp;&#160;</td>
+ <td class="paramname"><em>smokescreens</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">const list&lt; <a class="el" href="class_destroyed_object_popup.html">DestroyedObjectPopup</a> &gt; &amp;&#160;</td>
+ <td class="paramname"><em>popups</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td><code> [virtual]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Draws the given objects on the screen. </p>
+<p>The drawing is offset so that the first entry in players is in the middle of the panel. However, the offset will never be such that the drawing area will be outside of the maze.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">maze</td><td>The <a class="el" href="class_maze.html" title="A rectangular 2D boolean array, representing where cars can drive and where they cannot.">Maze</a> that all of the objects are in. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">players</td><td>The list of PlayerCars to be drawn. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">enemies</td><td>The list of EnemyCars to be drawn. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">checkpoints</td><td>The list of Checkpoints to be drawn. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">rocks</td><td>The list of Rocks to be drawn. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">smokescreens</td><td>The list of Smokescreens to be drawn. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">popups</td><td>The list of DestroyedObjectPopups to be drawn. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Implements <a class="el" href="class_screen_panel.html#ab4299f065cdf3e344c3b32b484136ada">ScreenPanel</a>.</p>
+
+<p>Definition at line <a class="el" href="_game_panel_8cpp_source.html#l00012">12</a> of file <a class="el" href="_game_panel_8cpp_source.html">GamePanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a93395482993b341b1b72fbb256ce9be9"></a><!-- doxytag: member="GamePanel::draw" ref="a93395482993b341b1b72fbb256ce9be9" args="(const Maze &amp;maze)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void GamePanel::draw </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_maze.html">Maze</a> &amp;&#160;</td>
+ <td class="paramname"><em>maze</em></td><td>)</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Draws a <a class="el" href="class_maze.html" title="A rectangular 2D boolean array, representing where cars can drive and where they cannot.">Maze</a> on the screen. </p>
+<p>Bitmaps used to represent solid and non-solid parts of the <a class="el" href="class_maze.html" title="A rectangular 2D boolean array, representing where cars can drive and where they cannot.">Maze</a> are stored in the <a class="el" href="class_bitmap_store.html" title="Class for accessing images in ALLEGRO_BITMAP format and low level drawing.">BitmapStore</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">maze</td><td>The <a class="el" href="class_maze.html" title="A rectangular 2D boolean array, representing where cars can drive and where they cannot.">Maze</a> to be drawn. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Definition at line <a class="el" href="_game_panel_8cpp_source.html#l00063">63</a> of file <a class="el" href="_game_panel_8cpp_source.html">GamePanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="acff2b430ecad1310a0a36cfe7c994d2f"></a><!-- doxytag: member="GamePanel::draw" ref="acff2b430ecad1310a0a36cfe7c994d2f" args="(const GameObject &amp;object)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void GamePanel::draw </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_game_object.html">GameObject</a> &amp;&#160;</td>
+ <td class="paramname"><em>object</em></td><td>)</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Draws a single <a class="el" href="class_game_object.html" title="Parent class for objects that are placed in the maze.">GameObject</a> on the screen. </p>
+<p>The bitmap to be drawn is retrieved from the <a class="el" href="class_bitmap_store.html" title="Class for accessing images in ALLEGRO_BITMAP format and low level drawing.">BitmapStore</a> using the GameObject's image.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">object</td><td>The <a class="el" href="class_game_object.html" title="Parent class for objects that are placed in the maze.">GameObject</a> to be drawn. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Definition at line <a class="el" href="_game_panel_8cpp_source.html#l00092">92</a> of file <a class="el" href="_game_panel_8cpp_source.html">GamePanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a53a4386ab0f60db88b3c638b3880cd91"></a><!-- doxytag: member="GamePanel::getPanelX" ref="a53a4386ab0f60db88b3c638b3880cd91" args="(const double &amp;x) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float GamePanel::getPanelX </td>
+ <td>(</td>
+ <td class="paramtype">const double &amp;&#160;</td>
+ <td class="paramname"><em>x</em></td><td>)</td>
+ <td> const<code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Converts an x game coordinate value to its equivalent in pixels. </p>
+<p>Converting to the pixel coordinates happens for every object every frame. To increase performance, the parameters are passed in by constant reference instead of by value.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>The game coordinate to be converted into pixels. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Definition at line <a class="el" href="_game_panel_8cpp_source.html#l00126">126</a> of file <a class="el" href="_game_panel_8cpp_source.html">GamePanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0e722b67c8ee7fe5f557821adf9b8cc2"></a><!-- doxytag: member="GamePanel::getPanelY" ref="a0e722b67c8ee7fe5f557821adf9b8cc2" args="(const double &amp;y) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float GamePanel::getPanelY </td>
+ <td>(</td>
+ <td class="paramtype">const double &amp;&#160;</td>
+ <td class="paramname"><em>y</em></td><td>)</td>
+ <td> const<code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Converts a y game coordinate value to its equivalent in pixels. </p>
+<p>Converting to the pixel coordinates happens for every object every frame. To increase performance, the parameters are passed in by constant reference instead of by value.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+ <table class="params">
+ <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>The game coordinate to be converted into pixels. </td></tr>
+ </table>
+ </dd>
+</dl>
+
+<p>Definition at line <a class="el" href="_game_panel_8cpp_source.html#l00130">130</a> of file <a class="el" href="_game_panel_8cpp_source.html">GamePanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afa4391feb9b273eb938531a73b1ec7f2"></a><!-- doxytag: member="GamePanel::operator=" ref="afa4391feb9b273eb938531a73b1ec7f2" args="(const GamePanel &amp;rhs)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_game_panel.html">GamePanel</a>&amp; GamePanel::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_game_panel.html">GamePanel</a> &amp;&#160;</td>
+ <td class="paramname"><em>rhs</em></td><td>)</td>
+ <td><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Assignment operator not implemented, ScreenPanels should not be copied. </p>
+
+</div>
+</div>
+<hr/><h2>Member Data Documentation</h2>
+<a class="anchor" id="a18c100c8d9ae2601a97083485d937418"></a><!-- doxytag: member="GamePanel::_allegro" ref="a18c100c8d9ae2601a97083485d937418" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_allegro_init.html">AllegroInit</a> <a class="el" href="class_game_panel.html#a18c100c8d9ae2601a97083485d937418">GamePanel::_allegro</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Handles dependencies on Allegro. </p>
+
+<p>Reimplemented from <a class="el" href="class_screen_panel.html#a3877f04c03866e35588f0b753ee7c485">ScreenPanel</a>.</p>
+
+<p>Definition at line <a class="el" href="_game_panel_8h_source.html#l00114">114</a> of file <a class="el" href="_game_panel_8h_source.html">GamePanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0125ff874ffebadc15c7678210914a8c"></a><!-- doxytag: member="GamePanel::_bitmapStore" ref="a0125ff874ffebadc15c7678210914a8c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_bitmap_store.html">BitmapStore</a> <a class="el" href="class_game_panel.html#a0125ff874ffebadc15c7678210914a8c">GamePanel::_bitmapStore</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Used to cache ALLEGRO_BITMAPs, so that they only need to be drawn once. </p>
+
+<p>Definition at line <a class="el" href="_game_panel_8h_source.html#l00112">112</a> of file <a class="el" href="_game_panel_8h_source.html">GamePanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4889f5f6e1ad713be455d4f69a2cda96"></a><!-- doxytag: member="GamePanel::_mazeblockWidth" ref="a4889f5f6e1ad713be455d4f69a2cda96" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">unsigned int <a class="el" href="class_game_panel.html#a4889f5f6e1ad713be455d4f69a2cda96">GamePanel::_mazeblockWidth</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The width of one (square) <a class="el" href="class_maze.html" title="A rectangular 2D boolean array, representing where cars can drive and where they cannot.">Maze</a> block on the screen, in pixels. </p>
+
+<p>Definition at line <a class="el" href="_game_panel_8h_source.html#l00107">107</a> of file <a class="el" href="_game_panel_8h_source.html">GamePanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afe99f100b68ec2475cb0a509887b63a9"></a><!-- doxytag: member="GamePanel::_offsetX" ref="afe99f100b68ec2475cb0a509887b63a9" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float <a class="el" href="class_game_panel.html#afe99f100b68ec2475cb0a509887b63a9">GamePanel::_offsetX</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The amount that drawing should be offset to the right, recalculated every frame. </p>
+
+<p>Definition at line <a class="el" href="_game_panel_8h_source.html#l00109">109</a> of file <a class="el" href="_game_panel_8h_source.html">GamePanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af3354addd707cb42b078dbe2ef29e189"></a><!-- doxytag: member="GamePanel::_offsetY" ref="af3354addd707cb42b078dbe2ef29e189" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float <a class="el" href="class_game_panel.html#af3354addd707cb42b078dbe2ef29e189">GamePanel::_offsetY</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The amount that drawing should be offset downwards, recalculated every frame. </p>
+
+<p>Definition at line <a class="el" href="_game_panel_8h_source.html#l00110">110</a> of file <a class="el" href="_game_panel_8h_source.html">GamePanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae60d3f1c29382ad3c6e6b5c5a56d2160"></a><!-- doxytag: member="GamePanel::BLOCKS_PER_ROW" ref="ae60d3f1c29382ad3c6e6b5c5a56d2160" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">const int <a class="el" href="class_game_panel.html#ae60d3f1c29382ad3c6e6b5c5a56d2160">GamePanel::BLOCKS_PER_ROW</a> = 15<code> [static, private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The number of <a class="el" href="class_maze.html" title="A rectangular 2D boolean array, representing where cars can drive and where they cannot.">Maze</a> blocks in one row shown on the panel at a time. Used to determine the scale. </p>
+
+<p>Definition at line <a class="el" href="_game_panel_8h_source.html#l00105">105</a> of file <a class="el" href="_game_panel_8h_source.html">GamePanel.h</a>.</p>
+
+</div>
+</div>
+<hr/>The documentation for this class was generated from the following files:<ul>
+<li>source/presentation/<a class="el" href="_game_panel_8h_source.html">GamePanel.h</a></li>
+<li>source/presentation/<a class="el" href="_game_panel_8cpp_source.html">GamePanel.cpp</a></li>
+</ul>
+</div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+
+
+<hr class="footer"/><address class="footer"><small>
+Generated on Wed Oct 5 2011 20:08:31 for Rally X by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.7.5.1
+</small></address>
+
+</body>
+</html>