]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/font.cpp
update the popup menu item when it's [un]checked too, as it already happens for the...
[wxWidgets.git] / src / msw / font.cpp
index 308a36e837ddbf8b571b007115afcc1418b26ca4..397a8c14f06d0865e6c056716828262bba03a5f0 100644 (file)
     #pragma hdrstop
 #endif
 
+#include "wx/font.h"
+
 #ifndef WX_PRECOMP
     #include "wx/list.h"
     #include "wx/utils.h"
     #include "wx/app.h"
-    #include "wx/font.h"
     #include "wx/log.h"
     #include "wx/encinfo.h"
 #endif // WX_PRECOMP
@@ -261,7 +262,7 @@ public:
         if ( m_nativeFontInfoOk )
             return m_nativeFontInfo.SetFaceName(faceName);
 
-            m_faceName = faceName;
+        m_faceName = faceName;
         return true;
     }
 
@@ -320,6 +321,8 @@ protected:
     bool             m_nativeFontInfoOk;
 };
 
+#define M_FONTDATA ((wxFontRefData*)m_refData)
+
 // ============================================================================
 // implementation
 // ============================================================================
@@ -413,6 +416,14 @@ void wxFontRefData::Free()
 void wxNativeFontInfo::Init()
 {
     wxZeroMemory(lf);
+
+    // we get better font quality if we use this instead of DEFAULT_QUALITY
+    // apparently without any drawbacks
+#ifdef __WXWINCE__
+    lf.lfQuality = CLEARTYPE_QUALITY;
+#else
+    lf.lfQuality = PROOF_QUALITY;
+#endif
 }
 
 int wxNativeFontInfo::GetPointSize() const
@@ -573,7 +584,7 @@ void wxNativeFontInfo::SetFamily(wxFontFamily family)
     BYTE ff_family;
     wxArrayString facename;
 
-    // the list of fonts associated with a family was partially 
+    // the list of fonts associated with a family was partially
     // taken from http://www.codestyle.org/css/font-family
 
     switch ( family )
@@ -629,15 +640,15 @@ void wxNativeFontInfo::SetFamily(wxFontFamily family)
             // is returned as default GUI font for compatibility
             int verMaj;
             ff_family = FF_SWISS;
-            if(wxGetOsVersion(&verMaj) == wxWINDOWS_NT && verMaj >= 5)
+            if(wxGetOsVersion(&verMaj) == wxOS_WINDOWS_NT && verMaj >= 5)
                 facename.Add(_T("MS Shell Dlg 2"));
             else
                 facename.Add(_T("MS Shell Dlg"));
 
             // Quoting the MSDN:
-            //     "MS Shell Dlg is a mapping mechanism that enables 
-            //     U.S. English Microsoft Windows NT, and Microsoft Windows 2000 to 
-            //     support locales that have characters that are not contained in code 
+            //     "MS Shell Dlg is a mapping mechanism that enables
+            //     U.S. English Microsoft Windows NT, and Microsoft Windows 2000 to
+            //     support locales that have characters that are not contained in code
             //     page 1252. It is not a font but a face name for a nonexistent font."
         }
     }
@@ -1009,6 +1020,8 @@ int wxFont::GetPointSize() const
 
 wxSize wxFont::GetPixelSize() const
 {
+    wxCHECK_MSG( Ok(), wxDefaultSize, wxT("invalid font") );
+
     return M_FONTDATA->GetPixelSize();
 }
 
@@ -1063,12 +1076,14 @@ wxFontEncoding wxFont::GetEncoding() const
 
 const wxNativeFontInfo *wxFont::GetNativeFontInfo() const
 {
-    return M_FONTDATA->HasNativeFontInfo() ? &(M_FONTDATA->GetNativeFontInfo())
+    return Ok() && M_FONTDATA->HasNativeFontInfo() ? &(M_FONTDATA->GetNativeFontInfo())
                                            : NULL;
 }
 
 wxString wxFont::GetNativeFontInfoDesc() const
 {
+    wxCHECK_MSG( Ok(), wxEmptyString, wxT("invalid font") );
+
     // be sure we have an HFONT associated...
     wxConstCast(this, wxFont)->RealizeResource();
     return wxFontBase::GetNativeFontInfoDesc();
@@ -1076,6 +1091,8 @@ wxString wxFont::GetNativeFontInfoDesc() const
 
 wxString wxFont::GetNativeFontInfoUserDesc() const
 {
+    wxCHECK_MSG( Ok(), wxEmptyString, wxT("invalid font") );
+
     // be sure we have an HFONT associated...
     wxConstCast(this, wxFont)->RealizeResource();
     return wxFontBase::GetNativeFontInfoUserDesc();
@@ -1095,4 +1112,3 @@ bool wxFont::IsFixedWidth() const
 
     return wxFontBase::IsFixedWidth();
 }
-