00001
00002
00015 #ifndef _FontBase_H_
00016 #define _FontBase_H_
00017
00018 #include <string>
00019
00020 namespace hippodraw
00021 {
00023 namespace FontWeight
00024 {
00025 enum weight{ Light, Normal, DemiBold, Bold, Black, Invisible };
00026 }
00027 }
00028
00033 class FontBase
00034 {
00035
00036 protected:
00037
00039 FontBase() {};
00040
00042 FontBase ( const std::string & family,
00043 int pointsize = 12,
00044 int weight = hippodraw::FontWeight::Normal,
00045 bool italic = false );
00046
00047 public:
00048
00050 virtual ~FontBase(){};
00051
00053 virtual std::string family() const = 0;
00054
00056 virtual void setFamily( const std::string & family ) = 0;
00057
00059 virtual int pointSize() const = 0;
00060
00062 virtual void setPointSize( int pointsize ) = 0;
00063
00065 virtual int weight() const = 0;
00066
00068 virtual void setWeight( int weight ) = 0;
00069
00072 virtual bool italic () const = 0;
00073
00075 virtual void setItalic( bool enable ) = 0;
00076
00077 };
00078
00079 #endif //_FontBase_H_