]> git.saurik.com Git - wxWidgets.git/blobdiff - src/cocoa/font.mm
Add some version checks to help compiling on OSX.
[wxWidgets.git] / src / cocoa / font.mm
index c816fb38cc725f46e057a689f2958b116800a992..abb9ddd09e96343cbb8717b1d2e1070c529ac467 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        src/cocoa/font.cpp
+// Name:        src/cocoa/font.mm
 // Purpose:     wxFont class
 // Author:      AUTHOR
 // Modified by:
 // Purpose:     wxFont class
 // Author:      AUTHOR
 // Modified by:
@@ -64,7 +64,7 @@
     and a particular set of attributes.  Furthermore, the attributes instead of
     being flags as in NSFontManager are instead well-defined keys in a dictionary.
 
     and a particular set of attributes.  Furthermore, the attributes instead of
     being flags as in NSFontManager are instead well-defined keys in a dictionary.
 
-    The only way to get that behavior without NSFontManager is to pare down the
+    The only way to get that behaviour without NSFontManager is to pare down the
     list as much as possible using the classic NSFontManager methods and then
     to instantiate each font in the list and match on each font's afmDictionary.
 
     list as much as possible using the classic NSFontManager methods and then
     to instantiate each font in the list and match on each font's afmDictionary.
 
@@ -94,7 +94,7 @@
 static NSFont* GetNSFontForNativeFontInfo(const wxNativeFontInfo &info);
 static void UpdateNativeFontInfoWithNSFont(wxNativeFontInfo &info, NSFont *cocoaNSFont);
 static wxNativeFontInfo MakeNativeFontInfoForNSFont(NSFont *cocoaNSFont, bool underlined = false);
 static NSFont* GetNSFontForNativeFontInfo(const wxNativeFontInfo &info);
 static void UpdateNativeFontInfoWithNSFont(wxNativeFontInfo &info, NSFont *cocoaNSFont);
 static wxNativeFontInfo MakeNativeFontInfoForNSFont(NSFont *cocoaNSFont, bool underlined = false);
-static wxNativeFontInfo MakeNativeFontInfo(int size, int family, int style, int weight, bool underlined, const wxString& faceName, wxFontEncoding encoding);
+static wxNativeFontInfo MakeNativeFontInfo(int size, wxFontFamily family, wxFontStyle style, wxFontWeight weight, bool underlined, const wxString& faceName, wxFontEncoding encoding);
 
 /*! @discussion
     Due to 2.8 ABI compatibility concerns we probably don't want to change wxNativeFontInfo
 
 /*! @discussion
     Due to 2.8 ABI compatibility concerns we probably don't want to change wxNativeFontInfo
@@ -102,7 +102,7 @@ static wxNativeFontInfo MakeNativeFontInfo(int size, int family, int style, int
     wxNativeFontInfo so anyone who subclassed it or created one without going through
     wxFont should expect what they get (i.e. horrible breakage)
     There's a concern that wxFontRefData was in the public header when 2.8 shipped so
     wxNativeFontInfo so anyone who subclassed it or created one without going through
     wxFont should expect what they get (i.e. horrible breakage)
     There's a concern that wxFontRefData was in the public header when 2.8 shipped so
-    it's possible that someone did subclass it to get better font behavior.
+    it's possible that someone did subclass it to get better font behaviour.
 
     For right now, the plan is to write it strictly ABI compatible with 2.8 and eventually
     to enhance it in trunk to accurately represent font attributes as Cocoa sees them.
 
     For right now, the plan is to write it strictly ABI compatible with 2.8 and eventually
     to enhance it in trunk to accurately represent font attributes as Cocoa sees them.
@@ -146,9 +146,9 @@ public:
     }
 
     wxFontRefData(int size,
     }
 
     wxFontRefData(int size,
-                  int family,
-                  int style,
-                  int weight,
+                  wxFontFamily family,
+                  wxFontStyle style,
+                  wxFontWeight weight,
                   bool underlined,
                   const wxString& faceName,
                   wxFontEncoding encoding)
                   bool underlined,
                   const wxString& faceName,
                   wxFontEncoding encoding)
@@ -166,9 +166,9 @@ protected:
         FIXME: Remove from trunk
      */
     void Init(int size,
         FIXME: Remove from trunk
      */
     void Init(int size,
-              int family,
-              int style,
-              int weight,
+              wxFontFamily family,
+              wxFontStyle style,
+              wxFontWeight weight,
               bool underlined,
               const wxString& faceName,
               wxFontEncoding encoding);
               bool underlined,
               const wxString& faceName,
               wxFontEncoding encoding);
@@ -281,9 +281,7 @@ static wxNativeFontInfo MakeNativeFontInfoForNSFont(NSFont *cocoaNSFont, bool un
 
 //#include "_font_test_2_8_abi_compat.h"
 
 
 //#include "_font_test_2_8_abi_compat.h"
 
-IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject)
-
-static wxNativeFontInfo MakeNativeFontInfo(int size, int family, int style, int weight, bool underlined, const wxString& faceName, wxFontEncoding encoding)
+static wxNativeFontInfo MakeNativeFontInfo(int size, wxFontFamily family, wxFontStyle style, wxFontWeight weight, bool underlined, const wxString& faceName, wxFontEncoding encoding)
 {
     wxNativeFontInfo m_info; // NOTE: not an i-var despite name
     m_info.pointSize = size;
 {
     wxNativeFontInfo m_info; // NOTE: not an i-var despite name
     m_info.pointSize = size;
@@ -296,7 +294,7 @@ static wxNativeFontInfo MakeNativeFontInfo(int size, int family, int style, int
     return m_info;
 }
 
     return m_info;
 }
 
-void wxFontRefData::Init(int size, int family, int style, int weight, bool underlined, const wxString& faceName, wxFontEncoding encoding)
+void wxFontRefData::Init(int size, wxFontFamily family, wxFontStyle style, wxFontWeight weight, bool underlined, const wxString& faceName, wxFontEncoding encoding)
 {
     m_info = MakeNativeFontInfo(size, family, style, weight, underlined, faceName, encoding);
 }
 {
     m_info = MakeNativeFontInfo(size, family, style, weight, underlined, faceName, encoding);
 }
@@ -352,7 +350,7 @@ wxFontEncoding wxFont::GetEncoding() const
 
 int wxFont::GetPointSize() const
 {
 
 int wxFont::GetPointSize() const
 {
-    wxCHECK_MSG( Ok(), 0, wxT("invalid font") );
+    wxCHECK_MSG( IsOk(), 0, wxT("invalid font") );
     return M_FONTDATA->m_info.pointSize;
 }
 
     return M_FONTDATA->m_info.pointSize;
 }
 
@@ -364,31 +362,30 @@ bool wxFont::GetUnderlined() const
         return false;
 }
 
         return false;
 }
 
-int wxFont::GetStyle() const
+wxFontStyle wxFont::GetStyle() const
 {
 {
-    wxCHECK_MSG( Ok(), 0, wxT("invalid font") );
+    wxCHECK_MSG( IsOk(), 0, wxT("invalid font") );
     return M_FONTDATA->m_info.style;
 }
 
     return M_FONTDATA->m_info.style;
 }
 
-int wxFont::GetFamily() const
+wxFontFamily wxFont::DoGetFamily() const
 {
 {
-    wxCHECK_MSG( Ok(), 0, wxT("invalid font") );
     return M_FONTDATA->m_info.family;
 }
 
     return M_FONTDATA->m_info.family;
 }
 
-int wxFont::GetWeight() const
+wxFontWeight wxFont::GetWeight() const
 {
 {
-    wxCHECK_MSG( Ok(), 0, wxT("invalid font") );
+    wxCHECK_MSG( IsOk(), 0, wxT("invalid font") );
     return M_FONTDATA->m_info.weight;
 }
 
 const wxNativeFontInfo *wxFont::GetNativeFontInfo() const
 {
     return M_FONTDATA->m_info.weight;
 }
 
 const wxNativeFontInfo *wxFont::GetNativeFontInfo() const
 {
-    wxCHECK_MSG( Ok(), 0, wxT("invalid font") );
+    wxCHECK_MSG( IsOk(), 0, wxT("invalid font") );
     return &M_FONTDATA->m_info;
 }
 
     return &M_FONTDATA->m_info;
 }
 
-bool wxFont::Create(int pointSize, int family, int style, int weight, bool underlined, const wxString& faceName, wxFontEncoding encoding)
+bool wxFont::Create(int pointSize, wxFontFamily family, wxFontStyle style, wxFontWeight weight, bool underlined, const wxString& faceName, wxFontEncoding encoding)
 {
     UnRef();
     m_refData = new wxFontRefData(pointSize, family, style, weight, underlined, faceName, encoding);
 {
     UnRef();
     m_refData = new wxFontRefData(pointSize, family, style, weight, underlined, faceName, encoding);
@@ -417,7 +414,7 @@ void wxFont::SetPointSize(int pointSize)
     RealizeResource();
 }
 
     RealizeResource();
 }
 
-void wxFont::SetFamily(int family)
+void wxFont::SetFamily(wxFontFamily family)
 {
     AllocExclusive();
 
 {
     AllocExclusive();
 
@@ -426,7 +423,7 @@ void wxFont::SetFamily(int family)
     RealizeResource();
 }
 
     RealizeResource();
 }
 
-void wxFont::SetStyle(int style)
+void wxFont::SetStyle(wxFontStyle style)
 {
     AllocExclusive();
 
 {
     AllocExclusive();
 
@@ -435,7 +432,7 @@ void wxFont::SetStyle(int style)
     RealizeResource();
 }
 
     RealizeResource();
 }
 
-void wxFont::SetWeight(int weight)
+void wxFont::SetWeight(wxFontWeight weight)
 {
     AllocExclusive();
 
 {
     AllocExclusive();