X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fmarkup-processor-span.cpp;h=636c331ce543e2965056a3b4bbd822f78609d4f0;hb=e6c8fad2c1ee24ce368976221941dfec12290b29;hp=40a508d80919c269fee19f1964d14e1867b04e27;hpb=e172c89c895d46d430b2cf0a0dbceeea0ae09b29;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/markup-processor-span.cpp b/dali-toolkit/internal/text/markup-processor-span.cpp index 40a508d..636c331 100644 --- a/dali-toolkit/internal/text/markup-processor-span.cpp +++ b/dali-toolkit/internal/text/markup-processor-span.cpp @@ -26,6 +26,8 @@ #include #include #include +#include +#include namespace Dali { @@ -42,9 +44,32 @@ const std::string XHTML_WIDTH_ATTRIBUTE("font-width"); const std::string XHTML_SLANT_ATTRIBUTE("font-slant"); const std::string XHTML_COLOR_ATTRIBUTE("text-color"); +const std::string XHTML_BACKGROUND_COLOR_ATTRIBUTE("background-color"); + +//the underlined character's attributes +const std::string XHTML_UNDERLINE_COLOR_ATTRIBUTE("u-color"); +const std::string XHTML_UNDERLINE_HEIGHT_ATTRIBUTE("u-height"); +const std::string XHTML_UNDERLINE_TYPE_ATTRIBUTE("u-type"); +const std::string XHTML_UNDERLINE_DASH_GAP_ATTRIBUTE("u-dash-gap"); +const std::string XHTML_UNDERLINE_DASH_WIDTH_ATTRIBUTE("u-dash-width"); + +//the strikethroughed character's attributes +const std::string XHTML_STRIKETHROUGH_COLOR_ATTRIBUTE("s-color"); + } // namespace -void ProcessSpanTag(const Tag& tag, ColorRun& colorRun, FontDescriptionRun& fontRun, bool& isColorDefined, bool& isFontDefined) +void ProcessSpanTag(const Tag& tag, + ColorRun& colorRun, + FontDescriptionRun& fontRun, + UnderlinedCharacterRun& underlinedCharacterRun, + ColorRun& backgroundColorRun, + StrikethroughCharacterRun& strikethroughRun, + bool& isColorDefined, + bool& isFontDefined, + bool& isUnderlinedCharacterDefined, + bool& isBackgroundColorDefined, + bool& isStrikethroughDefined) + { for(Vector::ConstIterator it = tag.attributes.Begin(), endIt = tag.attributes.End(); @@ -58,6 +83,11 @@ void ProcessSpanTag(const Tag& tag, ColorRun& colorRun, FontDescriptionRun& font isColorDefined = true; ProcessColor(attribute, colorRun); } + else if(TokenComparison(XHTML_BACKGROUND_COLOR_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + { + isBackgroundColorDefined = true; + ProcessColor(attribute, backgroundColorRun); + } else if(TokenComparison(XHTML_FAMILY_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) { isFontDefined = true; @@ -83,6 +113,36 @@ void ProcessSpanTag(const Tag& tag, ColorRun& colorRun, FontDescriptionRun& font isFontDefined = true; ProcessFontSlant(attribute, fontRun); } + else if(TokenComparison(XHTML_UNDERLINE_COLOR_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + { + isUnderlinedCharacterDefined = true; + ProcessColorAttribute(attribute, underlinedCharacterRun); + } + else if(TokenComparison(XHTML_UNDERLINE_HEIGHT_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + { + isUnderlinedCharacterDefined = true; + ProcessHeightAttribute(attribute, underlinedCharacterRun); + } + else if(TokenComparison(XHTML_UNDERLINE_TYPE_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + { + isUnderlinedCharacterDefined = true; + ProcessTypeAttribute(attribute, underlinedCharacterRun); + } + else if(TokenComparison(XHTML_UNDERLINE_DASH_GAP_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + { + isUnderlinedCharacterDefined = true; + ProcessDashGapAttribute(attribute, underlinedCharacterRun); + } + else if(TokenComparison(XHTML_UNDERLINE_DASH_WIDTH_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + { + isUnderlinedCharacterDefined = true; + ProcessDashWidthAttribute(attribute, underlinedCharacterRun); + } + else if(TokenComparison(XHTML_STRIKETHROUGH_COLOR_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + { + isStrikethroughDefined = true; + ProcessColorAttribute(attribute, strikethroughRun); + } } }