]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/fontmap.h
attempt to fix first click problem
[wxWidgets.git] / include / wx / fontmap.h
index 70691e8afb90ac9db8ec11a9c15f1248406a64b0..af3e7b560370580598bfd7f62a4c71e018cfdc60 100644 (file)
@@ -6,13 +6,13 @@
 // Created:     04.11.99
 // RCS-ID:      $Id$
 // Copyright:   (c) Vadim Zeitlin
 // Created:     04.11.99
 // RCS-ID:      $Id$
 // Copyright:   (c) Vadim Zeitlin
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_FONTMAPPER_H_
 #define _WX_FONTMAPPER_H_
 
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_FONTMAPPER_H_
 #define _WX_FONTMAPPER_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "fontmap.h"
 #endif
 
     #pragma interface "fontmap.h"
 #endif
 
@@ -59,6 +59,11 @@ public:
     // virtual dtor for a base class
     virtual ~wxFontMapper();
 
     // virtual dtor for a base class
     virtual ~wxFontMapper();
 
+    // return instance of the wxFontMapper singleton
+    static wxFontMapper *Get();
+    // set the sigleton to 'mapper' instance and return previous one
+    static wxFontMapper *Set(wxFontMapper *mapper);
+
 #if wxUSE_GUI
     // find an alternative for the given encoding (which is supposed to not be
     // available on this system). If successful, return TRUE and fill info
 #if wxUSE_GUI
     // find an alternative for the given encoding (which is supposed to not be
     // available on this system). If successful, return TRUE and fill info
@@ -180,6 +185,11 @@ protected:
 #endif // wxUSE_GUI
 
     friend class wxFontMapperPathChanger;
 #endif // wxUSE_GUI
 
     friend class wxFontMapperPathChanger;
+    
+private:
+    static wxFontMapper *sm_instance;
+
+    DECLARE_NO_COPY_CLASS(wxFontMapper)
 };
 
 // ----------------------------------------------------------------------------
 };
 
 // ----------------------------------------------------------------------------
@@ -187,8 +197,16 @@ protected:
 // ----------------------------------------------------------------------------
 
 // the default font mapper for wxWindows programs
 // ----------------------------------------------------------------------------
 
 // the default font mapper for wxWindows programs
-WXDLLEXPORT_DATA(extern wxFontMapper *) wxTheFontMapper;
+// do NOT use! This is for backward compatibility, use wxFontMapper::Get() instead
+#define wxTheFontMapper (wxFontMapper::Get())
+
+#else // !wxUSE_FONTMAP
+
+#if wxUSE_GUI
+    // wxEncodingToCodepage (utils.cpp) needs wxGetNativeFontEncoding
+    #include "wx/fontutil.h"
+#endif
 
 
-#endif // wxUSE_FONTMAP
+#endif // wxUSE_FONTMAP/!wxUSE_FONTMAP
 
 #endif // _WX_FONTMAPPER_H_
 
 #endif // _WX_FONTMAPPER_H_