cleanup - reformat
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
991f71dcc8
commit
6eaa4426e0
@ -16,19 +16,22 @@
|
||||
#include "wx/fontutil.h"
|
||||
#include "wx/gdicmn.h"
|
||||
#include "wx/utils.h"
|
||||
|
||||
#include "wx/fontutil.h"
|
||||
|
||||
#include "wx/mac/private.h"
|
||||
|
||||
#ifndef __DARWIN__
|
||||
#include <ATSUnicode.h>
|
||||
#endif
|
||||
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxFont, wxGDIObject)
|
||||
|
||||
|
||||
class WXDLLEXPORT wxFontRefData: public wxGDIRefData
|
||||
{
|
||||
friend class WXDLLEXPORT wxFont;
|
||||
|
||||
public:
|
||||
wxFontRefData()
|
||||
: m_fontId(0)
|
||||
@ -94,9 +97,15 @@ public:
|
||||
}
|
||||
|
||||
virtual ~wxFontRefData();
|
||||
void SetNoAntiAliasing( bool no = TRUE ) { m_noAA = no; }
|
||||
bool GetNoAntiAliasing() const { return m_noAA; }
|
||||
|
||||
|
||||
void SetNoAntiAliasing( bool no = true )
|
||||
{ m_noAA = no; }
|
||||
|
||||
bool GetNoAntiAliasing() const
|
||||
{ return m_noAA; }
|
||||
|
||||
void MacFindFont() ;
|
||||
|
||||
protected:
|
||||
// common part of all ctors
|
||||
void Init(int size,
|
||||
@ -117,14 +126,14 @@ protected:
|
||||
wxString m_faceName;
|
||||
wxFontEncoding m_encoding;
|
||||
bool m_noAA; // No anti-aliasing
|
||||
|
||||
|
||||
public:
|
||||
short m_macFontNum;
|
||||
short m_macFontSize;
|
||||
Style m_macFontStyle;
|
||||
|
||||
|
||||
// ATSU Font Information
|
||||
|
||||
|
||||
// this is split into an ATSU font id that may
|
||||
// contain some styles (special bold fonts etc) and
|
||||
// these are the additional qd styles that are not
|
||||
@ -132,16 +141,15 @@ public:
|
||||
ATSUStyle m_macATSUStyle ;
|
||||
ATSUFontID m_macATSUFontID;
|
||||
Style m_macATSUAdditionalQDStyles ;
|
||||
|
||||
|
||||
// for true themeing support we must store the correct font
|
||||
// information here, as this speeds up and optimizes rendering
|
||||
ThemeFontID m_macThemeFontID ;
|
||||
|
||||
wxNativeFontInfo m_info;
|
||||
|
||||
public:
|
||||
void MacFindFont() ;
|
||||
wxNativeFontInfo m_info;
|
||||
};
|
||||
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
// ============================================================================
|
||||
@ -151,12 +159,12 @@ public:
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
void wxFontRefData::Init(int pointSize,
|
||||
int family,
|
||||
int style,
|
||||
int weight,
|
||||
bool underlined,
|
||||
const wxString& faceName,
|
||||
wxFontEncoding encoding)
|
||||
int family,
|
||||
int style,
|
||||
int weight,
|
||||
bool underlined,
|
||||
const wxString& faceName,
|
||||
wxFontEncoding encoding)
|
||||
{
|
||||
m_style = style;
|
||||
m_pointSize = pointSize;
|
||||
@ -173,9 +181,9 @@ void wxFontRefData::Init(int pointSize,
|
||||
m_macATSUFontID = 0;
|
||||
m_macATSUAdditionalQDStyles = 0 ;
|
||||
m_macATSUStyle = NULL ;
|
||||
|
||||
|
||||
m_macThemeFontID = kThemeCurrentPortFont ;
|
||||
m_noAA = FALSE;
|
||||
m_noAA = false;
|
||||
}
|
||||
|
||||
wxFontRefData::~wxFontRefData()
|
||||
@ -189,10 +197,11 @@ wxFontRefData::~wxFontRefData()
|
||||
|
||||
void wxFontRefData::MacFindFont()
|
||||
{
|
||||
if ( m_macThemeFontID != kThemeCurrentPortFont )
|
||||
if ( m_macThemeFontID != kThemeCurrentPortFont )
|
||||
{
|
||||
Str255 fontName ;
|
||||
GetThemeFont(m_macThemeFontID , GetApplicationScript() , fontName , &m_macFontSize , &m_macFontStyle ) ;
|
||||
|
||||
GetThemeFont( m_macThemeFontID, GetApplicationScript(), fontName, &m_macFontSize, &m_macFontStyle );
|
||||
m_faceName = wxMacMakeStringFromPascal( fontName ) ;
|
||||
if ( m_macFontStyle & bold )
|
||||
m_weight = wxBOLD ;
|
||||
@ -202,42 +211,41 @@ void wxFontRefData::MacFindFont()
|
||||
m_style = wxITALIC ;
|
||||
if ( m_macFontStyle & underline )
|
||||
m_underlined = true ;
|
||||
::GetFNum( fontName, &m_macFontNum);
|
||||
::GetFNum( fontName, &m_macFontNum );
|
||||
m_pointSize = m_macFontSize ;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( m_faceName.Length() == 0 )
|
||||
if ( m_faceName.Length() == 0 )
|
||||
{
|
||||
switch( m_family )
|
||||
switch ( m_family )
|
||||
{
|
||||
case wxDEFAULT :
|
||||
m_macFontNum = ::GetAppFont() ;
|
||||
m_macFontNum = ::GetAppFont();
|
||||
break ;
|
||||
|
||||
case wxSCRIPT :
|
||||
case wxROMAN :
|
||||
case wxDECORATIVE :
|
||||
#ifdef __WXMAC_OSX__
|
||||
::GetFNum( "\pTimes" , &m_macFontNum) ;
|
||||
#else
|
||||
::GetFNum( "\pTimes" , &m_macFontNum) ;
|
||||
#endif
|
||||
::GetFNum( "\pTimes", &m_macFontNum );
|
||||
break ;
|
||||
|
||||
case wxSWISS :
|
||||
#ifdef __WXMAC_OSX__
|
||||
::GetFNum( "\pLucida Grande" , &m_macFontNum) ;
|
||||
::GetFNum( "\pLucida Grande", &m_macFontNum );
|
||||
#else
|
||||
::GetFNum( "\pGeneva" , &m_macFontNum) ;
|
||||
::GetFNum( "\pGeneva", &m_macFontNum );
|
||||
#endif
|
||||
break ;
|
||||
|
||||
case wxMODERN :
|
||||
#ifdef __WXMAC_OSX__
|
||||
::GetFNum( "\pMonaco" , &m_macFontNum) ;
|
||||
#else
|
||||
::GetFNum( "\pMonaco" , &m_macFontNum) ;
|
||||
#endif
|
||||
::GetFNum( "\pMonaco", &m_macFontNum );
|
||||
break ;
|
||||
|
||||
default:
|
||||
break ;
|
||||
}
|
||||
|
||||
Str255 name ;
|
||||
::GetFontName( m_macFontNum , name ) ;
|
||||
m_faceName = wxMacMakeStringFromPascal( name ) ;
|
||||
@ -259,9 +267,9 @@ void wxFontRefData::MacFindFont()
|
||||
m_macFontStyle = 0;
|
||||
if (m_weight == wxBOLD)
|
||||
m_macFontStyle |= bold;
|
||||
if (m_style == wxITALIC || m_style == wxSLANT)
|
||||
if (m_style == wxITALIC || m_style == wxSLANT)
|
||||
m_macFontStyle |= italic;
|
||||
if (m_underlined)
|
||||
if (m_underlined)
|
||||
m_macFontStyle |= underline;
|
||||
m_macFontSize = m_pointSize ;
|
||||
}
|
||||
@ -271,7 +279,7 @@ void wxFontRefData::MacFindFont()
|
||||
Fixed atsuSize = IntToFixed( m_macFontSize ) ;
|
||||
|
||||
Style atsuStyle = normal ;
|
||||
verify_noerr(::ATSUFONDtoFontID(m_macFontNum, atsuStyle , (UInt32*)&m_macATSUFontID) );
|
||||
verify_noerr(::ATSUFONDtoFontID(m_macFontNum, atsuStyle , (UInt32*)&m_macATSUFontID) );
|
||||
if ( m_macFontStyle & bold )
|
||||
{
|
||||
ATSUFontID test ;
|
||||
@ -281,6 +289,7 @@ void wxFontRefData::MacFindFont()
|
||||
m_macATSUFontID = test ;
|
||||
}
|
||||
}
|
||||
|
||||
if ( m_macFontStyle & italic )
|
||||
{
|
||||
ATSUFontID test ;
|
||||
@ -290,6 +299,7 @@ void wxFontRefData::MacFindFont()
|
||||
m_macATSUFontID = test ;
|
||||
}
|
||||
}
|
||||
|
||||
if ( m_macFontStyle & underline )
|
||||
{
|
||||
ATSUFontID test ;
|
||||
@ -299,7 +309,7 @@ void wxFontRefData::MacFindFont()
|
||||
m_macATSUFontID = test ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
m_macATSUAdditionalQDStyles = m_macFontStyle & (~atsuStyle ) ;
|
||||
|
||||
if ( m_macATSUStyle )
|
||||
@ -307,8 +317,10 @@ void wxFontRefData::MacFindFont()
|
||||
::ATSUDisposeStyle((ATSUStyle)m_macATSUStyle);
|
||||
m_macATSUStyle = NULL ;
|
||||
}
|
||||
|
||||
OSStatus status = ::ATSUCreateStyle((ATSUStyle *)&m_macATSUStyle) ;
|
||||
wxASSERT_MSG( status == noErr , wxT("couldn't create ATSU style") ) ;
|
||||
|
||||
ATSUAttributeTag atsuTags[] =
|
||||
{
|
||||
kATSUFontTag ,
|
||||
@ -319,8 +331,8 @@ void wxFontRefData::MacFindFont()
|
||||
kATSUQDUnderlineTag ,
|
||||
kATSUQDCondensedTag ,
|
||||
kATSUQDExtendedTag ,
|
||||
} ;
|
||||
ByteCount atsuSizes[sizeof(atsuTags)/sizeof(ATSUAttributeTag)] =
|
||||
};
|
||||
ByteCount atsuSizes[sizeof(atsuTags) / sizeof(ATSUAttributeTag)] =
|
||||
{
|
||||
sizeof( ATSUFontID ) ,
|
||||
sizeof( Fixed ) ,
|
||||
@ -330,12 +342,13 @@ void wxFontRefData::MacFindFont()
|
||||
sizeof( Boolean ) ,
|
||||
sizeof( Boolean ) ,
|
||||
sizeof( Boolean ) ,
|
||||
} ;
|
||||
};
|
||||
|
||||
Boolean kTrue = true ;
|
||||
Boolean kFalse = false ;
|
||||
|
||||
ATSUVerticalCharacterType kHorizontal = kATSUStronglyHorizontal;
|
||||
ATSUAttributeValuePtr atsuValues[sizeof(atsuTags)/sizeof(ATSUAttributeTag)] =
|
||||
ATSUAttributeValuePtr atsuValues[sizeof(atsuTags) / sizeof(ATSUAttributeTag)] =
|
||||
{
|
||||
&m_macATSUFontID ,
|
||||
&atsuSize ,
|
||||
@ -345,11 +358,14 @@ void wxFontRefData::MacFindFont()
|
||||
(m_macATSUAdditionalQDStyles & underline) ? &kTrue : &kFalse ,
|
||||
(m_macATSUAdditionalQDStyles & condense) ? &kTrue : &kFalse ,
|
||||
(m_macATSUAdditionalQDStyles & extend) ? &kTrue : &kFalse ,
|
||||
} ;
|
||||
status = ::ATSUSetAttributes((ATSUStyle)m_macATSUStyle, sizeof(atsuTags)/sizeof(ATSUAttributeTag) ,
|
||||
};
|
||||
|
||||
status = ::ATSUSetAttributes(
|
||||
(ATSUStyle)m_macATSUStyle,
|
||||
sizeof(atsuTags) / sizeof(ATSUAttributeTag) ,
|
||||
atsuTags, atsuSizes, atsuValues);
|
||||
|
||||
wxASSERT_MSG( status == noErr , wxT("couldn't Modify ATSU style") ) ;
|
||||
wxASSERT_MSG( status == noErr , wxT("couldn't modify ATSU style") ) ;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -362,8 +378,9 @@ void wxFont::Init()
|
||||
|
||||
bool wxFont::Create(const wxNativeFontInfo& info)
|
||||
{
|
||||
return Create(info.pointSize, info.family, info.style, info.weight,
|
||||
info.underlined, info.faceName, info.encoding);
|
||||
return Create(
|
||||
info.pointSize, info.family, info.style, info.weight,
|
||||
info.underlined, info.faceName, info.encoding );
|
||||
}
|
||||
|
||||
wxFont::wxFont(const wxString& fontdesc)
|
||||
@ -374,30 +391,36 @@ wxFont::wxFont(const wxString& fontdesc)
|
||||
}
|
||||
|
||||
bool wxFont::Create(int pointSize,
|
||||
int family,
|
||||
int style,
|
||||
int weight,
|
||||
bool underlined,
|
||||
const wxString& faceName,
|
||||
wxFontEncoding encoding)
|
||||
int family,
|
||||
int style,
|
||||
int weight,
|
||||
bool underlined,
|
||||
const wxString& faceName,
|
||||
wxFontEncoding encoding)
|
||||
{
|
||||
UnRef();
|
||||
m_refData = new wxFontRefData(pointSize, family, style, weight,
|
||||
underlined, faceName, encoding);
|
||||
|
||||
m_refData = new wxFontRefData(
|
||||
pointSize, family, style, weight,
|
||||
underlined, faceName, encoding);
|
||||
|
||||
RealizeResource();
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxFont::MacCreateThemeFont(wxUint16 themeFontID )
|
||||
bool wxFont::MacCreateThemeFont(wxUint16 themeFontID)
|
||||
{
|
||||
UnRef();
|
||||
m_refData = new wxFontRefData(12, wxDEFAULT , wxFONTSTYLE_NORMAL , wxFONTWEIGHT_NORMAL ,false, wxEmptyString, wxFONTENCODING_DEFAULT);
|
||||
|
||||
m_refData = new wxFontRefData(
|
||||
12, wxDEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL,
|
||||
false, wxEmptyString, wxFONTENCODING_DEFAULT );
|
||||
|
||||
M_FONTDATA->m_macThemeFontID = themeFontID ;
|
||||
RealizeResource();
|
||||
|
||||
return TRUE;
|
||||
return true;
|
||||
}
|
||||
|
||||
wxFont::~wxFont()
|
||||
@ -407,7 +430,8 @@ wxFont::~wxFont()
|
||||
bool wxFont::RealizeResource()
|
||||
{
|
||||
M_FONTDATA->MacFindFont() ;
|
||||
return TRUE;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void wxFont::SetEncoding(wxFontEncoding encoding)
|
||||
@ -506,95 +530,109 @@ void wxFont::SetNoAntiAliasing( bool no )
|
||||
int wxFont::GetPointSize() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_pointSize;
|
||||
}
|
||||
|
||||
int wxFont::GetFamily() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_family;
|
||||
}
|
||||
|
||||
int wxFont::GetStyle() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_style;
|
||||
}
|
||||
|
||||
int wxFont::GetWeight() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_weight;
|
||||
}
|
||||
|
||||
bool wxFont::GetUnderlined() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , false, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_underlined;
|
||||
}
|
||||
|
||||
wxString wxFont::GetFaceName() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , wxEmptyString , wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_faceName;
|
||||
}
|
||||
|
||||
wxFontEncoding wxFont::GetEncoding() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , wxFONTENCODING_DEFAULT , wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_encoding;
|
||||
}
|
||||
|
||||
bool wxFont::GetNoAntiAliasing() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , false, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_noAA;
|
||||
}
|
||||
|
||||
short wxFont::MacGetFontNum() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_macFontNum;
|
||||
}
|
||||
|
||||
short wxFont::MacGetFontSize() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_macFontSize;
|
||||
}
|
||||
|
||||
wxByte wxFont::MacGetFontStyle() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_macFontStyle;
|
||||
}
|
||||
|
||||
wxUint32 wxFont::MacGetATSUFontID() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_macATSUFontID;
|
||||
}
|
||||
|
||||
void* wxFont::MacGetATSUStyle() const
|
||||
void * wxFont::MacGetATSUStyle() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , NULL, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_macATSUStyle;
|
||||
}
|
||||
|
||||
wxUint32 wxFont::MacGetATSUAdditionalQDStyles() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_macATSUAdditionalQDStyles;
|
||||
}
|
||||
|
||||
wxUint16 wxFont::MacGetThemeFontID() const
|
||||
wxUint16 wxFont::MacGetThemeFontID() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , 0, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->m_macThemeFontID;
|
||||
}
|
||||
|
||||
|
||||
const wxNativeFontInfo *wxFont::GetNativeFontInfo() const
|
||||
const wxNativeFontInfo * wxFont::GetNativeFontInfo() const
|
||||
{
|
||||
wxCHECK_MSG( M_FONTDATA != NULL , NULL, wxT("invalid font") );
|
||||
wxCHECK_MSG( Ok(), NULL, wxT("invalid font") );
|
||||
|
Loading…
Reference in New Issue
Block a user