00001 00010 #ifndef _TG_LABEL_H_ 00011 #define _TG_LABEL_H_ 00012 00013 #include <vector> 00014 #include <string> 00015 00016 #include <blort/TomGine/tgFont.h> 00017 #include <blort/TomGine/tgTexture.h> 00018 #include <blort/TomGine/tgPose.h> 00019 00020 namespace TomGine{ 00021 00022 class tgLabel 00023 { 00024 private: 00025 float m_width; 00026 float m_height; 00027 unsigned m_txtSize; 00028 unsigned m_txtHeight; 00029 unsigned m_maxStrLen; 00030 00031 tgPose m_pose; 00032 tgFont* m_font; 00033 tgTexture* m_texture; 00034 std::vector<std::string> m_text; 00035 std::string m_fontfilename; 00036 00037 public: 00038 00039 00044 tgLabel(); 00045 tgLabel(const char* ttf_filename); 00046 ~tgLabel(); 00047 00048 void SetFont(const char* ttf_filename){ m_fontfilename = std::string(ttf_filename); } 00049 void SetPose(tgPose pose){ m_pose = pose; } 00050 00053 void AddText(const char* text, unsigned size=20); 00054 void CreateLabel(); 00055 00058 void Clear(); 00059 00063 void Draw() const; 00064 const char* c_str(){ if(!m_text.empty()) return m_text[0].c_str(); } 00065 00066 }; 00067 00068 } 00069 00070 #endif