summaryrefslogtreecommitdiff
path: root/docs/html/class_info_panel.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/html/class_info_panel.html')
-rw-r--r--docs/html/class_info_panel.html695
1 files changed, 695 insertions, 0 deletions
diff --git a/docs/html/class_info_panel.html b/docs/html/class_info_panel.html
new file mode 100644
index 0000000..c01e1ad
--- /dev/null
+++ b/docs/html/class_info_panel.html
@@ -0,0 +1,695 @@
+<!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: InfoPanel 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> </div>
+ <div class="headertitle">
+<div class="title">InfoPanel Class Reference</div> </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="InfoPanel" --><!-- 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 give the player information.
+ <a href="class_info_panel.html#details">More...</a></p>
+
+<p><code>#include &lt;<a class="el" href="_info_panel_8h_source.html">InfoPanel.h</a>&gt;</code></p>
+<div class="dynheader">
+Inheritance diagram for InfoPanel:</div>
+<div class="dyncontent">
+ <div class="center">
+ <img src="class_info_panel.png" usemap="#InfoPanel_map" alt=""/>
+ <map id="InfoPanel_map" name="InfoPanel_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_info_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_info_panel.html#a5a3d0afb5ebd764de04484b1817912b6">InfoPanel</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 an <a class="el" href="class_info_panel.html" title="ScreenPanel to be drawn on the screen to give the player information.">InfoPanel</a> from the given back and front buffers. <a href="#a5a3d0afb5ebd764de04484b1817912b6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_panel.html#a052da279d4bf0405ae3735f24cc2e2a2">~InfoPanel</a> ()</td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor that ensured that the font created is destroyed. <a href="#a052da279d4bf0405ae3735f24cc2e2a2"></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_info_panel.html#aa9628c14e08ac6573e0191d9d4afa227">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 <a class="el" href="class_info_panel.html" title="ScreenPanel to be drawn on the screen to give the player information.">InfoPanel</a> using the given objects. <a href="#aa9628c14e08ac6573e0191d9d4afa227"></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_info_panel.html#a6eac5bf29b155213dffd60460d299049">InfoPanel</a> (const <a class="el" href="class_info_panel.html">InfoPanel</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="#a6eac5bf29b155213dffd60460d299049"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_info_panel.html">InfoPanel</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_panel.html#ab70ce071b189ffe1b7e7a67a6227393f">operator=</a> (const <a class="el" href="class_info_panel.html">InfoPanel</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="#ab70ce071b189ffe1b7e7a67a6227393f"></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_info_panel.html#a0accb88b099f412cc3baa7d2bf4690aa">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="#a0accb88b099f412cc3baa7d2bf4690aa"></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_info_panel.html#ad962eab814441375a8634b67d743d7e6">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="#ad962eab814441375a8634b67d743d7e6"></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_info_panel.html#a23a025859397c3e28bbe9dce26563d7c">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 panel. <a href="#a23a025859397c3e28bbe9dce26563d7c"></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_info_panel.html#abc82d5365a89b3e374dbbdda86b77703">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 panel. <a href="#abc82d5365a89b3e374dbbdda86b77703"></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"><a class="el" href="class_allegro_drawing_init.html">AllegroDrawingInit</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_panel.html#a589359c67b30af50338791f8af0e05e0">_drawing</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Handles dependencies on Allegro's primitive drawing functions. <a href="#a589359c67b30af50338791f8af0e05e0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_colour_store.html">ColourStore</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_panel.html#a27ac079ed1a39ae672b6ceb9e0974855">_colourStore</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Caches colours for drawing. <a href="#a27ac079ed1a39ae672b6ceb9e0974855"></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_info_panel.html#a5ab76703538ad6e396a21ea8fb47d23d">_petrolHeadingY</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The y coordinate of the heading for the petrol guage. <a href="#a5ab76703538ad6e396a21ea8fb47d23d"></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_info_panel.html#a29976100c8fc5c130be713dfb5c2807e">_petrolGuageY</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The y coordinate of top of the petrol guage. <a href="#a29976100c8fc5c130be713dfb5c2807e"></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_info_panel.html#a0c85348f8471d86da73772f86a62f84c">_petrolGuageHeight</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The height of the rectangle that is the petrol guage. <a href="#a0c85348f8471d86da73772f86a62f84c"></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_info_panel.html#a7ec514286dbf2fb43f64acd620397e21">_checkpointHeadingY</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The y coordinate of the heading for the number of remaining checkpoints. <a href="#a7ec514286dbf2fb43f64acd620397e21"></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_info_panel.html#ad118b5f123e590a95b3f390fd9597f02">_checkpointValueY</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The y coordinate of the text stating the number of remaining checkpoints. <a href="#ad118b5f123e590a95b3f390fd9597f02"></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_info_panel.html#a7b4bb6cca8549d6a1d1deccc99994b9b">_miniMazeY</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The y coordinate of the top 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>. <a href="#a7b4bb6cca8549d6a1d1deccc99994b9b"></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_info_panel.html#ad38206daa42c82b45878e6d0c55f2860">_miniMazeHeight</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The height 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>. <a href="#ad38206daa42c82b45878e6d0c55f2860"></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_info_panel.html#abb211fac23293e41f23b86fd70df98f0">_miniMazeblockWidth</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The width of each <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 being drawn. <a href="#abb211fac23293e41f23b86fd70df98f0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">ALLEGRO_FONT *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_info_panel.html#a38d023a2b00eafa303de37550cb96817">_panelFont</a></td></tr>
+<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The font being used to write the headings and number of checkpoints remaining. <a href="#a38d023a2b00eafa303de37550cb96817"></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 give the player information. </p>
+<p>This includes the minimap, a scaled down version of the entire maze that does not scroll, with icons to represent the <a class="el" href="class_player_car.html" title="A GameObject that is controlled by the player.">PlayerCar</a>, EnemyCars, and Checkpoints. Text is drawn to show the player the number of Checkpoints that needed to be collected for victory, and a rectangle is drawn representing the amount of petrol that the <a class="el" href="class_player_car.html" title="A GameObject that is controlled by the player.">PlayerCar</a> has left.</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="_info_panel_8h_source.html#l00030">30</a> of file <a class="el" href="_info_panel_8h_source.html">InfoPanel.h</a>.</p>
+</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
+<a class="anchor" id="a5a3d0afb5ebd764de04484b1817912b6"></a><!-- doxytag: member="InfoPanel::InfoPanel" ref="a5a3d0afb5ebd764de04484b1817912b6" 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">InfoPanel::InfoPanel </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 an <a class="el" href="class_info_panel.html" title="ScreenPanel to be drawn on the screen to give the player information.">InfoPanel</a> from the given back and front buffers. </p>
+<p>The sub-bitmaps that <a class="el" href="class_info_panel.html" title="ScreenPanel to be drawn on the screen to give the player information.">InfoPanel</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="_info_panel_8cpp_source.html#l00003">3</a> of file <a class="el" href="_info_panel_8cpp_source.html">InfoPanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a052da279d4bf0405ae3735f24cc2e2a2"></a><!-- doxytag: member="InfoPanel::~InfoPanel" ref="a052da279d4bf0405ae3735f24cc2e2a2" args="()" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">InfoPanel::~InfoPanel </td>
+ <td>(</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Destructor that ensured that the font created is destroyed. </p>
+<p>The memory for the sub-bitmaps are handled by the parent class, <a class="el" href="class_screen_panel.html" title="Parent class for panels that are drawn on the screen.">ScreenPanel</a>. </p>
+
+<p>Definition at line <a class="el" href="_info_panel_8cpp_source.html#l00022">22</a> of file <a class="el" href="_info_panel_8cpp_source.html">InfoPanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a6eac5bf29b155213dffd60460d299049"></a><!-- doxytag: member="InfoPanel::InfoPanel" ref="a6eac5bf29b155213dffd60460d299049" args="(const InfoPanel &amp;ref)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">InfoPanel::InfoPanel </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_info_panel.html">InfoPanel</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="aa9628c14e08ac6573e0191d9d4afa227"></a><!-- doxytag: member="InfoPanel::draw" ref="aa9628c14e08ac6573e0191d9d4afa227" 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 InfoPanel::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 <a class="el" href="class_info_panel.html" title="ScreenPanel to be drawn on the screen to give the player information.">InfoPanel</a> using the given objects. </p>
+<p>Not all of the provided objects are needed for the drawing process, but they are included to give the most general drawing case. This is to support polymorphism, where the <a class="el" href="class_info_panel.html" title="ScreenPanel to be drawn on the screen to give the player information.">InfoPanel</a> can be told to draw its sub-bitmap in the same manner as any other <a class="el" href="class_screen_panel.html" title="Parent class for panels that are drawn on the screen.">ScreenPanel</a>.</p>
+<p>The scale of the minimap is determined at the beginning of each frame, so that it will always fit even if the maze is larger than on the last frame.</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>Rocks are not actually drawn. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">smokescreens</td><td>Smokescreens are not actually drawn. </td></tr>
+ <tr><td class="paramdir">[in]</td><td class="paramname">popups</td><td>DestroyedObjectPopups are not actually 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="_info_panel_8cpp_source.html#l00027">27</a> of file <a class="el" href="_info_panel_8cpp_source.html">InfoPanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a23a025859397c3e28bbe9dce26563d7c"></a><!-- doxytag: member="InfoPanel::draw" ref="a23a025859397c3e28bbe9dce26563d7c" args="(const Maze &amp;maze)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoPanel::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 panel. </p>
+<p>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> is constructed of coloured squares. The colour of the squares is retrieved from the <a class="el" href="class_colour_store.html" title="Class for mapping BitmapStore images to colours for use in the minimap.">ColourStore</a>.</p>
+<p>Unlike in the <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>, the entire <a class="el" href="class_maze.html" title="A rectangular 2D boolean array, representing where cars can drive and where they cannot.">Maze</a> is drawn.</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="_info_panel_8cpp_source.html#l00071">71</a> of file <a class="el" href="_info_panel_8cpp_source.html">InfoPanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abc82d5365a89b3e374dbbdda86b77703"></a><!-- doxytag: member="InfoPanel::draw" ref="abc82d5365a89b3e374dbbdda86b77703" args="(const GameObject &amp;object)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void InfoPanel::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 panel. </p>
+<p>The <a class="el" href="class_game_object.html" title="Parent class for objects that are placed in the maze.">GameObject</a> is represented by a coloured circle in 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>. The colour is based on the GameObject's image and is retrieved from the <a class="el" href="class_colour_store.html" title="Class for mapping BitmapStore images to colours for use in the minimap.">ColourStore</a>.</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="_info_panel_8cpp_source.html#l00096">96</a> of file <a class="el" href="_info_panel_8cpp_source.html">InfoPanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0accb88b099f412cc3baa7d2bf4690aa"></a><!-- doxytag: member="InfoPanel::getPanelX" ref="a0accb88b099f412cc3baa7d2bf4690aa" args="(const double &amp;x) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float InfoPanel::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="_info_panel_8cpp_source.html#l00104">104</a> of file <a class="el" href="_info_panel_8cpp_source.html">InfoPanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad962eab814441375a8634b67d743d7e6"></a><!-- doxytag: member="InfoPanel::getPanelY" ref="ad962eab814441375a8634b67d743d7e6" args="(const double &amp;y) const " -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float InfoPanel::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="_info_panel_8cpp_source.html#l00108">108</a> of file <a class="el" href="_info_panel_8cpp_source.html">InfoPanel.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab70ce071b189ffe1b7e7a67a6227393f"></a><!-- doxytag: member="InfoPanel::operator=" ref="ab70ce071b189ffe1b7e7a67a6227393f" args="(const InfoPanel &amp;rhs)" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_info_panel.html">InfoPanel</a>&amp; InfoPanel::operator= </td>
+ <td>(</td>
+ <td class="paramtype">const <a class="el" href="class_info_panel.html">InfoPanel</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="a7ec514286dbf2fb43f64acd620397e21"></a><!-- doxytag: member="InfoPanel::_checkpointHeadingY" ref="a7ec514286dbf2fb43f64acd620397e21" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float <a class="el" href="class_info_panel.html#a7ec514286dbf2fb43f64acd620397e21">InfoPanel::_checkpointHeadingY</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The y coordinate of the heading for the number of remaining checkpoints. </p>
+
+<p>Definition at line <a class="el" href="_info_panel_8h_source.html#l00131">131</a> of file <a class="el" href="_info_panel_8h_source.html">InfoPanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad118b5f123e590a95b3f390fd9597f02"></a><!-- doxytag: member="InfoPanel::_checkpointValueY" ref="ad118b5f123e590a95b3f390fd9597f02" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float <a class="el" href="class_info_panel.html#ad118b5f123e590a95b3f390fd9597f02">InfoPanel::_checkpointValueY</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The y coordinate of the text stating the number of remaining checkpoints. </p>
+
+<p>Definition at line <a class="el" href="_info_panel_8h_source.html#l00132">132</a> of file <a class="el" href="_info_panel_8h_source.html">InfoPanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a27ac079ed1a39ae672b6ceb9e0974855"></a><!-- doxytag: member="InfoPanel::_colourStore" ref="a27ac079ed1a39ae672b6ceb9e0974855" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_colour_store.html">ColourStore</a> <a class="el" href="class_info_panel.html#a27ac079ed1a39ae672b6ceb9e0974855">InfoPanel::_colourStore</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Caches colours for drawing. </p>
+
+<p>Definition at line <a class="el" href="_info_panel_8h_source.html#l00126">126</a> of file <a class="el" href="_info_panel_8h_source.html">InfoPanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a589359c67b30af50338791f8af0e05e0"></a><!-- doxytag: member="InfoPanel::_drawing" ref="a589359c67b30af50338791f8af0e05e0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="class_allegro_drawing_init.html">AllegroDrawingInit</a> <a class="el" href="class_info_panel.html#a589359c67b30af50338791f8af0e05e0">InfoPanel::_drawing</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>Handles dependencies on Allegro's primitive drawing functions. </p>
+
+<p>Definition at line <a class="el" href="_info_panel_8h_source.html#l00125">125</a> of file <a class="el" href="_info_panel_8h_source.html">InfoPanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abb211fac23293e41f23b86fd70df98f0"></a><!-- doxytag: member="InfoPanel::_miniMazeblockWidth" ref="abb211fac23293e41f23b86fd70df98f0" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float <a class="el" href="class_info_panel.html#abb211fac23293e41f23b86fd70df98f0">InfoPanel::_miniMazeblockWidth</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The width of each <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 being drawn. </p>
+
+<p>Definition at line <a class="el" href="_info_panel_8h_source.html#l00135">135</a> of file <a class="el" href="_info_panel_8h_source.html">InfoPanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad38206daa42c82b45878e6d0c55f2860"></a><!-- doxytag: member="InfoPanel::_miniMazeHeight" ref="ad38206daa42c82b45878e6d0c55f2860" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float <a class="el" href="class_info_panel.html#ad38206daa42c82b45878e6d0c55f2860">InfoPanel::_miniMazeHeight</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The height 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>. </p>
+
+<p>Definition at line <a class="el" href="_info_panel_8h_source.html#l00134">134</a> of file <a class="el" href="_info_panel_8h_source.html">InfoPanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7b4bb6cca8549d6a1d1deccc99994b9b"></a><!-- doxytag: member="InfoPanel::_miniMazeY" ref="a7b4bb6cca8549d6a1d1deccc99994b9b" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float <a class="el" href="class_info_panel.html#a7b4bb6cca8549d6a1d1deccc99994b9b">InfoPanel::_miniMazeY</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The y coordinate of the top 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>. </p>
+
+<p>Definition at line <a class="el" href="_info_panel_8h_source.html#l00133">133</a> of file <a class="el" href="_info_panel_8h_source.html">InfoPanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a38d023a2b00eafa303de37550cb96817"></a><!-- doxytag: member="InfoPanel::_panelFont" ref="a38d023a2b00eafa303de37550cb96817" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">ALLEGRO_FONT* <a class="el" href="class_info_panel.html#a38d023a2b00eafa303de37550cb96817">InfoPanel::_panelFont</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The font being used to write the headings and number of checkpoints remaining. </p>
+
+<p>Definition at line <a class="el" href="_info_panel_8h_source.html#l00137">137</a> of file <a class="el" href="_info_panel_8h_source.html">InfoPanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0c85348f8471d86da73772f86a62f84c"></a><!-- doxytag: member="InfoPanel::_petrolGuageHeight" ref="a0c85348f8471d86da73772f86a62f84c" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float <a class="el" href="class_info_panel.html#a0c85348f8471d86da73772f86a62f84c">InfoPanel::_petrolGuageHeight</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The height of the rectangle that is the petrol guage. </p>
+
+<p>Definition at line <a class="el" href="_info_panel_8h_source.html#l00130">130</a> of file <a class="el" href="_info_panel_8h_source.html">InfoPanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a29976100c8fc5c130be713dfb5c2807e"></a><!-- doxytag: member="InfoPanel::_petrolGuageY" ref="a29976100c8fc5c130be713dfb5c2807e" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float <a class="el" href="class_info_panel.html#a29976100c8fc5c130be713dfb5c2807e">InfoPanel::_petrolGuageY</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The y coordinate of top of the petrol guage. </p>
+
+<p>Definition at line <a class="el" href="_info_panel_8h_source.html#l00129">129</a> of file <a class="el" href="_info_panel_8h_source.html">InfoPanel.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5ab76703538ad6e396a21ea8fb47d23d"></a><!-- doxytag: member="InfoPanel::_petrolHeadingY" ref="a5ab76703538ad6e396a21ea8fb47d23d" args="" -->
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">float <a class="el" href="class_info_panel.html#a5ab76703538ad6e396a21ea8fb47d23d">InfoPanel::_petrolHeadingY</a><code> [private]</code></td>
+ </tr>
+ </table>
+</div>
+<div class="memdoc">
+
+<p>The y coordinate of the heading for the petrol guage. </p>
+
+<p>Definition at line <a class="el" href="_info_panel_8h_source.html#l00128">128</a> of file <a class="el" href="_info_panel_8h_source.html">InfoPanel.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="_info_panel_8h_source.html">InfoPanel.h</a></li>
+<li>source/presentation/<a class="el" href="_info_panel_8cpp_source.html">InfoPanel.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>