// Unofficial API, don't use
virtual void SetNoAntiAliasing( bool noAA = TRUE ) ;
virtual bool GetNoAntiAliasing() ;
+
+ // Mac-specific, risks to change, don't use in portable code
+ short GetMacFontNum() const;
+ short GetMacFontSize() const;
+ wxByte GetMacFontStyle() const;
+ wxUint32 GetMacATSUFontID() const;
+
protected:
// common part of all ctors
void Init();
ClipRect( drawRect );
EraseRect( drawRect );
- wxFontRefData * font = (wxFontRefData*) (list->GetFont().GetRefData()) ;
-
- if ( font )
+ const wxFont& font = list->GetFont();
+ if ( font.Ok() )
{
- ::TextFont( font->m_macFontNum ) ;
- ::TextSize( font->m_macFontSize) ;
- ::TextFace( font->m_macFontStyle ) ;
+ ::TextFont( font.GetMacFontNum() ) ;
+ ::TextSize( font.GetMacFontSize()) ;
+ ::TextFace( font.GetMacFontStyle() ) ;
}
ThemeButtonDrawInfo info ;
GetThemeMetric(kThemeMetricCheckBoxWidth,(long *)&m_checkBoxWidth);
GetThemeMetric(kThemeMetricCheckBoxHeight,&h);
#endif
- wxFontRefData * font = (wxFontRefData*) (GetFont().GetRefData()) ;
+
+ const wxFont& font = GetFont();
FontInfo finfo;
- FetchFontInfo(font->m_macFontNum,short(font->m_macFontSize),font->m_macFontStyle,&finfo);
+ FetchFontInfo(font.GetMacFontNum(),font.GetMacFontSize(),font.GetMacFontStyle(),&finfo);
m_TextBaseLineOffset= finfo.leading+finfo.ascent;
m_checkBoxHeight= finfo.leading+finfo.ascent+finfo.descent;
#endif
{
wxMacPortStateHelper st( UMAGetWindowPort( (WindowRef) MacGetRootWindow() ) ) ;
- wxFontRefData * font = (wxFontRefData*) m_font.GetRefData() ;
- if ( font )
+ if ( m_font.Ok() )
{
- ::TextFont( font->m_macFontNum ) ;
- ::TextSize( short(font->m_macFontSize) ) ;
- ::TextFace( font->m_macFontStyle ) ;
+ ::TextFont( m_font.GetMacFontNum() ) ;
+ ::TextSize( m_font.GetMacFontSize() ) ;
+ ::TextFace( m_font.GetMacFontStyle() ) ;
}
else
{
wxMacFastPortSetter helper(this) ;
MacInstallFont() ;
- wxFontRefData * font = (wxFontRefData*) m_font.GetRefData() ;
if ( 0 )
{
m_macFormerAliasState = IsAntiAliasedTextEnabled(&m_macFormerAliasSize);
- SetAntiAliasedTextEnabled(true, SInt16(m_scaleY * font->m_macFontSize));
+ SetAntiAliasedTextEnabled(true, SInt16(m_scaleY * m_font.GetMacFontSize()));
m_macAliasWasEnabled = true ;
}
OSStatus status = noErr ;
// return ;
Pattern blackColor ;
MacSetupBackgroundForCurrentPort(m_backgroundBrush) ;
- wxFontRefData * font = (wxFontRefData*) m_font.GetRefData() ;
- if ( font )
+ if ( m_font.Ok() )
{
- ::TextFont( font->m_macFontNum ) ;
- ::TextSize( short(m_scaleY * font->m_macFontSize) ) ;
- ::TextFace( font->m_macFontStyle ) ;
+ ::TextFont( m_font.GetMacFontNum() ) ;
+ ::TextSize( (short)(m_scaleY * m_font.GetMacFontSize()) ) ;
+ ::TextFace( m_font.GetMacFontStyle() ) ;
m_macFontInstalled = true ;
m_macBrushInstalled = false ;
m_macPenInstalled = false ;
}
::PenMode( mode ) ;
OSStatus status = noErr ;
- Fixed atsuSize = IntToFixed( int(m_scaleY * font->m_macFontSize) ) ;
- Style qdStyle = font->m_macFontStyle ;
- ATSUFontID atsuFont = font->m_macATSUFontID ;
+ Fixed atsuSize = IntToFixed( int(m_scaleY * m_font.GetMacFontSize()) ) ;
+ Style qdStyle = m_font.GetMacFontStyle() ;
+ ATSUFontID atsuFont = m_font.GetMacATSUFontID() ;
status = ::ATSUCreateStyle((ATSUStyle *)&m_macATSUIStyle) ;
wxASSERT_MSG( status == noErr , wxT("couldn't create ATSU style") ) ;
ATSUAttributeTag atsuTags[] =
// accessors
// ----------------------------------------------------------------------------
+// TODO: insert checks everywhere for M_FONTDATA == NULL!
+
int wxFont::GetPointSize() const
{
return M_FONTDATA->m_pointSize;
return M_FONTDATA->m_noAA;
}
+short wxFont::GetMacFontNum() const
+{
+ return M_FONTDATA->m_macFontNum;
+}
+
+short wxFont::GetMacFontSize() const
+{
+ return M_FONTDATA->m_macFontSize;
+}
+
+wxByte wxFont::GetMacFontStyle() const
+{
+ return M_FONTDATA->m_macFontStyle;
+}
+
+wxUint32 wxFont::GetMacATSUFontID() const
+{
+ return M_FONTDATA->m_macATSUFontID;
+}
+
const wxNativeFontInfo *wxFont::GetNativeFontInfo() const
{
wxCHECK_MSG( Ok(), NULL, wxT("invalid font") );
ClipRect( drawRect );
EraseRect( drawRect );
- wxFontRefData * font = (wxFontRefData*) list->GetFont().GetRefData() ;
-
- if ( font )
+ const wxFont& font = list->GetFont();
+ if ( font.Ok() )
{
- ::TextFont( font->m_macFontNum ) ;
- ::TextSize( short(font->m_macFontSize) ) ;
- ::TextFace( font->m_macFontStyle ) ;
+ ::TextFont( font.GetMacFontNum() ) ;
+ ::TextSize( font.GetMacFontSize() ) ;
+ ::TextFace( font.GetMacFontStyle() ) ;
}
else
{
{
wxMacPortStateHelper st( UMAGetWindowPort( (WindowRef) MacGetRootWindow() ) ) ;
- wxFontRefData * font = (wxFontRefData*) m_font.GetRefData() ;
-
- if ( font )
+ if ( m_font.Ok() )
{
- ::TextFont( font->m_macFontNum ) ;
- ::TextSize( short(font->m_macFontSize) ) ;
- ::TextFace( font->m_macFontStyle ) ;
+ ::TextFont( m_font.GetMacFontNum() ) ;
+ ::TextSize( m_font.GetMacFontSize() ) ;
+ ::TextFace( m_font.GetMacFontStyle() ) ;
}
else
{
ClipRect( drawRect );
EraseRect( drawRect );
- wxFontRefData * font = (wxFontRefData*) (list->GetFont().GetRefData()) ;
-
- if ( font )
+ const wxFont& font = list->GetFont();
+ if ( font.Ok() )
{
- ::TextFont( font->m_macFontNum ) ;
- ::TextSize( font->m_macFontSize) ;
- ::TextFace( font->m_macFontStyle ) ;
+ ::TextFont( font.GetMacFontNum() ) ;
+ ::TextSize( font.GetMacFontSize()) ;
+ ::TextFace( font.GetMacFontStyle() ) ;
}
ThemeButtonDrawInfo info ;
GetThemeMetric(kThemeMetricCheckBoxWidth,(long *)&m_checkBoxWidth);
GetThemeMetric(kThemeMetricCheckBoxHeight,&h);
#endif
- wxFontRefData * font = (wxFontRefData*) (GetFont().GetRefData()) ;
+
+ const wxFont& font = GetFont();
FontInfo finfo;
- FetchFontInfo(font->m_macFontNum,short(font->m_macFontSize),font->m_macFontStyle,&finfo);
+ FetchFontInfo(font.GetMacFontNum(),font.GetMacFontSize(),font.GetMacFontStyle(),&finfo);
m_TextBaseLineOffset= finfo.leading+finfo.ascent;
m_checkBoxHeight= finfo.leading+finfo.ascent+finfo.descent;
#endif
{
wxMacPortStateHelper st( UMAGetWindowPort( (WindowRef) MacGetRootWindow() ) ) ;
- wxFontRefData * font = (wxFontRefData*) m_font.GetRefData() ;
- if ( font )
+ if ( m_font.Ok() )
{
- ::TextFont( font->m_macFontNum ) ;
- ::TextSize( short(font->m_macFontSize) ) ;
- ::TextFace( font->m_macFontStyle ) ;
+ ::TextFont( m_font.GetMacFontNum() ) ;
+ ::TextSize( m_font.GetMacFontSize() ) ;
+ ::TextFace( m_font.GetMacFontStyle() ) ;
}
else
{
wxMacFastPortSetter helper(this) ;
MacInstallFont() ;
- wxFontRefData * font = (wxFontRefData*) m_font.GetRefData() ;
if ( 0 )
{
m_macFormerAliasState = IsAntiAliasedTextEnabled(&m_macFormerAliasSize);
- SetAntiAliasedTextEnabled(true, SInt16(m_scaleY * font->m_macFontSize));
+ SetAntiAliasedTextEnabled(true, SInt16(m_scaleY * m_font.GetMacFontSize()));
m_macAliasWasEnabled = true ;
}
OSStatus status = noErr ;
// return ;
Pattern blackColor ;
MacSetupBackgroundForCurrentPort(m_backgroundBrush) ;
- wxFontRefData * font = (wxFontRefData*) m_font.GetRefData() ;
- if ( font )
+ if ( m_font.Ok() )
{
- ::TextFont( font->m_macFontNum ) ;
- ::TextSize( short(m_scaleY * font->m_macFontSize) ) ;
- ::TextFace( font->m_macFontStyle ) ;
+ ::TextFont( m_font.GetMacFontNum() ) ;
+ ::TextSize( (short)(m_scaleY * m_font.GetMacFontSize()) ) ;
+ ::TextFace( m_font.GetMacFontStyle() ) ;
m_macFontInstalled = true ;
m_macBrushInstalled = false ;
m_macPenInstalled = false ;
}
::PenMode( mode ) ;
OSStatus status = noErr ;
- Fixed atsuSize = IntToFixed( int(m_scaleY * font->m_macFontSize) ) ;
- Style qdStyle = font->m_macFontStyle ;
- ATSUFontID atsuFont = font->m_macATSUFontID ;
+ Fixed atsuSize = IntToFixed( int(m_scaleY * m_font.GetMacFontSize()) ) ;
+ Style qdStyle = m_font.GetMacFontStyle() ;
+ ATSUFontID atsuFont = m_font.GetMacATSUFontID() ;
status = ::ATSUCreateStyle((ATSUStyle *)&m_macATSUIStyle) ;
wxASSERT_MSG( status == noErr , wxT("couldn't create ATSU style") ) ;
ATSUAttributeTag atsuTags[] =
// accessors
// ----------------------------------------------------------------------------
+// TODO: insert checks everywhere for M_FONTDATA == NULL!
+
int wxFont::GetPointSize() const
{
return M_FONTDATA->m_pointSize;
return M_FONTDATA->m_noAA;
}
+short wxFont::GetMacFontNum() const
+{
+ return M_FONTDATA->m_macFontNum;
+}
+
+short wxFont::GetMacFontSize() const
+{
+ return M_FONTDATA->m_macFontSize;
+}
+
+wxByte wxFont::GetMacFontStyle() const
+{
+ return M_FONTDATA->m_macFontStyle;
+}
+
+wxUint32 wxFont::GetMacATSUFontID() const
+{
+ return M_FONTDATA->m_macATSUFontID;
+}
+
const wxNativeFontInfo *wxFont::GetNativeFontInfo() const
{
wxCHECK_MSG( Ok(), NULL, wxT("invalid font") );
ClipRect( drawRect );
EraseRect( drawRect );
- wxFontRefData * font = (wxFontRefData*) list->GetFont().GetRefData() ;
-
- if ( font )
+ const wxFont& font = list->GetFont();
+ if ( font.Ok() )
{
- ::TextFont( font->m_macFontNum ) ;
- ::TextSize( short(font->m_macFontSize) ) ;
- ::TextFace( font->m_macFontStyle ) ;
+ ::TextFont( font.GetMacFontNum() ) ;
+ ::TextSize( font.GetMacFontSize() ) ;
+ ::TextFace( font.GetMacFontStyle() ) ;
}
else
{
{
wxMacPortStateHelper st( UMAGetWindowPort( (WindowRef) MacGetRootWindow() ) ) ;
- wxFontRefData * font = (wxFontRefData*) m_font.GetRefData() ;
-
- if ( font )
+ if ( m_font.Ok() )
{
- ::TextFont( font->m_macFontNum ) ;
- ::TextSize( short(font->m_macFontSize) ) ;
- ::TextFace( font->m_macFontStyle ) ;
+ ::TextFont( m_font.GetMacFontNum() ) ;
+ ::TextSize( m_font.GetMacFontSize() ) ;
+ ::TextFace( m_font.GetMacFontStyle() ) ;
}
else
{