1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: wx/dfb/private/fontmgr.h 3 // Purpose: font management for wxDFB 4 // Author: Vaclav Slavik 5 // Created: 2006-11-18 6 // Copyright: (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com) 7 // (c) 2006 REA Elektronik GmbH 8 // Licence: wxWindows licence 9 ///////////////////////////////////////////////////////////////////////////// 10 11 #ifndef _WX_DFB_PRIVATE_FONTMGR_H_ 12 #define _WX_DFB_PRIVATE_FONTMGR_H_ 13 14 #include "wx/dfb/wrapdfb.h" 15 16 class wxFileConfig; 17 18 class wxFontInstance : public wxFontInstanceBase 19 { 20 public: 21 wxFontInstance(float ptSize, bool aa, const wxString& filename); 22 GetDirectFBFont()23 wxIDirectFBFontPtr GetDirectFBFont() const { return m_font; } 24 25 private: 26 wxIDirectFBFontPtr m_font; 27 }; 28 29 class wxFontFace : public wxFontFaceBase 30 { 31 public: wxFontFace(const wxString & filename)32 wxFontFace(const wxString& filename) : m_fileName(filename) {} 33 34 protected: 35 wxFontInstance *CreateFontInstance(float ptSize, bool aa); 36 37 private: 38 wxString m_fileName; 39 }; 40 41 class wxFontBundle : public wxFontBundleBase 42 { 43 public: 44 wxFontBundle(const wxString& name, 45 const wxString& fileRegular, 46 const wxString& fileBold, 47 const wxString& fileItalic, 48 const wxString& fileBoldItalic, 49 bool isFixed); 50 51 /// Returns name of the family GetName()52 virtual wxString GetName() const { return m_name; } 53 IsFixed()54 virtual bool IsFixed() const { return m_isFixed; } 55 56 private: 57 wxString m_name; 58 bool m_isFixed; 59 }; 60 61 class wxFontsManager : public wxFontsManagerBase 62 { 63 public: wxFontsManager()64 wxFontsManager() { AddAllFonts(); } 65 GetDefaultFacename(wxFontFamily family)66 virtual wxString GetDefaultFacename(wxFontFamily family) const 67 { 68 return m_defaultFacenames[family]; 69 } 70 71 private: 72 // adds all fonts using AddBundle() 73 void AddAllFonts(); 74 void AddFontsFromDir(const wxString& indexFile); 75 void AddFont(const wxString& dir, const wxString& name, wxFileConfig& cfg); 76 void SetDefaultFonts(wxFileConfig& cfg); 77 78 private: 79 // default facenames 80 wxString m_defaultFacenames[wxFONTFAMILY_MAX]; 81 }; 82 83 #endif // _WX_DFB_PRIVATE_FONTMGR_H_ 84