Rally X
ELEN3009 Project by Justin Wernick and David Schneider
source/presentation/InfoPanel.h
Go to the documentation of this file.
00001 #ifndef INFOPANEL_H
00002 #define INFOPANEL_H
00003 
00004 #include <allegro5/allegro.h>
00005 #include <allegro5/allegro_primitives.h>
00006 
00007 #include <sstream>
00008 using namespace std;
00009 
00010 #include "../presentation/ScreenPanel.h"
00011 #include "../presentation/ColourStore.h"
00012 #include "../logic/Maze.h"
00013 #include "../logic/GameObject.h"
00014 #include "../logic/PlayerCar.h"
00015 #include "../logic/EnemyCar.h"
00016 #include "../logic/Checkpoint.h"
00017 #include "../logic/AllegroWrappers.h"
00018 
00030 class InfoPanel : public ScreenPanel
00031 {
00032     public:
00047         InfoPanel(ALLEGRO_BITMAP* back, ALLEGRO_BITMAP* front, int x, int y, int width, int height);
00048 
00054         ~InfoPanel();
00055 
00074         virtual void draw(const Maze& maze, const list<PlayerCar>& players, const list<EnemyCar>& enemies, const list<Checkpoint>& checkpoints, const list<Rock>& rocks, const list<Smokescreen>& smokescreens, const list<DestroyedObjectPopup>& popups);
00075     private:
00079         InfoPanel(const InfoPanel& ref);
00083         InfoPanel& operator=(const InfoPanel& rhs);
00092         float getPanelX(const double& x) const;
00101         float getPanelY(const double& y) const;
00102 
00113         void draw(const Maze& maze);
00114 
00123         void draw(const GameObject& object);
00124 
00125         AllegroDrawingInit _drawing; 
00126         ColourStore _colourStore; 
00127 
00128         float _petrolHeadingY; 
00129         float _petrolGuageY; 
00130         float _petrolGuageHeight; 
00131         float _checkpointHeadingY; 
00132         float _checkpointValueY; 
00133         float _miniMazeY; 
00134         float _miniMazeHeight; 
00135         float _miniMazeblockWidth; 
00136 
00137         ALLEGRO_FONT* _panelFont; 
00138 };
00139 
00140 #endif // INFOPANEL_H
 All Classes Files Functions Variables Typedefs Enumerations Enumerator