Rally X
ELEN3009 Project by Justin Wernick and David Schneider
source/presentation/ScreenPanel.h
Go to the documentation of this file.
00001 #ifndef SCREENPANEL_H
00002 #define SCREENPANEL_H
00003 
00004 #include <allegro5/allegro.h>
00005 
00006 #include "../logic/Maze.h"
00007 #include "../logic/GameObject.h"
00008 #include "../logic/PlayerCar.h"
00009 #include "../logic/EnemyCar.h"
00010 #include "../logic/Checkpoint.h"
00011 #include "../logic/Rock.h"
00012 #include "../logic/Smokescreen.h"
00013 #include "../logic/DestroyedObjectPopup.h"
00014 #include "../logic/AllegroWrappers.h"
00015 
00029 class ScreenPanel
00030 {
00031     public:
00046         ScreenPanel(ALLEGRO_BITMAP* back, ALLEGRO_BITMAP* front, int x, int y, int width, int height);
00047 
00051         virtual ~ScreenPanel();
00052 
00067         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) = 0;
00068 
00074         virtual void flip();
00075 
00076     protected:
00077         static const ALLEGRO_COLOR BLANK; 
00078 
00079         ALLEGRO_BITMAP* _back; 
00080 
00081         int _width; 
00082         int _height; 
00083     private:
00087         ScreenPanel(const ScreenPanel& ref);
00091         ScreenPanel& operator=(const ScreenPanel& rhs);
00092 
00093         AllegroInit _allegro; 
00094 
00095         ALLEGRO_BITMAP* _front; 
00096 };
00097 
00098 #endif // SCREENPANEL_H
 All Classes Files Functions Variables Typedefs Enumerations Enumerator