X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Fmarkup-processor-span.cpp;h=19810ee240857703dad85546c05be712c124f380;hp=240cd62006c1a41d82ae9158f182fb6e79f937b3;hb=c49e595f12e9e56cd7c35262eb52ae1f2d9b685b;hpb=6877b751dc17e58428b7ae6ea35bbef6c030453c diff --git a/dali-toolkit/internal/text/markup-processor-span.cpp b/dali-toolkit/internal/text/markup-processor-span.cpp index 240cd62..19810ee 100644 --- a/dali-toolkit/internal/text/markup-processor-span.cpp +++ b/dali-toolkit/internal/text/markup-processor-span.cpp @@ -24,8 +24,10 @@ // INTERNAL INCLUDES #include #include +#include #include #include +#include #include namespace Dali @@ -51,17 +53,31 @@ 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"); +const std::string XHTML_STRIKETHROUGH_HEIGHT_ATTRIBUTE("s-height"); + +//the character-spacing character's attributes +const std::string XHTML_CHARACTER_SPACING_VALUE_ATTRIBUTE("char-space-value"); + +//NOTE: the MAX_NUM_OF_ATTRIBUTES in "markup-processor.cpp" should be updated when add a new attribute for span tag. + } // namespace -void ProcessSpanTag(const Tag& tag, - ColorRun& colorRun, - FontDescriptionRun& fontRun, - UnderlinedCharacterRun& underlinedCharacterRun, - ColorRun& backgroundColorRun, - bool& isColorDefined, - bool& isFontDefined, - bool& isUnderlinedCharacterDefined, - bool& isBackgroundColorDefined) +void ProcessSpanTag(const Tag& tag, + ColorRun& colorRun, + FontDescriptionRun& fontRun, + UnderlinedCharacterRun& underlinedCharacterRun, + ColorRun& backgroundColorRun, + StrikethroughCharacterRun& strikethroughRun, + CharacterSpacingCharacterRun& characterSpacingCharacterRun, + bool& isColorDefined, + bool& isFontDefined, + bool& isUnderlinedCharacterDefined, + bool& isBackgroundColorDefined, + bool& isStrikethroughDefined, + bool& isCharacterSpacingDefined) { for(Vector::ConstIterator it = tag.attributes.Begin(), endIt = tag.attributes.End(); @@ -130,6 +146,21 @@ void ProcessSpanTag(const Tag& tag, isUnderlinedCharacterDefined = true; ProcessDashWidthAttribute(attribute, underlinedCharacterRun); } + else if(TokenComparison(XHTML_STRIKETHROUGH_COLOR_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + { + isStrikethroughDefined = true; + ProcessColorAttribute(attribute, strikethroughRun); + } + else if(TokenComparison(XHTML_STRIKETHROUGH_HEIGHT_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + { + isStrikethroughDefined = true; + ProcessHeightAttribute(attribute, strikethroughRun); + } + else if(TokenComparison(XHTML_CHARACTER_SPACING_VALUE_ATTRIBUTE, attribute.nameBuffer, attribute.nameLength)) + { + isCharacterSpacingDefined = true; + ProcessValueAttribute(attribute, characterSpacingCharacterRun); + } } }