1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: wx/dfb/font.h 3 // Author: Vaclav Slavik 4 // Purpose: wxFont declaration 5 // Created: 2006-08-08 6 // Copyright: (c) 2006 REA Elektronik GmbH 7 // Licence: wxWindows licence 8 ///////////////////////////////////////////////////////////////////////////// 9 10 #ifndef _WX_DFB_FONT_H_ 11 #define _WX_DFB_FONT_H_ 12 13 #include "wx/dfb/dfbptr.h" 14 15 wxDFB_DECLARE_INTERFACE(IDirectFBFont); 16 17 // ---------------------------------------------------------------------------- 18 // wxFont 19 // ---------------------------------------------------------------------------- 20 21 class WXDLLIMPEXP_CORE wxFont : public wxFontBase 22 { 23 public: wxFont()24 wxFont() {} 25 wxFont(const wxFontInfo & info)26 wxFont(const wxFontInfo& info) 27 { 28 Create(info.GetPointSize(), 29 info.GetFamily(), 30 info.GetStyle(), 31 info.GetWeight(), 32 info.IsUnderlined(), 33 info.GetFaceName(), 34 info.GetEncoding()); 35 36 if ( info.IsUsingSizeInPixels() ) 37 SetPixelSize(info.GetPixelSize()); 38 } 39 wxFont(const wxNativeFontInfo & info)40 wxFont(const wxNativeFontInfo& info) { Create(info); } 41 #if FUTURE_WXWIN_COMPATIBILITY_3_0 42 wxFont(int size, 43 int family, 44 int style, 45 int weight, 46 bool underlined = false, 47 const wxString& face = wxEmptyString, 48 wxFontEncoding encoding = wxFONTENCODING_DEFAULT) 49 { 50 (void)Create(size, (wxFontFamily)family, (wxFontStyle)style, (wxFontWeight)weight, underlined, face, encoding); 51 } 52 #endif 53 54 wxFont(int size, 55 wxFontFamily family, 56 wxFontStyle style, 57 wxFontWeight weight, 58 bool underlined = false, 59 const wxString& face = wxEmptyString, 60 wxFontEncoding encoding = wxFONTENCODING_DEFAULT) 61 { 62 Create(size, family, style, weight, underlined, face, encoding); 63 } 64 65 wxFont(const wxSize& pixelSize, 66 wxFontFamily family, 67 wxFontStyle style, 68 wxFontWeight weight, 69 bool underlined = false, 70 const wxString& face = wxEmptyString, 71 wxFontEncoding encoding = wxFONTENCODING_DEFAULT) 72 { 73 Create(10, family, style, weight, underlined, face, encoding); 74 SetPixelSize(pixelSize); 75 } 76 77 bool Create(int size, 78 wxFontFamily family, 79 wxFontStyle style, 80 wxFontWeight weight, 81 bool underlined = false, 82 const wxString& face = wxEmptyString, 83 wxFontEncoding encoding = wxFONTENCODING_DEFAULT); 84 bool Create(const wxNativeFontInfo& fontinfo); 85 86 // implement base class pure virtuals 87 virtual int GetPointSize() const; 88 virtual wxFontStyle GetStyle() const; 89 virtual wxFontWeight GetWeight() const; 90 virtual wxString GetFaceName() const; 91 virtual bool GetUnderlined() const; 92 virtual wxFontEncoding GetEncoding() const; 93 virtual bool IsFixedWidth() const; 94 virtual const wxNativeFontInfo *GetNativeFontInfo() const; 95 96 virtual void SetPointSize(int pointSize); 97 virtual void SetFamily(wxFontFamily family); 98 virtual void SetStyle(wxFontStyle style); 99 virtual void SetWeight(wxFontWeight weight); 100 virtual bool SetFaceName(const wxString& faceName); 101 virtual void SetUnderlined(bool underlined); 102 virtual void SetEncoding(wxFontEncoding encoding); 103 104 wxDECLARE_COMMON_FONT_METHODS(); 105 106 // implementation from now on: 107 wxIDirectFBFontPtr GetDirectFBFont(bool antialiased) const; 108 109 protected: 110 virtual wxGDIRefData *CreateGDIRefData() const; 111 virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const; 112 113 virtual wxFontFamily DoGetFamily() const; 114 115 private: 116 DECLARE_DYNAMIC_CLASS(wxFont) 117 }; 118 119 #endif // _WX_DFB_FONT_H_ 120