00001
00012 #ifndef _CBACKGROUND_H
00013 #define _CBACKGROUND_H
00014
00015 #include <map>
00016
00017 class cBackground;
00018 class cBlankBackground;
00019 class cDomeBackground;
00020
00025 class cBackground {
00026 public:
00030 virtual void drawBackground(float hour) = 0;
00031 };
00032
00037 class cBlankBackground : public cBackground {
00038 public:
00039 void drawBackground(float hour = 12.00f) {
00040 }
00041 };
00042
00047 class cDomeBackground : public cBackground {
00048 public:
00049 float mHour;
00050 std::map<int,unsigned int> mTextures;
00051 float mUpColor[3];
00052 float mLoColor[3];
00053 float mBtColor[3];
00054 public:
00055 cDomeBackground();
00056 void drawBackground(float hour = 12.00f);
00057 void drawUpperDome();
00058 void drawLowerDome();
00059 void drawGround();
00060 void drawClouds();
00061 void drawMountains();
00062 void drawOrbit(float hour);
00063 };
00064
00065 #endif
00066