Add support for stricken-through fonts.
Support stricken-through fonts in wxMSW and wxGTK (including special support in wxStaticText and wxTextCtrl). Closes #9907. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70446 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -63,7 +63,7 @@ public:
|
||||
wxFontRefData()
|
||||
{
|
||||
Init(-1, wxSize(0,0), false, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
|
||||
wxFONTWEIGHT_NORMAL, false, wxEmptyString,
|
||||
wxFONTWEIGHT_NORMAL, false, false, wxEmptyString,
|
||||
wxFONTENCODING_DEFAULT);
|
||||
}
|
||||
|
||||
@@ -74,11 +74,12 @@ public:
|
||||
wxFontStyle style,
|
||||
wxFontWeight weight,
|
||||
bool underlined,
|
||||
bool strikethrough,
|
||||
const wxString& faceName,
|
||||
wxFontEncoding encoding)
|
||||
{
|
||||
Init(size, pixelSize, sizeUsingPixels, family, style, weight,
|
||||
underlined, faceName, encoding);
|
||||
underlined, strikethrough, faceName, encoding);
|
||||
}
|
||||
|
||||
wxFontRefData(const wxNativeFontInfo& info, WXHFONT hFont = 0)
|
||||
@@ -134,6 +135,11 @@ public:
|
||||
return m_nativeFontInfo.GetUnderlined();
|
||||
}
|
||||
|
||||
bool GetStrikethrough() const
|
||||
{
|
||||
return m_nativeFontInfo.GetStrikethrough();
|
||||
}
|
||||
|
||||
wxString GetFaceName() const
|
||||
{
|
||||
wxString facename = m_nativeFontInfo.GetFaceName();
|
||||
@@ -225,6 +231,13 @@ public:
|
||||
m_nativeFontInfo.SetUnderlined(underlined);
|
||||
}
|
||||
|
||||
void SetStrikethrough(bool strikethrough)
|
||||
{
|
||||
Free();
|
||||
|
||||
m_nativeFontInfo.SetStrikethrough(strikethrough);
|
||||
}
|
||||
|
||||
void SetEncoding(wxFontEncoding encoding)
|
||||
{
|
||||
Free();
|
||||
@@ -262,6 +275,7 @@ protected:
|
||||
wxFontStyle style,
|
||||
wxFontWeight weight,
|
||||
bool underlined,
|
||||
bool strikethrough,
|
||||
const wxString& faceName,
|
||||
wxFontEncoding encoding);
|
||||
|
||||
@@ -336,6 +350,7 @@ void wxFontRefData::Init(int pointSize,
|
||||
wxFontStyle style,
|
||||
wxFontWeight weight,
|
||||
bool underlined,
|
||||
bool strikethrough,
|
||||
const wxString& faceName,
|
||||
wxFontEncoding encoding)
|
||||
{
|
||||
@@ -350,6 +365,7 @@ void wxFontRefData::Init(int pointSize,
|
||||
SetStyle(style);
|
||||
SetWeight(weight);
|
||||
SetUnderlined(underlined);
|
||||
SetStrikethrough(strikethrough);
|
||||
|
||||
// set the family/facename
|
||||
SetFamily(family);
|
||||
@@ -463,6 +479,11 @@ bool wxNativeFontInfo::GetUnderlined() const
|
||||
return lf.lfUnderline != 0;
|
||||
}
|
||||
|
||||
bool wxNativeFontInfo::GetStrikethrough() const
|
||||
{
|
||||
return lf.lfStrikeOut != 0;
|
||||
}
|
||||
|
||||
wxString wxNativeFontInfo::GetFaceName() const
|
||||
{
|
||||
return lf.lfFaceName;
|
||||
@@ -583,6 +604,11 @@ void wxNativeFontInfo::SetUnderlined(bool underlined)
|
||||
lf.lfUnderline = underlined;
|
||||
}
|
||||
|
||||
void wxNativeFontInfo::SetStrikethrough(bool strikethrough)
|
||||
{
|
||||
lf.lfStrikeOut = strikethrough;
|
||||
}
|
||||
|
||||
bool wxNativeFontInfo::SetFaceName(const wxString& facename)
|
||||
{
|
||||
wxStrlcpy(lf.lfFaceName, facename.c_str(), WXSIZEOF(lf.lfFaceName));
|
||||
@@ -789,7 +815,7 @@ wxFont::wxFont(int pointSize,
|
||||
GetStyleFromFlags(flags),
|
||||
GetWeightFromFlags(flags),
|
||||
GetUnderlinedFromFlags(flags),
|
||||
face, encoding);
|
||||
false, face, encoding);
|
||||
}
|
||||
|
||||
bool wxFont::Create(const wxNativeFontInfo& info, WXHFONT hFont)
|
||||
@@ -822,7 +848,7 @@ bool wxFont::DoCreate(int pointSize,
|
||||
|
||||
m_refData = new wxFontRefData(pointSize, pixelSize, sizeUsingPixels,
|
||||
family, style, weight,
|
||||
underlined, faceName, encoding);
|
||||
underlined, false, faceName, encoding);
|
||||
|
||||
return RealizeResource();
|
||||
}
|
||||
@@ -944,6 +970,13 @@ void wxFont::SetUnderlined(bool underlined)
|
||||
M_FONTDATA->SetUnderlined(underlined);
|
||||
}
|
||||
|
||||
void wxFont::SetStrikethrough(bool strikethrough)
|
||||
{
|
||||
AllocExclusive();
|
||||
|
||||
M_FONTDATA->SetStrikethrough(strikethrough);
|
||||
}
|
||||
|
||||
void wxFont::SetEncoding(wxFontEncoding encoding)
|
||||
{
|
||||
AllocExclusive();
|
||||
@@ -1009,6 +1042,13 @@ bool wxFont::GetUnderlined() const
|
||||
return M_FONTDATA->GetUnderlined();
|
||||
}
|
||||
|
||||
bool wxFont::GetStrikethrough() const
|
||||
{
|
||||
wxCHECK_MSG( IsOk(), false, wxT("invalid font") );
|
||||
|
||||
return M_FONTDATA->GetStrikethrough();
|
||||
}
|
||||
|
||||
wxString wxFont::GetFaceName() const
|
||||
{
|
||||
wxCHECK_MSG( IsOk(), wxEmptyString, wxT("invalid font") );
|
||||
|
||||
Reference in New Issue
Block a user