1 /////////////////////////////////////////////////////////////////////////////// 2 // Name: wx/fmappriv.h 3 // Purpose: private wxFontMapper stuff, not to be used by the library users 4 // Author: Vadim Zeitlin 5 // Modified by: 6 // Created: 21.06.2003 (extracted from common/fontmap.cpp) 7 // Copyright: (c) 1999-2003 Vadim Zeitlin <vadim@wxwidgets.org> 8 // Licence: wxWindows licence 9 /////////////////////////////////////////////////////////////////////////////// 10 11 #ifndef _WX_FMAPPRIV_H_ 12 #define _WX_FMAPPRIV_H_ 13 14 // ---------------------------------------------------------------------------- 15 // constants 16 // ---------------------------------------------------------------------------- 17 18 // a special pseudo encoding which means "don't ask me about this charset 19 // any more" -- we need it to avoid driving the user crazy with asking him 20 // time after time about the same charset which he [presumably] doesn't 21 // have the fonts for 22 enum { wxFONTENCODING_UNKNOWN = -2 }; 23 24 // the config paths we use 25 #if wxUSE_CONFIG 26 27 #define FONTMAPPER_ROOT_PATH wxT("/wxWindows/FontMapper") 28 #define FONTMAPPER_CHARSET_PATH wxT("Charsets") 29 #define FONTMAPPER_CHARSET_ALIAS_PATH wxT("Aliases") 30 31 #endif // wxUSE_CONFIG 32 33 // ---------------------------------------------------------------------------- 34 // wxFontMapperPathChanger: change the config path during our lifetime 35 // ---------------------------------------------------------------------------- 36 37 #if wxUSE_CONFIG && wxUSE_FILECONFIG 38 39 class wxFontMapperPathChanger 40 { 41 public: wxFontMapperPathChanger(wxFontMapperBase * fontMapper,const wxString & path)42 wxFontMapperPathChanger(wxFontMapperBase *fontMapper, const wxString& path) 43 { 44 m_fontMapper = fontMapper; 45 m_ok = m_fontMapper->ChangePath(path, &m_pathOld); 46 } 47 IsOk()48 bool IsOk() const { return m_ok; } 49 ~wxFontMapperPathChanger()50 ~wxFontMapperPathChanger() 51 { 52 if ( IsOk() ) 53 m_fontMapper->RestorePath(m_pathOld); 54 } 55 56 private: 57 // the fontmapper object we're working with 58 wxFontMapperBase *m_fontMapper; 59 60 // the old path to be restored if m_ok 61 wxString m_pathOld; 62 63 // have we changed the path successfully? 64 bool m_ok; 65 66 67 wxDECLARE_NO_COPY_CLASS(wxFontMapperPathChanger); 68 }; 69 70 #endif // wxUSE_CONFIG 71 72 #endif // _WX_FMAPPRIV_H_ 73 74