m_nsFont = (NSFont*) wxMacCocoaRetain(data.m_nsFont);
#endif
#if wxOSX_USE_IPHONE
- m_uiFont = wxMacCocoaRetain(data.m_uiFont);
+ m_uiFont = (UIFont*) wxMacCocoaRetain(data.m_uiFont);
#endif
}
#endif
m_cgFont.reset();
#if wxOSX_USE_ATSU_TEXT
+#if wxOSX_USE_CARBON
+ m_macThemeFontID = kThemeCurrentPortFont ;
+#endif
if ( m_macATSUStyle )
{
::ATSUDisposeStyle((ATSUStyle)m_macATSUStyle);
if ( style & underline )
underlined = true ;
- m_info.Init(size,wxFONTFAMILY_DEFAULT,fontstyle,fontweight,underlined,
+ m_info.Init(fontSize,wxFONTFAMILY_DEFAULT,fontstyle,fontweight,underlined,
wxMacMakeStringFromPascal( qdFontName ), wxFONTENCODING_DEFAULT);
}
}
kATSUQDCondensedTag ,
kATSUQDExtendedTag ,
};
- ByteCount atsuSizes[sizeof(atsuTags) / sizeof(ATSUAttributeTag)] =
+ ByteCount atsuSizes[WXSIZEOF(atsuTags)] =
{
sizeof( ATSUFontID ) ,
sizeof( Fixed ) ,
Fixed atsuSize = IntToFixed( m_info.m_pointSize );
ATSUVerticalCharacterType kHorizontal = kATSUStronglyHorizontal;
FMFontStyle addQDStyle = m_info.m_atsuAdditionalQDStyles;
- ATSUAttributeValuePtr atsuValues[sizeof(atsuTags) / sizeof(ATSUAttributeTag)] =
+ ATSUAttributeValuePtr atsuValues[WXSIZEOF(atsuTags)] =
{
&m_info.m_atsuFontID ,
&atsuSize ,
status = ::ATSUSetAttributes(
(ATSUStyle)m_macATSUStyle,
- sizeof(atsuTags) / sizeof(ATSUAttributeTag) ,
+ WXSIZEOF(atsuTags),
atsuTags, atsuSizes, atsuValues);
wxASSERT_MSG( status == noErr , wxT("couldn't modify ATSU style") );
{
}
+void wxFont::DoSetNativeFontInfo(const wxNativeFontInfo& info)
+{
+ UnRef();
+
+ m_refData = new wxFontRefData( info);
+}
+
+
bool wxFont::RealizeResource()
{
M_FONTDATA->MacFindFont();
#if WXWIN_COMPATIBILITY_2_8
wxUint32 wxFont::MacGetATSUFontID() const
{
- wxCHECK_MSG( M_FONTDATA != NULL , NULL, wxT("invalid font") );
+ wxCHECK_MSG( M_FONTDATA != NULL, 0, wxT("invalid font") );
// cast away constness otherwise lazy font resolution is not possible
const_cast<wxFont *>(this)->RealizeResource();
wxUint32 wxFont::MacGetATSUAdditionalQDStyles() const
{
- wxCHECK_MSG( M_FONTDATA != NULL , NULL, wxT("invalid font") );
+ wxCHECK_MSG( M_FONTDATA != NULL, 0, wxT("invalid font") );
// cast away constness otherwise lazy font resolution is not possible
const_cast<wxFont *>(this)->RealizeResource();
#endif
#if wxOSX_USE_COCOA
m_nsFontDescriptor = NULL;
-#endif
-#if wxOSX_USE_IPHONE
- m_uiFontDescriptor = NULL;
#endif
m_pointSize = 0;
m_family = wxFONTFAMILY_DEFAULT;
m_weight = wxFONTWEIGHT_NORMAL;
m_underlined = false;
m_faceName.clear();
- m_encoding = wxFONTENCODING_DEFAULT;
+ m_encoding = wxFont::GetDefaultEncoding();
m_descriptorValid = false;
}
// ATSUFontID and FMFont are equivalent
FMFontStyle intrinsicStyle = 0 ;
OSStatus status = FMGetFontFromFontFamilyInstance( m_qdFontFamily , m_qdFontStyle , (FMFont*)&m_atsuFontID , &intrinsicStyle);
- wxASSERT_MSG( status == noErr , wxT("couldn't get an ATSUFont from font family") );
+ if ( status != noErr )
+ {
+ wxFAIL_MSG( wxT("couldn't get an ATSUFont from font family") );
+ }
m_atsuAdditionalQDStyles = m_qdFontStyle & (~intrinsicStyle );
m_atsuFontValid = true;
}
#endif
#if wxOSX_USE_COCOA
m_nsFontDescriptor = (NSFontDescriptor*) wxMacCocoaRetain(info.m_nsFontDescriptor);
-#endif
-#if wxOSX_USE_IPHONE
- m_uiFontDescriptor = wxMacCocoaRetain(info.m_uiFontDescriptor);;
#endif
m_pointSize = info.m_pointSize;
m_family = info.m_family;
m_weight = weight;
m_underlined = underlined;
m_faceName = faceName;
+ if ( encoding == wxFONTENCODING_DEFAULT )
+ encoding = wxFont::GetDefaultEncoding();
m_encoding = encoding;
}
#if wxOSX_USE_COCOA
wxMacCocoaRelease(m_nsFontDescriptor);
m_nsFontDescriptor = NULL;
-#endif
-#if wxOSX_USE_IPHONE
- wxMacCocoaRelease(m_uiFontDescriptor);
- m_uiFontDescriptor = NULL
#endif
m_descriptorValid = false;
}
{
long l;
- wxStringTokenizer tokenizer(s, _T(";"));
+ wxStringTokenizer tokenizer(s, wxT(";"));
wxString token = tokenizer.GetNextToken();
//
{
wxString s;
- s.Printf(_T("%d;%d;%d;%d;%d;%d;%s;%d"),
+ s.Printf(wxT("%d;%d;%d;%d;%d;%d;%s;%d"),
0, // version
m_pointSize,
m_family,
void wxNativeFontInfo::SetEncoding(wxFontEncoding encoding_)
{
+ if ( encoding_ == wxFONTENCODING_DEFAULT )
+ encoding_ = wxFont::GetDefaultEncoding();
m_encoding = encoding_;
// not reflected in native descriptors
-}
\ No newline at end of file
+}