Support Markup Underline attributes 88/271188/10
authorssabah <s.sabah@samsung.com>
Wed, 9 Feb 2022 16:24:55 +0000 (18:24 +0200)
committerssabah <s.sabah@samsung.com>
Mon, 21 Feb 2022 20:42:04 +0000 (22:42 +0200)
commita3c24db302ffb83a32a0b5d8fba0b2c9de2b6634
treeebe26adad166de9d3ea3c7b6d1a8d5b17054afec
parent415d0772e9043f67f6201af352b3bc3d3535c3ab
Support Markup Underline attributes

Underline attributes:
 - type
 - color
 - height
 - dash-gap
 - dash-width

How to apply it:
=========================================================================================
    TextLabel   textLabel = TextLabel::New();
    std::string exampleText =
      "START<u>only underline</u>THEN"
      "<u type='solid'>type is solid</u>THEN"
      "<u type='dashed'>type is dashed</u>THEN"
      "<u type='double'>type is double</u>THEN"
      "<u color='green'>color is green</u>THEN"
      "<u height='5.0f'>height is 5</u>THEN"
      "<u type='dashed' dash-gap='3.0f'>dashGap is 3</u>THEN"
      "<u type='dashed' dash-width='4.0f'>dashWidth is 4</u>THEN"
      "<u color='blue' type='dashed' height='4.0f' dash-gap='2.0f' dash-width='3.0f'>all attributes</u>END";
    textLabel.SetProperty(Dali::Toolkit::TextLabel::Property::TEXT, exampleText);
    textLabel.SetProperty(Dali::Toolkit::TextLabel::Property::ENABLE_MARKUP, true);
    textLabel.SetProperty(Dali::Toolkit::TextLabel::Property::MULTI_LINE, true);
=========================================================================================

This patch should be preceded by the patch below:
https://review.tizen.org/gerrit/c/platform/core/uifw/dali-toolkit/+/271187

Change-Id: I4ca7f11a1b0eeab51e90b48c3d1bbc470ad628e8
30 files changed:
automated-tests/src/dali-toolkit-internal/utc-Dali-TextEditor-internal.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-TextField-internal.cpp
automated-tests/src/dali-toolkit-internal/utc-Dali-TextLabel-internal.cpp
dali-toolkit/internal/file.list
dali-toolkit/internal/text/markup-processor-underline.cpp [new file with mode: 0644]
dali-toolkit/internal/text/markup-processor-underline.h [new file with mode: 0644]
dali-toolkit/internal/text/markup-processor.cpp
dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp
dali-toolkit/internal/text/rendering/styles/strikethrough-helper-functions.cpp [new file with mode: 0644]
dali-toolkit/internal/text/rendering/styles/strikethrough-helper-functions.h [new file with mode: 0644]
dali-toolkit/internal/text/rendering/styles/underline-helper-functions.cpp [new file with mode: 0644]
dali-toolkit/internal/text/rendering/styles/underline-helper-functions.h [new file with mode: 0644]
dali-toolkit/internal/text/rendering/text-typesetter.cpp
dali-toolkit/internal/text/rendering/view-model.cpp
dali-toolkit/internal/text/rendering/view-model.h
dali-toolkit/internal/text/text-controller-impl-model-updater.cpp
dali-toolkit/internal/text/text-controller-impl.cpp
dali-toolkit/internal/text/text-effects-style.cpp
dali-toolkit/internal/text/text-effects-style.h
dali-toolkit/internal/text/text-model-interface.h
dali-toolkit/internal/text/text-model.cpp
dali-toolkit/internal/text/text-model.h
dali-toolkit/internal/text/text-view-interface.h
dali-toolkit/internal/text/text-view.cpp
dali-toolkit/internal/text/text-view.h
dali-toolkit/internal/text/underline-style-properties.h [new file with mode: 0644]
dali-toolkit/internal/text/underlined-character-run.h
dali-toolkit/internal/text/underlined-glyph-run.h [new file with mode: 0644]
dali-toolkit/internal/text/visual-model-impl.cpp
dali-toolkit/internal/text/visual-model-impl.h