00001 // This is core/vgui/vgui_font.h 00002 #ifndef vgui_font_h_ 00003 #define vgui_font_h_ 00004 //========================================================================= 00005 //: 00006 // \file 00007 // \brief Font class for rendering text in OpenGL. 00008 // \author Miguel A. Figueroa-Villanueva (miguelf at ieee dot org) 00009 // 00010 // \verbatim 00011 // Modifications 00012 // 05/19/2006 - File created. (miguelfv) 00013 // \endverbatim 00014 //========================================================================= 00015 00016 #include <vcl_string.h> 00017 #include <vbl/vbl_ref_count.h> 00018 00019 //------------------------------------------------------------------------- 00020 //: Abstract font class. 00021 //------------------------------------------------------------------------- 00022 class vgui_font : public vbl_ref_count 00023 { 00024 public: 00025 //: Constructor - default. 00026 vgui_font() { } 00027 00028 //: Draw a string of font symbols. 00029 virtual void draw(const vcl_string& str) const = 0; 00030 00031 //: Draw a string of font symbols. 00032 virtual void draw(const vcl_string& str, unsigned int size) const; 00033 00034 //protected: 00035 //: Destructor. 00036 virtual ~vgui_font() { } 00037 00038 private: 00039 // Disable copy constructor and assignment. 00040 vgui_font(const vgui_font&); 00041 vgui_font& operator=(const vgui_font&); 00042 }; 00043 00044 #endif // vgui_font_h_