NSFont -> wxFont conversion.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62526 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -37,6 +37,10 @@ public:
|
|||||||
// ctors and such
|
// ctors and such
|
||||||
wxFont() { }
|
wxFont() { }
|
||||||
|
|
||||||
|
#if wxOSX_USE_COCOA
|
||||||
|
wxFont(WX_NSFont nsfont);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if FUTURE_WXWIN_COMPATIBILITY_3_0
|
#if FUTURE_WXWIN_COMPATIBILITY_3_0
|
||||||
wxFont(int size,
|
wxFont(int size,
|
||||||
int family,
|
int family,
|
||||||
@@ -153,6 +157,7 @@ public:
|
|||||||
WX_NSFont OSXGetNSFont() const;
|
WX_NSFont OSXGetNSFont() const;
|
||||||
static WX_NSFont OSXCreateNSFont(wxOSXSystemFont font, wxNativeFontInfo* info);
|
static WX_NSFont OSXCreateNSFont(wxOSXSystemFont font, wxNativeFontInfo* info);
|
||||||
static WX_NSFont OSXCreateNSFont(const wxNativeFontInfo* info);
|
static WX_NSFont OSXCreateNSFont(const wxNativeFontInfo* info);
|
||||||
|
static void SetNativeInfoFromNSFont(WX_NSFont nsfont, wxNativeFontInfo* info);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if wxOSX_USE_IPHONE
|
#if wxOSX_USE_IPHONE
|
||||||
|
@@ -102,6 +102,40 @@ void* wxMacCocoaRetain( void* obj )
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
#if wxOSX_USE_COCOA
|
#if wxOSX_USE_COCOA
|
||||||
|
wxFont::wxFont(WX_NSFont nsfont)
|
||||||
|
{
|
||||||
|
[nsfont retain];
|
||||||
|
wxNativeFontInfo info;
|
||||||
|
SetNativeInfoFromNSFont(nsfont, &info);
|
||||||
|
Create(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxFont::SetNativeInfoFromNSFont(WX_NSFont nsfont, wxNativeFontInfo* info)
|
||||||
|
{
|
||||||
|
NSFontDescriptor*desc = [[nsfont fontDescriptor] retain];
|
||||||
|
if ( info->m_faceName.empty())
|
||||||
|
{
|
||||||
|
wxFontStyle fontstyle = wxFONTSTYLE_NORMAL;
|
||||||
|
wxFontWeight fontweight = wxFONTWEIGHT_NORMAL;
|
||||||
|
bool underlined = false;
|
||||||
|
|
||||||
|
int size = (int) ([desc pointSize]+0.5);
|
||||||
|
NSFontSymbolicTraits traits = [desc symbolicTraits];
|
||||||
|
|
||||||
|
if ( traits & NSFontBoldTrait )
|
||||||
|
fontweight = wxFONTWEIGHT_BOLD ;
|
||||||
|
else
|
||||||
|
fontweight = wxFONTWEIGHT_NORMAL ;
|
||||||
|
if ( traits & NSFontItalicTrait )
|
||||||
|
fontstyle = wxFONTSTYLE_ITALIC ;
|
||||||
|
|
||||||
|
wxCFStringRef fontname( [desc postscriptName] );
|
||||||
|
info->Init(size,wxFONTFAMILY_DEFAULT,fontstyle,fontweight,underlined,
|
||||||
|
fontname.AsString(), wxFONTENCODING_DEFAULT);
|
||||||
|
|
||||||
|
}
|
||||||
|
info->m_nsFontDescriptor = desc;
|
||||||
|
}
|
||||||
|
|
||||||
WX_NSFont wxFont::OSXCreateNSFont(wxOSXSystemFont font, wxNativeFontInfo* info)
|
WX_NSFont wxFont::OSXCreateNSFont(wxOSXSystemFont font, wxNativeFontInfo* info)
|
||||||
{
|
{
|
||||||
@@ -138,29 +172,7 @@ WX_NSFont wxFont::OSXCreateNSFont(wxOSXSystemFont font, wxNativeFontInfo* info)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
[nsfont retain];
|
[nsfont retain];
|
||||||
NSFontDescriptor*desc = [[nsfont fontDescriptor] retain];
|
SetNativeInfoFromNSFont(nsfont, info);
|
||||||
if ( info->m_faceName.empty())
|
|
||||||
{
|
|
||||||
wxFontStyle fontstyle = wxFONTSTYLE_NORMAL;
|
|
||||||
wxFontWeight fontweight = wxFONTWEIGHT_NORMAL;
|
|
||||||
bool underlined = false;
|
|
||||||
|
|
||||||
int size = (int) ([desc pointSize]+0.5);
|
|
||||||
NSFontSymbolicTraits traits = [desc symbolicTraits];
|
|
||||||
|
|
||||||
if ( traits & NSFontBoldTrait )
|
|
||||||
fontweight = wxFONTWEIGHT_BOLD ;
|
|
||||||
else
|
|
||||||
fontweight = wxFONTWEIGHT_NORMAL ;
|
|
||||||
if ( traits & NSFontItalicTrait )
|
|
||||||
fontstyle = wxFONTSTYLE_ITALIC ;
|
|
||||||
|
|
||||||
wxCFStringRef fontname( [desc postscriptName] );
|
|
||||||
info->Init(size,wxFONTFAMILY_DEFAULT,fontstyle,fontweight,underlined,
|
|
||||||
fontname.AsString(), wxFONTENCODING_DEFAULT);
|
|
||||||
|
|
||||||
}
|
|
||||||
info->m_nsFontDescriptor = desc;
|
|
||||||
return nsfont;
|
return nsfont;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user