X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e75491071dbefcada61175e3eb89ce4edf335983..0888ccc71f062fcf31845a04cce3cf1dfe799e05:/src/mac/carbon/font.cpp diff --git a/src/mac/carbon/font.cpp b/src/mac/carbon/font.cpp index d7d7b12cc8..2d3e5f9033 100644 --- a/src/mac/carbon/font.cpp +++ b/src/mac/carbon/font.cpp @@ -16,15 +16,16 @@ #include "wx/defs.h" #include "wx/string.h" #include "wx/font.h" +#include "wx/fontutil.h" #include "wx/gdicmn.h" +#include "wx/utils.h" + +#include "wx/fontutil.h" #if !USE_SHARED_LIBRARIES IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject) #endif - - - // ============================================================================ // implementation // ============================================================================ @@ -79,7 +80,7 @@ void wxFontRefData::MacFindFont() ::GetFNum( "\pTimes" , &m_macFontNum) ; break ; case wxSWISS : - ::GetFNum( "\pHelvetica" , &m_macFontNum) ; + ::GetFNum( "\pGeneva" , &m_macFontNum) ; break ; case wxMODERN : ::GetFNum( "\pMonaco" , &m_macFontNum) ; @@ -94,9 +95,13 @@ void wxFontRefData::MacFindFont() m_macFontNum = ::GetAppFont() ; else { - strcpy(wxBuffer, m_faceName); - C2PStr(wxBuffer); - ::GetFNum( (unsigned char*) wxBuffer, &m_macFontNum); +#if TARGET_CARBON + c2pstrcpy( (StringPtr) wxBuffer, m_faceName ) ; +#else + strcpy( (char *) wxBuffer, m_faceName ) ; + c2pstr( (char *) wxBuffer ) ; +#endif + ::GetFNum( (StringPtr) wxBuffer, &m_macFontNum); } } @@ -116,8 +121,19 @@ void wxFontRefData::MacFindFont() void wxFont::Init() { - if ( wxTheFontList ) - wxTheFontList->Append(this); +} + +bool wxFont::Create(const wxNativeFontInfo& info) +{ + return Create(info.pointSize, info.family, info.style, info.weight, + info.underlined, info.faceName, info.encoding); +} + +wxFont::wxFont(const wxString& fontdesc) +{ + wxNativeFontInfo info; + if ( info.FromString(fontdesc) ) + (void)Create(info); } bool wxFont::Create(int pointSize, @@ -139,8 +155,6 @@ bool wxFont::Create(int pointSize, wxFont::~wxFont() { - if (wxTheFontList) - wxTheFontList->DeleteObject(this); } bool wxFont::RealizeResource() @@ -149,6 +163,15 @@ bool wxFont::RealizeResource() return TRUE; } +void wxFont::SetEncoding(wxFontEncoding encoding) +{ + Unshare(); + + M_FONTDATA->m_encoding = encoding; + + RealizeResource(); +} + void wxFont::Unshare() { // Don't change shared data @@ -232,11 +255,6 @@ int wxFont::GetFamily() const return M_FONTDATA->m_family; } -int wxFont::GetFontId() const -{ - return M_FONTDATA->m_fontId; -} - int wxFont::GetStyle() const { return M_FONTDATA->m_style;