CoreText font enumeration support for iOS

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Stefan Csomor
2012-06-14 21:46:34 +00:00
parent 51b0f3719b
commit 8ffac5b07b
2 changed files with 14 additions and 1 deletions

View File

@@ -31,6 +31,10 @@
// wxFontEnumerator // wxFontEnumerator
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#if wxOSX_USE_IPHONE
extern CFArrayRef CopyAvailableFontFamilyNames();
#endif
bool wxFontEnumerator::EnumerateFacenames(wxFontEncoding encoding, bool wxFontEnumerator::EnumerateFacenames(wxFontEncoding encoding,
bool fixedWidthOnly) bool fixedWidthOnly)
{ {
@@ -41,7 +45,8 @@ bool wxFontEnumerator::EnumerateFacenames(wxFontEncoding encoding,
#if wxOSX_USE_CORE_TEXT #if wxOSX_USE_CORE_TEXT
{ {
CFArrayRef cfFontFamilies = nil; CFArrayRef cfFontFamilies = nil;
#if wxOSX_USE_COCOA_OR_CARBON
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6) #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
if ( UMAGetSystemVersion() >= 0x1060 ) if ( UMAGetSystemVersion() >= 0x1060 )
cfFontFamilies = CTFontManagerCopyAvailableFontFamilyNames(); cfFontFamilies = CTFontManagerCopyAvailableFontFamilyNames();
@@ -89,6 +94,9 @@ bool wxFontEnumerator::EnumerateFacenames(wxFontEncoding encoding,
cfFontFamilies = atsfontnames; cfFontFamilies = atsfontnames;
#endif #endif
} }
#elif wxOSX_USE_IPHONE
cfFontFamilies = CopyAvailableFontFamilyNames();
#endif
CFIndex count = CFArrayGetCount(cfFontFamilies); CFIndex count = CFArrayGetCount(cfFontFamilies);
for(CFIndex i = 0; i < count; i++) for(CFIndex i = 0; i < count; i++)

View File

@@ -118,6 +118,11 @@ extern UIFont* CreateUIFont( const wxFont& font )
return [UIFont fontWithName:wxCFStringRef(font.GetFaceName() ).AsNSString() size:font.GetPointSize()]; return [UIFont fontWithName:wxCFStringRef(font.GetFaceName() ).AsNSString() size:font.GetPointSize()];
} }
CFArrayRef CopyAvailableFontFamilyNames()
{
return (CFArrayRef) [[UIFont familyNames] retain];
}
extern void DrawTextInContext( CGContextRef context, CGPoint where, UIFont *font, NSString* text ) extern void DrawTextInContext( CGContextRef context, CGPoint where, UIFont *font, NSString* text )
{ {
bool contextChanged = ( UIGraphicsGetCurrentContext() != context ); bool contextChanged = ( UIGraphicsGetCurrentContext() != context );