Added font family to wxTextAttr

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2009-01-15 09:20:55 +00:00
parent bf9ea28818
commit 9c4cb61167
6 changed files with 75 additions and 13 deletions

View File

@@ -89,6 +89,7 @@ void wxTextAttr::Init()
m_fontWeight = wxNORMAL;
m_fontUnderlined = false;
m_fontEncoding = wxFONTENCODING_DEFAULT;
m_fontFamily = wxFONTFAMILY_DEFAULT;
m_paragraphSpacingAfter = 0;
m_paragraphSpacingBefore = 0;
@@ -118,6 +119,7 @@ void wxTextAttr::Copy(const wxTextAttr& attr)
m_fontUnderlined = attr.m_fontUnderlined;
m_fontFaceName = attr.m_fontFaceName;
m_fontEncoding = attr.m_fontEncoding;
m_fontFamily = attr.m_fontFamily;
m_textEffects = attr.m_textEffects;
m_textEffectFlags = attr.m_textEffectFlags;
@@ -181,6 +183,7 @@ bool wxTextAttr::operator== (const wxTextAttr& attr) const
GetFontUnderlined() == attr.GetFontUnderlined() &&
GetFontFaceName() == attr.GetFontFaceName() &&
GetFontEncoding() == attr.GetFontEncoding() &&
GetFontFamily() == attr.GetFontFamily() &&
GetURL() == attr.GetURL();
}
@@ -218,6 +221,10 @@ bool wxTextAttr::EqPartial(const wxTextAttr& attr, int flags) const
GetFontEncoding() != attr.GetFontEncoding())
return false;
if ((flags & wxTEXT_ATTR_FONT_FAMILY) &&
GetFontFamily() != attr.GetFontFamily())
return false;
if ((flags & wxTEXT_ATTR_URL) && GetURL() != attr.GetURL())
return false;
@@ -326,7 +333,11 @@ wxFont wxTextAttr::GetFont() const
if (HasFontEncoding())
encoding = GetFontEncoding();
wxFont font(fontSize, wxDEFAULT, fontStyle, fontWeight, underlined, fontFaceName, encoding);
int fontFamily = wxFONTFAMILY_DEFAULT;
if (HasFontFamily())
fontFamily = GetFontFamily();
wxFont font(fontSize, fontFamily, fontStyle, fontWeight, underlined, fontFaceName, encoding);
#ifdef __WXMAC__
font.SetNoAntiAliasing(true);
#endif
@@ -357,6 +368,9 @@ bool wxTextAttr::GetFontAttributes(const wxFont& font, int flags)
if (flags & wxTEXT_ATTR_FONT_ENCODING)
m_fontEncoding = font.GetEncoding();
if (flags & wxTEXT_ATTR_FONT_FAMILY)
m_fontFamily = font.GetFamily();
m_flags |= flags;
return true;
@@ -414,6 +428,12 @@ bool wxTextAttr::Apply(const wxTextAttr& style, const wxTextAttr* compareWith)
destStyle.SetFontEncoding(style.GetFontEncoding());
}
if (style.HasFontFamily())
{
if (!(compareWith && compareWith->HasFontFamily() && compareWith->GetFontFamily() == style.GetFontFamily()))
destStyle.SetFontFamily(style.GetFontFamily());
}
if (style.GetTextColour().Ok() && style.HasTextColour())
{
if (!(compareWith && compareWith->HasTextColour() && compareWith->GetTextColour() == style.GetTextColour()))