core/vgui/vgui_font.h
Go to the documentation of this file.
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_