]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/font.cpp
make wxFrame a wxControlContainer too, so that it behaves in the same way as wxDialog
[wxWidgets.git] / src / msw / font.cpp
index a457798069b59bb2ed13191f4e00ab7676b81914..8023ed0e3de4400c09b3176408eab011f50e8c46 100644 (file)
 #include "wx/fontutil.h"
 #include "wx/fontmap.h"
 
+#ifndef __WXWINCE__
+    #include "wx/sysopt.h"
+#endif
+
 #include "wx/tokenzr.h"
 
 #if wxUSE_EXTENDED_RTTI
@@ -318,7 +322,12 @@ public:
         { return m_nativeFontInfo; }
 
     void SetNativeFontInfo(const wxNativeFontInfo& nativeFontInfo)
-        { Free(); m_nativeFontInfo = nativeFontInfo; }
+    {
+        Free();
+
+        m_nativeFontInfo = nativeFontInfo;
+        m_nativeFontInfoOk = true;
+    }
 
 protected:
     // common part of all ctors
@@ -448,12 +457,16 @@ void wxNativeFontInfo::Init()
 {
     wxZeroMemory(lf);
 
-    // we get better font quality if we use this instead of DEFAULT_QUALITY
-    // apparently without any drawbacks
+    // we get better font quality if we use PROOF_QUALITY instead of
+    // DEFAULT_QUALITY but some fonts (e.g. "Terminal 6pt") are not available
+    // then so we allow to set a global option to choose between quality and
+    // wider font selection
 #ifdef __WXWINCE__
     lf.lfQuality = CLEARTYPE_QUALITY;
 #else
-    lf.lfQuality = PROOF_QUALITY;
+    lf.lfQuality = wxSystemOptions::GetOptionInt(_T("msw.font.no-proof-quality"))
+                    ? DEFAULT_QUALITY
+                    : PROOF_QUALITY;
 #endif
 }