Remove ATSU-related dead code from wxOSX

ATSU was deprecated for a long time and was finally removed from OS X
SDK in 10.11. wxOSX_USE_ATSU_TEXT was unconditionally disabled already,
so the code was never used and can be safely removed.
This commit is contained in:
Václav Slavík
2016-12-03 12:44:10 +01:00
parent 40a04218f4
commit c9b1ebf816
6 changed files with 0 additions and 334 deletions

View File

@@ -158,21 +158,10 @@ public:
wxFontEncoding encoding);
void Free();
void EnsureValid();
static void UpdateNamesMap(const wxString& familyname, CTFontDescriptorRef descr);
static void UpdateNamesMap(const wxString& familyname, CTFontRef font);
bool m_descriptorValid;
#if wxOSX_USE_ATSU_TEXT
bool m_atsuFontValid;
// the atsu font ID
wxUint32 m_atsuFontID;
// the qd styles that are not intrinsic to the font above
wxInt16 m_atsuAdditionalQDStyles;
#endif
int m_pointSize;
wxFontFamily m_family;
wxFontStyle m_style;

View File

@@ -26,12 +26,6 @@
#define wxOSX_USE_NATIVE_FLIPPED 1
#endif
/*
* text rendering system
*/
#define wxOSX_USE_ATSU_TEXT 0
/*
* Audio System
*/

View File

@@ -145,15 +145,6 @@ public:
CTFontRef OSXGetCTFont() const;
#if wxOSX_USE_ATSU_TEXT
// Returns an ATSUStyle not ATSUStyle*
void* MacGetATSUStyle() const ;
void* OSXGetATSUStyle() const { return MacGetATSUStyle() ; }
wxDEPRECATED( wxUint32 MacGetATSUFontID() const );
wxDEPRECATED( wxUint32 MacGetATSUAdditionalQDStyles() const );
#endif
#if wxOSX_USE_COCOA
WX_NSFont OSXGetNSFont() const;
static WX_NSFont OSXCreateNSFont(wxOSXSystemFont font, wxNativeFontInfo* info);

View File

@@ -19,7 +19,6 @@
* under a certain platform
*/
#define wxOSX_USE_ATSU_TEXT 0
#define wxHAS_OPENGL_ES
#define wxOSX_USE_QUICKTIME 0

View File

@@ -158,11 +158,6 @@ protected:
public:
bool m_fontValid;
wxCFRef<CTFontRef> m_ctFont;
#if wxOSX_USE_ATSU_TEXT
void CreateATSUFont();
ATSUStyle m_macATSUStyle ;
#endif
wxCFRef<CGFontRef> m_cgFont;
#if wxOSX_USE_COCOA
WX_NSFont m_nsFont;
@@ -182,13 +177,6 @@ wxFontRefData::wxFontRefData(const wxFontRefData& data) : wxGDIRefData()
m_fontValid = data.m_fontValid;
m_ctFont = data.m_ctFont;
m_cgFont = data.m_cgFont;
#if wxOSX_USE_ATSU_TEXT
if ( data.m_macATSUStyle != NULL )
{
ATSUCreateStyle(&m_macATSUStyle) ;
ATSUCopyAttributes(data.m_macATSUStyle, m_macATSUStyle);
}
#endif
#if wxOSX_USE_COCOA
m_nsFont = (NSFont*) wxMacCocoaRetain(data.m_nsFont);
#endif
@@ -211,9 +199,6 @@ static CTFontDescriptorRef wxMacCreateCTFontDescriptor(CFStringRef iFamilyName,
void wxFontRefData::Init()
{
#if wxOSX_USE_ATSU_TEXT
m_macATSUStyle = NULL ;
#endif
#if wxOSX_USE_COCOA
m_nsFont = NULL;
#endif
@@ -232,13 +217,6 @@ void wxFontRefData::Free()
{
m_ctFont.reset();
m_cgFont.reset();
#if wxOSX_USE_ATSU_TEXT
if ( m_macATSUStyle )
{
::ATSUDisposeStyle((ATSUStyle)m_macATSUStyle);
m_macATSUStyle = NULL ;
}
#endif
#if wxOSX_USE_COCOA
if (m_nsFont != NULL)
{
@@ -297,151 +275,17 @@ wxFontRefData::wxFontRefData(wxOSXSystemFont font, int size)
descr.reset( CTFontCopyFontDescriptor( m_ctFont ) );
m_info.Init(descr);
}
#if wxOSX_USE_ATSU_TEXT
{
// not needed outside
ThemeFontID m_macThemeFontID = kThemeSystemFont;
switch( font )
{
case wxOSX_SYSTEM_FONT_NORMAL:
m_macThemeFontID = kThemeSystemFont;
break;
case wxOSX_SYSTEM_FONT_BOLD:
m_macThemeFontID = kThemeEmphasizedSystemFont;
break;
case wxOSX_SYSTEM_FONT_SMALL:
m_macThemeFontID = kThemeSmallSystemFont;
break;
case wxOSX_SYSTEM_FONT_SMALL_BOLD:
m_macThemeFontID = kThemeSmallEmphasizedSystemFont;
break;
case wxOSX_SYSTEM_FONT_MINI:
m_macThemeFontID = kThemeMiniSystemFont;
break;
case wxOSX_SYSTEM_FONT_MINI_BOLD:
// bold not available under theming
m_macThemeFontID = kThemeMiniSystemFont;
break;
case wxOSX_SYSTEM_FONT_LABELS:
m_macThemeFontID = kThemeLabelFont;
break;
case wxOSX_SYSTEM_FONT_VIEWS:
m_macThemeFontID = kThemeViewsFont;
break;
default:
break;
}
if ( m_info.m_faceName.empty() )
{
Style style ;
FMFontSize fontSize;
Str255 qdFontName ;
GetThemeFont( m_macThemeFontID, GetApplicationScript(), qdFontName, &fontSize, &style );
if ( size != 0 )
fontSize = size;
wxFontStyle fontstyle = wxFONTSTYLE_NORMAL;
wxFontWeight fontweight = wxFONTWEIGHT_NORMAL;
bool underlined = false;
bool strikethrough = false;
if ( style & bold )
fontweight = wxFONTWEIGHT_BOLD ;
else
fontweight = wxFONTWEIGHT_NORMAL ;
if ( style & italic )
fontstyle = wxFONTSTYLE_ITALIC ;
if ( style & underline )
underlined = true ;
m_info.Init(fontSize,wxFONTFAMILY_DEFAULT,fontstyle,
fontweight,underlined, strikethrough,
wxMacMakeStringFromPascal( qdFontName ), wxFONTENCODING_DEFAULT);
}
}
#endif
#if wxOSX_USE_COCOA
m_nsFont = wxFont::OSXCreateNSFont( font, &m_info );
#endif
#if wxOSX_USE_IPHONE
m_uiFont = wxFont::OSXCreateUIFont( font, &m_info );
#endif
m_info.EnsureValid();
#if wxOSX_USE_ATSU_TEXT
CreateATSUFont();
#endif
m_fontValid = true;
}
#if wxOSX_USE_ATSU_TEXT
void wxFontRefData::CreateATSUFont()
{
// we try to get as much styles as possible into ATSU
OSStatus status = ::ATSUCreateStyle(&m_macATSUStyle);
wxASSERT_MSG( status == noErr , wxT("couldn't create ATSU style") );
ATSUAttributeTag atsuTags[] =
{
kATSUFontTag ,
kATSUSizeTag ,
kATSUVerticalCharacterTag,
kATSUQDBoldfaceTag ,
kATSUQDItalicTag ,
kATSUQDUnderlineTag ,
kATSUQDCondensedTag ,
kATSUQDExtendedTag ,
kATSUStyleStrikeThroughTag
};
ByteCount atsuSizes[WXSIZEOF(atsuTags)] =
{
sizeof( ATSUFontID ) ,
sizeof( Fixed ) ,
sizeof( ATSUVerticalCharacterType),
sizeof( Boolean ) ,
sizeof( Boolean ) ,
sizeof( Boolean ) ,
sizeof( Boolean ) ,
sizeof( Boolean ) ,
sizeof( Boolean )
};
Boolean kTrue = true ;
Boolean kFalse = false ;
Fixed atsuSize = IntToFixed( m_info.m_pointSize );
ATSUVerticalCharacterType kHorizontal = kATSUStronglyHorizontal;
FMFontStyle addQDStyle = m_info.m_atsuAdditionalQDStyles;
ATSUAttributeValuePtr atsuValues[WXSIZEOF(atsuTags)] =
{
&m_info.m_atsuFontID ,
&atsuSize ,
&kHorizontal,
(addQDStyle & bold) ? &kTrue : &kFalse ,
(addQDStyle & italic) ? &kTrue : &kFalse ,
(addQDStyle & underline) ? &kTrue : &kFalse ,
(addQDStyle & condense) ? &kTrue : &kFalse ,
(addQDStyle & extend) ? &kTrue : &kFalse ,
m_info.m_strikethrough ? & kTrue : &kFalse
};
status = ::ATSUSetAttributes(
(ATSUStyle)m_macATSUStyle,
WXSIZEOF(atsuTags),
atsuTags, atsuSizes, atsuValues);
wxASSERT_MSG( status == noErr , wxString::Format(wxT("couldn't modify ATSU style. Status was %d"), (int) status).c_str() );
if ( m_cgFont.get() == NULL )
{
ATSFontRef fontRef = FMGetATSFontRefFromFont(m_info.m_atsuFontID);
m_cgFont.reset( CGFontCreateWithPlatformFont( &fontRef ) );
}
}
#endif
static const CGAffineTransform kSlantTransform = CGAffineTransformMake( 1, 0, tan(wxDegToRad(11)), 1, 0, 0 );
void wxFontRefData::MacFindFont()
@@ -451,8 +295,6 @@ void wxFontRefData::MacFindFont()
wxCHECK_RET( m_info.m_pointSize > 0, wxT("Point size should not be zero.") );
m_info.EnsureValid();
{
CTFontSymbolicTraits traits = 0;
@@ -528,9 +370,6 @@ void wxFontRefData::MacFindFont()
m_cgFont.reset(CTFontCopyGraphicsFont(m_ctFont, NULL));
}
#if wxOSX_USE_ATSU_TEXT
CreateATSUFont();
#endif
#if wxOSX_USE_COCOA
m_nsFont = wxFont::OSXCreateNSFont( &m_info );
#endif
@@ -810,38 +649,6 @@ wxFontEncoding wxFont::GetEncoding() const
return M_FONTDATA->GetEncoding() ;
}
#if wxOSX_USE_ATSU_TEXT
void * wxFont::MacGetATSUStyle() const
{
wxCHECK_MSG( M_FONTDATA != NULL , NULL, wxT("invalid font") );
// cast away constness otherwise lazy font resolution is not possible
const_cast<wxFont *>(this)->RealizeResource();
return M_FONTDATA->m_macATSUStyle;
}
wxUint32 wxFont::MacGetATSUFontID() const
{
wxCHECK_MSG( M_FONTDATA != NULL, 0, wxT("invalid font") );
// cast away constness otherwise lazy font resolution is not possible
const_cast<wxFont *>(this)->RealizeResource();
return M_FONTDATA->m_info.m_atsuFontID;
}
wxUint32 wxFont::MacGetATSUAdditionalQDStyles() const
{
wxCHECK_MSG( M_FONTDATA != NULL, 0, wxT("invalid font") );
// cast away constness otherwise lazy font resolution is not possible
const_cast<wxFont *>(this)->RealizeResource();
return M_FONTDATA->m_info.m_atsuAdditionalQDStyles;
}
#endif
CTFontRef wxFont::OSXGetCTFont() const
{
wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") );
@@ -969,11 +776,6 @@ static CTFontDescriptorRef wxMacCreateCTFontDescriptor(CFStringRef iFamilyName,
void wxNativeFontInfo::Init()
{
#if wxOSX_USE_ATSU_TEXT
m_atsuFontID = 0 ;
m_atsuAdditionalQDStyles = 0;
m_atsuFontValid = false;
#endif
m_pointSize = 0;
m_family = wxFONTFAMILY_DEFAULT;
m_style = wxFONTSTYLE_NORMAL;
@@ -982,7 +784,6 @@ void wxNativeFontInfo::Init()
m_strikethrough = false;
m_faceName.clear();
m_encoding = wxFont::GetDefaultEncoding();
m_descriptorValid = false;
}
void wxNativeFontInfo::Init(CTFontDescriptorRef descr)
@@ -1010,62 +811,9 @@ void wxNativeFontInfo::Init(CTFontDescriptorRef descr)
UpdateNamesMap(m_faceName, descr);
}
void wxNativeFontInfo::EnsureValid()
{
if ( m_descriptorValid )
return;
#if wxOSX_USE_ATSU_TEXT
if ( !m_atsuFontValid )
{
// not needed outside
wxInt16 m_qdFontFamily;
wxInt16 m_qdFontStyle;
wxCFStringRef cf( m_faceName, wxLocale::GetSystemEncoding() );
ATSFontFamilyRef atsfamily = ATSFontFamilyFindFromName( cf , kATSOptionFlagsDefault );
if ( atsfamily == (ATSFontFamilyRef) -1 )
{
wxLogDebug( wxT("ATSFontFamilyFindFromName failed for ") + m_faceName );
m_qdFontFamily = GetAppFont();
}
else
{
m_qdFontFamily = FMGetFontFamilyFromATSFontFamilyRef( atsfamily );
}
m_qdFontStyle = 0;
if (m_weight == wxFONTWEIGHT_BOLD)
m_qdFontStyle |= bold;
if (m_style == wxFONTSTYLE_ITALIC || m_style == wxFONTSTYLE_SLANT)
m_qdFontStyle |= italic;
if (m_underlined)
m_qdFontStyle |= underline;
// we try to get as much styles as possible into ATSU
// ATSUFontID and FMFont are equivalent
FMFontStyle intrinsicStyle = 0 ;
OSStatus status = FMGetFontFromFontFamilyInstance( m_qdFontFamily , m_qdFontStyle , (FMFont*)&m_atsuFontID , &intrinsicStyle);
if ( status != noErr )
{
wxFAIL_MSG( wxT("couldn't get an ATSUFont from font family") );
}
m_atsuAdditionalQDStyles = m_qdFontStyle & (~intrinsicStyle );
m_atsuFontValid = true;
}
#endif
m_descriptorValid = true;
}
void wxNativeFontInfo::Init(const wxNativeFontInfo& info)
{
Init();
#if wxOSX_USE_ATSU_TEXT
m_atsuFontValid = info.m_atsuFontValid;
m_atsuFontID = info.m_atsuFontID ;
m_atsuAdditionalQDStyles = info.m_atsuAdditionalQDStyles;
#endif
m_pointSize = info.m_pointSize;
m_family = info.m_family;
m_style = info.m_style;
@@ -1074,7 +822,6 @@ void wxNativeFontInfo::Init(const wxNativeFontInfo& info)
m_strikethrough = info.m_strikethrough;
m_faceName = info.m_faceName;
m_encoding = info.m_encoding;
m_descriptorValid = info.m_descriptorValid;
}
void wxNativeFontInfo::Init(int size,
@@ -1111,12 +858,6 @@ void wxNativeFontInfo::Init(int size,
void wxNativeFontInfo::Free()
{
#if wxOSX_USE_ATSU_TEXT
m_atsuFontID = 0 ;
m_atsuAdditionalQDStyles = 0;
m_atsuFontValid = false;
#endif
m_descriptorValid = false;
}
bool wxNativeFontInfo::FromString(const wxString& s)

View File

@@ -823,9 +823,6 @@ public:
wxMacCoreGraphicsFontData( wxGraphicsRenderer* renderer, const wxFont &font, const wxColour& col );
~wxMacCoreGraphicsFontData();
#if wxOSX_USE_ATSU_TEXT
virtual ATSUStyle GetATSUStyle() { return m_macATSUIStyle; }
#endif
CTFontRef OSXGetCTFont() const { return m_ctFont ; }
wxColour GetColour() const { return m_colour ; }
@@ -839,9 +836,6 @@ private :
wxColour m_colour;
bool m_underlined,
m_strikethrough;
#if wxOSX_USE_ATSU_TEXT
ATSUStyle m_macATSUIStyle;
#endif
wxCFRef< CTFontRef > m_ctFont;
#if wxOSX_USE_IPHONE
UIFont* m_uiFont;
@@ -859,52 +853,10 @@ wxMacCoreGraphicsFontData::wxMacCoreGraphicsFontData(wxGraphicsRenderer* rendere
m_uiFont = CreateUIFont(font);
wxMacCocoaRetain( m_uiFont );
#endif
#if wxOSX_USE_ATSU_TEXT
OSStatus status = noErr;
m_macATSUIStyle = NULL;
status = ATSUCreateAndCopyStyle( (ATSUStyle) font.MacGetATSUStyle() , &m_macATSUIStyle );
wxASSERT_MSG( status == noErr, wxT("couldn't create ATSU style") );
// we need the scale here ...
Fixed atsuSize = IntToFixed( int( 1 * font.GetPointSize()) );
RGBColor atsuColor ;
col.GetRGBColor( &atsuColor );
ATSUAttributeTag atsuTags[] =
{
kATSUSizeTag ,
kATSUColorTag ,
};
ByteCount atsuSizes[WXSIZEOF(atsuTags)] =
{
sizeof( Fixed ) ,
sizeof( RGBColor ) ,
};
ATSUAttributeValuePtr atsuValues[WXSIZEOF(atsuTags)] =
{
&atsuSize ,
&atsuColor ,
};
status = ::ATSUSetAttributes(
m_macATSUIStyle, WXSIZEOF(atsuTags),
atsuTags, atsuSizes, atsuValues);
wxASSERT_MSG( status == noErr , wxT("couldn't modify ATSU style") );
#endif
}
wxMacCoreGraphicsFontData::~wxMacCoreGraphicsFontData()
{
#if wxOSX_USE_ATSU_TEXT
if ( m_macATSUIStyle )
{
::ATSUDisposeStyle((ATSUStyle)m_macATSUIStyle);
m_macATSUIStyle = NULL;
}
#endif
#if wxOSX_USE_IPHONE
wxMacCocoaRelease( m_uiFont );
#endif