-
- public:
- wxFont(void);
- wxFont( int PointSize, int FontIdOrFamily, int Style, int Weight,
- bool underlined = FALSE, const char *Face=NULL );
- wxFont( int PointSize, const char *Face, int Family, int Style, int Weight,
- bool underlined = FALSE );
- wxFont( const wxFont& font );
- wxFont( const wxFont* font );
- ~wxFont(void);
- wxFont& operator = ( const wxFont& font );
- bool operator == ( const wxFont& font );
- bool operator != ( const wxFont& font );
- bool Ok();
-
- int GetPointSize(void) const;
- wxString GetFaceName(void) const;
- int GetFamily(void) const;
- wxString GetFamilyString(void) const;
- int GetFontId(void) const;
- wxString GetFaceString(void) const;
- int GetStyle(void) const;
- wxString GetStyleString(void) const;
- int GetWeight(void) const;
- wxString GetWeightString(void) const;
- bool GetUnderlined(void) const;
-
- wxFont( char *xFontName );
-
- private:
-
- friend wxDC;
- friend wxPaintDC;
- friend wxWindow;
-
- // no data :-)
+public:
+ wxFont();
+ wxFont(int pointSize, int family, int style, int weight, bool underlined = FALSE, const wxString& faceName = wxEmptyString);
+ inline wxFont(const wxFont& font) { Ref(font); }
+ inline wxFont(const wxFont* font) { if (font) Ref(*font); }
+
+ ~wxFont();
+
+ bool Create(int pointSize, int family, int style, int weight, bool underlined = FALSE, const wxString& faceName = wxEmptyString);
+
+ virtual bool Ok() const { return (m_refData != NULL) ; }
+
+ inline int GetPointSize() const { return M_FONTDATA->m_pointSize; }
+ inline int GetFamily() const { return M_FONTDATA->m_family; }
+ inline int GetStyle() const { return M_FONTDATA->m_style; }
+ inline int GetWeight() const { return M_FONTDATA->m_weight; }
+ wxString GetFamilyString() const ;
+ wxString GetFaceName() const ;
+ wxString GetStyleString() const ;
+ wxString GetWeightString() const ;
+ inline bool GetUnderlined() const { return M_FONTDATA->m_underlined; }
+
+ void SetPointSize(int pointSize);
+ void SetFamily(int family);
+ void SetStyle(int style);
+ void SetWeight(int weight);
+ void SetFaceName(const wxString& faceName);
+ void SetUnderlined(bool underlined);
+
+ inline wxFont& operator = (const wxFont& font) { if (*this == font) return (*this); Ref(font); return *this; }
+ inline bool operator == (const wxFont& font) { return m_refData == font.m_refData; }
+ inline bool operator != (const wxFont& font) { return m_refData != font.m_refData; }
+
+ // Implementation
+protected:
+ void Unshare();