00001 #ifndef HEADER_TITLE_H
00002 #define HEADER_TITLE_H
00003
00004 class Font;
00005 class Color;
00006
00007 #include "Drawable.h"
00008
00009 #include <string>
00010
00011
00012
00013
00014 class Title : public Drawable {
00015 private:
00016 static const int TIME_PER_CHAR = 2;
00017 static const int TIME_MIN = 40;
00018 int m_screenW;
00019 int m_screenH;
00020 int m_x;
00021 int m_y;
00022 int m_mintime;
00023 int m_limitY;
00024 int m_finalY;
00025 const std::string m_content;
00026 Font *m_font;
00027 SDL_Surface *m_surface;
00028 public:
00029 Title(int baseY, int finalY, int bonusTime, int limitY,
00030 const std::string &content,
00031 Font *font, const Color *color);
00032 virtual ~Title();
00033
00034 void shiftUp(int rate);
00035 void shiftFinalUp(int rate);
00036 virtual void drawOn(SDL_Surface *screen);
00037 bool isGone();
00038
00039 int getY() const;
00040 std::string getContent() const { return m_content; }
00041 };
00042
00043 #endif