]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/font.cpp
fixed incorrect GetTextExtent for wxTELETYPE font
[wxWidgets.git] / src / msw / font.cpp
index 071d8b0bd9371febb0c8ddb710a0278ab90b7b54..472b6168844a2c911f9fda952e73b7bd3ebf4eb8 100644 (file)
 
 IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject)
 
+// ----------------------------------------------------------------------------
+// constants
+// ----------------------------------------------------------------------------
+
+// the default font size in points
+static const int wxDEFAULT_FONT_SIZE = 12;
+
 // ----------------------------------------------------------------------------
 // wxFontRefData - the internal description of the font
 // ----------------------------------------------------------------------------
@@ -52,7 +59,7 @@ friend class WXDLLEXPORT wxFont;
 public:
     wxFontRefData()
     {
-        Init(12, wxDEFAULT, wxNORMAL, wxNORMAL, FALSE,
+        Init(wxDEFAULT_FONT_SIZE, wxDEFAULT, wxNORMAL, wxNORMAL, FALSE,
              "", wxFONTENCODING_DEFAULT);
     }
 
@@ -170,6 +177,12 @@ bool wxFont::Create(int pointSize,
                     wxFontEncoding encoding)
 {
     UnRef();
+
+    // wxDEFAULT is a valid value for the font size too so we must treat it
+    // specially here (otherwise the size would be 70 == wxDEFAULT value)
+    if ( pointSize == wxDEFAULT )
+        pointSize = wxDEFAULT_FONT_SIZE;
+
     m_refData = new wxFontRefData(pointSize, family, style, weight,
                                   underlined, faceName, encoding);