]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mgl/font.cpp
added constructor for compliance with wxPython
[wxWidgets.git] / src / mgl / font.cpp
index 26456824c79e5a95eb81ffc4bcc590af62463cb0..3120a1d59f097a0c2ff4b6c1a99f1f6095930e88 100644 (file)
@@ -2,7 +2,7 @@
 // Name:        font.cpp
 // Author:      Vaclav Slavik
 // Id:          $Id$
-// Copyright:   (c) 2001, Vaclav Slavik
+// Copyright:   (c) 2001 SciTech Software, Inc. (www.scitechsoft.com)
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
     #pragma implementation "font.h"
 #endif
 
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
 #include "wx/font.h"
 #include "wx/fontutil.h"
 #include "wx/cmndata.h"
@@ -26,8 +33,7 @@
 #include "wx/gdicmn.h"
 #include "wx/tokenzr.h"
 #include "wx/settings.h"
-
-#include <strings.h>
+#include "wx/mgl/private.h"
 
 // ----------------------------------------------------------------------------
 // wxFontRefData
@@ -125,6 +131,7 @@ wxFontRefData::wxFontRefData(const wxFontRefData& data)
     m_valid = data.m_valid;
     if ( m_library )
         m_library->IncRef();
+    wxLogTrace("mgl_font", "created fntrefdata %p, library is %p", this, m_library);
 }
 
 wxFontRefData::wxFontRefData(int size, int family, int style,
@@ -133,10 +140,12 @@ wxFontRefData::wxFontRefData(int size, int family, int style,
                              wxFontEncoding encoding)
 {
     Init(size, family, style, weight, underlined, faceName, encoding);
+    wxLogTrace("mgl_font", "created fntrefdata %p, library is %p", this, m_library);
 }
 
 wxFontRefData::~wxFontRefData()
 {
+    wxLogTrace("mgl_font", "destructing fntrefdata %p, library is %p", this, m_library);
     if ( m_library )
         m_library->DecRef();
 }
@@ -147,12 +156,6 @@ wxFontRefData::~wxFontRefData()
 
 IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject)
 
-void wxFont::Init()
-{
-    if (wxTheFontList)
-        wxTheFontList->Append(this);
-}
-
 bool wxFont::Create(const wxNativeFontInfo& info)
 {
     return Create(info.pointSize, info.family, info.style, info.weight,
@@ -203,12 +206,6 @@ void wxFont::Unshare()
     }
 }
 
-wxFont::~wxFont()
-{
-    if (wxTheFontList)
-        wxTheFontList->DeleteObject(this);
-}
-
 // ----------------------------------------------------------------------------
 // accessors
 // ----------------------------------------------------------------------------
@@ -263,6 +260,13 @@ wxFontEncoding wxFont::GetEncoding() const
     return M_FONTDATA->m_encoding;
 }
 
+bool wxFont::IsFixedWidth() const
+{
+    wxCHECK_MSG( Ok(), FALSE, wxT("invalid font") );
+
+    return (bool)(M_FONTDATA->m_library->GetFamily()->GetInfo()->isFixed);
+}
+
 
 // ----------------------------------------------------------------------------
 // change font attributes