]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/fontcmn.cpp
typo: PrintfInLogBug() was probably supposed to be called PrintfInLogBuf()
[wxWidgets.git] / src / common / fontcmn.cpp
index cb10a1772d610d80a11d51dea6bd10a02949f026..29bce8a1eb5049ce47afcb1bccf7f0659e0619c6 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        common/fontcmn.cpp
+// Name:        src/common/fontcmn.cpp
 // Purpose:     implementation of wxFontBase methods
 // Author:      Vadim Zeitlin
 // Modified by:
 // headers
 // ----------------------------------------------------------------------------
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "fontbase.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
-#pragma hdrstop
+    #pragma hdrstop
 #endif
 
-#ifndef WX_PRECOMP
 #include "wx/font.h"
-#include "wx/intl.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/dc.h"
+    #include "wx/intl.h"
+    #include "wx/dcscreen.h"
 #endif // WX_PRECOMP
 
 #include "wx/gdicmn.h"
 // helper functions
 // ----------------------------------------------------------------------------
 
-static void AdjustFontSize(wxFont font, wxDC& dc, const wxSize& pixelSize)
+static void AdjustFontSize(wxFont& font, wxDC& dc, const wxSize& pixelSize)
 {
-    int currentSize = font.GetPointSize();
-    int largestGood;
-    int smallestBad;
+    int currentSize = 0;
+    int largestGood = 0;
+    int smallestBad = 0;
 
     bool initialGoodFound = false;
     bool initialBadFound = false;
 
+    // NB: this assignment was separated from the variable definition
+    // in order to fix a gcc v3.3.3 compiler crash
+    currentSize = font.GetPointSize();
     while (currentSize > 0)
     {
         dc.SetFont(font);
@@ -185,10 +187,10 @@ wxFont *wxFontBase::New(const wxSize& pixelSize,
     return new wxFont(pixelSize, family, style, weight, underlined,
                       face, encoding);
 #else
-    wxFont * ret = New(10, family, style, weight, underlined, face, encoding);
+    wxFont *self = New(10, family, style, weight, underlined, face, encoding);
     wxScreenDC dc;
-    ret->AdjustFontSize(*(wxFont *)this, dc, pixelSize);
-    return ret;
+    AdjustFontSize(*(wxFont *)self, dc, pixelSize);
+    return self;
 #endif
 }
 
@@ -299,14 +301,6 @@ void wxFontBase::SetNativeFontInfoUserDesc(const wxString& info)
     }
 }
 
-wxFont& wxFont::operator=(const wxFont& font)
-{
-    if ( this != &font )
-        Ref(font);
-
-    return (wxFont &)*this;
-}
-
 bool wxFontBase::operator==(const wxFont& font) const
 {
     // either it is the same font, i.e. they share the same common data or they
@@ -516,7 +510,7 @@ void wxNativeFontInfo::SetUnderlined(bool underlined_)
     underlined = underlined_;
 }
 
-void wxNativeFontInfo::SetFaceName(wxString facename_)
+void wxNativeFontInfo::SetFaceName(const wxString& facename_)
 {
     faceName = facename_;
 }
@@ -601,7 +595,7 @@ wxString wxNativeFontInfo::ToUserString() const
     wxFontEncoding enc = GetEncoding();
     if ( enc != wxFONTENCODING_DEFAULT && enc != wxFONTENCODING_SYSTEM )
     {
-        desc << _T(' ') << wxFontMapper::Get()->GetEncodingName(enc);
+        desc << _T(' ') << wxFontMapper::GetEncodingName(enc);
     }
 #endif // wxUSE_FONTMAP
 
@@ -693,4 +687,3 @@ bool wxNativeFontInfo::FromUserString(const wxString& s)
 }
 
 #endif // generic or wxMSW or wxOS2
-