wxNativeFontInfo changes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8949 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2000-12-18 21:15:16 +00:00
parent accb325754
commit 7826e2dd83
17 changed files with 265 additions and 186 deletions

View File

@@ -47,8 +47,7 @@ public:
int weight = wxDEFAULT,
bool underlined = FALSE,
const wxString& faceName = wxEmptyString,
wxFontEncoding encoding = wxFONTENCODING_DEFAULT,
const wxNativeFontInfo& info = wxNullNativeFontInfo);
wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
wxFontRefData( const wxFontRefData& data );
virtual ~wxFontRefData();
@@ -60,8 +59,7 @@ protected:
int weight,
bool underlined,
const wxString& faceName,
wxFontEncoding encoding,
const wxNativeFontInfo& info);
wxFontEncoding encoding);
private:
wxList m_scaled_xfonts;
@@ -72,6 +70,7 @@ private:
bool m_underlined;
wxString m_faceName;
wxFontEncoding m_encoding;
wxNativeFontInfo m_nativeFontInfo;
friend class wxFont;
@@ -91,8 +90,7 @@ void wxFontRefData::Init(int pointSize,
int weight,
bool underlined,
const wxString& faceName,
wxFontEncoding encoding,
const wxNativeFontInfo& info = wxNullNativeFontInfo)
wxFontEncoding encoding)
{
if (family == wxDEFAULT)
m_family = wxSWISS;
@@ -118,24 +116,22 @@ void wxFontRefData::Init(int pointSize,
m_underlined = underlined;
m_encoding = encoding;
m_nativeFontInfo = info;
}
wxFontRefData::wxFontRefData( const wxFontRefData& data )
: m_scaled_xfonts(wxKEY_INTEGER)
{
Init(data.m_pointSize, data.m_family, data.m_style, data.m_weight,
data.m_underlined, data.m_faceName, data.m_encoding,
data.m_nativeFontInfo );
data.m_underlined, data.m_faceName, data.m_encoding);
}
wxFontRefData::wxFontRefData(int size, int family, int style,
int weight, bool underlined, const wxString& faceName, wxFontEncoding encoding,
const wxNativeFontInfo& info = wxNullNativeFontInfo)
int weight, bool underlined,
const wxString& faceName,
wxFontEncoding encoding)
: m_scaled_xfonts(wxKEY_INTEGER)
{
Init(size, family, style, weight,
underlined, faceName, encoding, info);
Init(size, family, style, weight, underlined, faceName, encoding);
}
wxFontRefData::~wxFontRefData()
@@ -179,7 +175,14 @@ void wxFont::Init()
wxFont::wxFont(const wxNativeFontInfo& info)
{
Create(info.xFontName, wxFontData());
Init();
Create(info.ToString());
}
bool wxFont::Create(const wxNativeFontInfo& info)
{
return Create(info.xFontName);
}
bool wxFont::Create( int pointSize,
@@ -188,20 +191,19 @@ bool wxFont::Create( int pointSize,
int weight,
bool underlined,
const wxString& face,
wxFontEncoding encoding,
const wxNativeFontInfo& info )
wxFontEncoding encoding)
{
m_refData = new wxFontRefData(pointSize, family, style, weight,
underlined, face, encoding, info);
underlined, face, encoding);
return TRUE;
}
bool wxFont::Create(const wxString& fontname, const wxFontData& fontdata)
bool wxFont::Create(const wxString& fontname, wxFontEncoding enc)
{
Init();
if(!fontname)
if( !fontname )
{
*this = wxSystemSettings::GetSystemFont( wxSYS_DEFAULT_GUI_FONT);
return TRUE;
@@ -267,7 +269,7 @@ bool wxFont::Create(const wxString& fontname, const wxFontData& fontdata)
tn.GetNextToken(); // avg width
// deal with font encoding
M_FONTDATA->m_encoding = fontdata.GetEncoding();
M_FONTDATA->m_encoding = enc;
if ( M_FONTDATA->m_encoding == wxFONTENCODING_SYSTEM )
{
wxString registry = tn.GetNextToken().MakeUpper(),
@@ -376,13 +378,14 @@ wxFontEncoding wxFont::GetEncoding() const
return M_FONTDATA->m_encoding;
}
wxNativeFontInfo wxFont::GetNativeFontInfo() const
wxNativeFontInfo *wxFont::GetNativeFontInfo() const
{
wxCHECK_MSG( Ok(), wxNullNativeFontInfo, wxT("invalid font") );
wxCHECK_MSG( Ok(), (wxNativeFontInfo *)NULL, wxT("invalid font") );
if(M_FONTDATA->m_nativeFontInfo.xFontName.IsEmpty())
GetInternalFont();
return M_FONTDATA->m_nativeFontInfo;
return new wxNativeFontInfo(M_FONTDATA->m_nativeFontInfo);
}