00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef __SGL_TEXTSET_HPP
00026 #define __SGL_TEXTSET_HPP
00027
00028 #include <sgl.h>
00029 #include <sglDrawable.hpp>
00030 #include <sglBitmapFont.hpp>
00031
00032
00033
00073 class SGL_DLL_API sglTextSet : public sglDrawable
00074 {
00075 public:
00077 sglTextSet();
00078
00080 virtual ~sglTextSet();
00081
00082
00086 void setString(const string &str);
00087
00091 const string &getString() const { return m_text; }
00092
00097 void setFont(sglBitmapFont *font);
00098
00102 sglBitmapFont *getFont() const { return m_font; }
00103
00104
00108 void setColor(const sglVec4f &color);
00109
00116 void setColor(float r, float g, float b, float a);
00117
00121 const sglVec4f &getColor() const { return m_color; }
00122
00126 void setPosition(const sglVec3f &pos);
00127
00133 void setPosition(float x, float y, float z);
00134
00138 const sglVec3f &getPosition() const { return m_position; }
00139
00140
00141
00142 virtual void addStats(sglStats &stats) const { stats.addText(1); }
00143
00144 virtual void drawGeometry(const vector<sglTexCoords> &) const;
00145 virtual void printInfo(ostream &ostrm, const char *indent_string) const;
00146
00147 protected:
00148 virtual bool computeBounds();
00149
00150 private:
00151 sglTextSet(const sglTextSet &);
00152 sglTextSet &operator=(const sglTextSet &);
00153
00154 private:
00155 sglVec3f m_position;
00156 sglVec4f m_color;
00157 string m_text;
00158
00159 sglBitmapFont *m_font;
00160
00161 sglTransparency m_transparency_statelet;
00162 vector<sglStatelet*> m_statelets;
00163 };
00164
00165 #endif