Main Page | Modules | Namespace List | Class Hierarchy | Compound List | File List | Compound Members | File Members

view.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * $Id: view.h,v 1.1 2003/07/16 11:42:15 schou Exp $
00003  * Author: Jakob Schou Jensen <schou@sourceforge.net>
00004  * Licence: GPL
00005  *
00006  * Description: View
00007  *
00008  ****************************************************************************/
00009 
00010 #ifndef VIEW_H
00011 #define VIEW_H
00012 
00013 #include "animation.h"
00014 
00015 #define VIEW_MAX_OVERLAYS 32
00016 
00017 void whiteScreen(int s);
00018 
00027 class Overlay {
00028 protected:
00029   static AdsoFont *smallFont, *largeFont;
00030 public:
00031   static void setFont(AdsoFont *s, AdsoFont *l){ smallFont = s; largeFont = l; }
00032   static AdsoFont *getFont(){ return smallFont; }
00033   virtual void draw() = 0; 
00034   virtual ~Overlay(){}
00035 };
00036 
00037 class MessageDisplay : public Overlay, public TimedAnimation {
00038   char msg_str[256];
00039   double msg_timer;
00040 
00041 public:
00042   void setMessageDuration(float t){ msg_timer = t; } 
00043   void displayMessage(char *s){
00044     strncpy(msg_str,s,255);
00045     msg_str[255]=0;
00046     msg_timer = 3.0;
00047   }
00048   void update(double deltaTime){
00049     if(msg_timer>0.0){
00050       msg_timer -= deltaTime;
00051       if(msg_timer<0.0) msg_timer=0.0;
00052     }
00053   }
00054   void draw();
00055 
00056   MessageDisplay(){ msg_timer = 0; }
00057 };
00058 
00063 class View {
00064   Overlay *overlays[VIEW_MAX_OVERLAYS];
00065   int overlayCount;
00066 
00067   class Scene *scene;
00068 
00069  public:
00070   //ScreenDump screenDump;
00071   MessageDisplay messageDisplay;
00072 
00073   void addOverlay(Overlay *o);
00074   void draw();
00075 
00076   int open();
00077   void init();
00078   View();
00079 };
00080 
00081 extern View view;
00082 
00083 #endif

Generated on Mon Jul 21 10:44:47 2003 for Rover by doxygen 1.3.2