}
if (thisStyle.GetFontSize() != currentStyle.GetFontSize())
style += wxString::Format(wxT(" size=\"%ld\""), PtToSize(thisStyle.GetFontSize()));
- if (thisStyle.GetTextColour() != currentStyle.GetTextColour() )
+
+ bool bTextColourChanged = (thisStyle.GetTextColour() != currentStyle.GetTextColour());
+ bool bBackgroundColourChanged = (thisStyle.GetBackgroundColour() != currentStyle.GetBackgroundColour());
+ if (bTextColourChanged || bBackgroundColourChanged)
{
- wxString color(thisStyle.GetTextColour().GetAsString(wxC2S_HTML_SYNTAX));
- style += wxString::Format(wxT(" color=\"%s\""), color.c_str());
+ style += wxT(" style=\"");
+
+ if (bTextColourChanged)
+ {
+ wxString color(thisStyle.GetTextColour().GetAsString(wxC2S_HTML_SYNTAX));
+ style += wxString::Format(wxT("color: %s"), color.c_str());
+ }
+ if (bTextColourChanged && bBackgroundColourChanged)
+ style += wxT(";");
+ if (bBackgroundColourChanged)
+ {
+ wxString color(thisStyle.GetBackgroundColour().GetAsString(wxC2S_HTML_SYNTAX));
+ style += wxString::Format(wxT("background-color: %s"), color.c_str());
+ }
+
+ style += wxT("\"");
}
if (style.size())
if (thisStyle.HasURL())
str << wxT("<a href=\"") << thisStyle.GetURL() << wxT("\">");
+
+ if (thisStyle.HasTextEffects())
+ {
+ if (thisStyle.GetTextEffects() & wxTEXT_ATTR_EFFECT_STRIKETHROUGH)
+ str << wxT("<del>");
+ if (thisStyle.GetTextEffects() & wxTEXT_ATTR_EFFECT_SUPERSCRIPT)
+ str << wxT("<sup>");
+ if (thisStyle.GetTextEffects() & wxTEXT_ATTR_EFFECT_SUBSCRIPT)
+ str << wxT("<sub>");
+ }
}
void wxRichTextHTMLHandler::EndCharacterFormatting(const wxRichTextAttr& WXUNUSED(currentStyle), const wxRichTextAttr& thisStyle, const wxRichTextAttr& WXUNUSED(paraStyle), wxTextOutputStream& stream)
if (thisStyle.GetFontWeight() == wxBOLD)
stream << wxT("</b>");
+ if (thisStyle.HasTextEffects())
+ {
+ if (thisStyle.GetTextEffects() & wxTEXT_ATTR_EFFECT_STRIKETHROUGH)
+ stream << wxT("</del>");
+ if (thisStyle.GetTextEffects() & wxTEXT_ATTR_EFFECT_SUPERSCRIPT)
+ stream << wxT("</sup>");
+ if (thisStyle.GetTextEffects() & wxTEXT_ATTR_EFFECT_SUBSCRIPT)
+ stream << wxT("</sub>");
+ }
+
if (m_font)
{
m_font = false;
if (GetFlags() & wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_MEMORY)
{
#if 0
- if (!image->GetImage().Ok() && image->GetImageBlock().GetData())
+ if (!image->GetImage().IsOk() && image->GetImageBlock().GetData())
image->LoadFromBlock();
- if (image->GetImage().Ok() && !image->GetImageBlock().GetData())
+ if (image->GetImage().IsOk() && !image->GetImageBlock().GetData())
image->MakeBlock();
#endif
else if (GetFlags() & wxRICHTEXT_HANDLER_SAVE_IMAGES_TO_FILES)
{
#if 0
- if (!image->GetImage().Ok() && image->GetImageBlock().GetData())
+ if (!image->GetImage().IsOk() && image->GetImageBlock().GetData())
image->LoadFromBlock();
- if (image->GetImage().Ok() && !image->GetImageBlock().GetData())
+ if (image->GetImage().IsOk() && !image->GetImageBlock().GetData())
image->MakeBlock();
#endif
- if (image->GetImageBlock().Ok())
+ if (image->GetImageBlock().IsOk())
{
wxString tempDir(GetTempDir());
if (tempDir.IsEmpty())
str << GetMimeType(image->GetImageBlock().GetImageType());
str << wxT(";base64,");
#if 0
- if (image->GetImage().Ok() && !image->GetImageBlock().GetData())
+ if (image->GetImage().IsOk() && !image->GetImageBlock().GetData())
image->MakeBlock();
#endif
- if (image->GetImageBlock().Ok())
+ if (image->GetImageBlock().IsOk())
{
wxChar* data = b64enc( image->GetImageBlock().GetData(), image->GetImageBlock().GetDataSize() );
str << data;
{
case wxBITMAP_TYPE_BMP:
return wxT("image/bmp");
- case wxBITMAP_TYPE_TIF:
+ case wxBITMAP_TYPE_TIFF:
return wxT("image/tiff");
case wxBITMAP_TYPE_GIF:
return wxT("image/gif");