Improve the underline markup 45/271745/5
authorssabah <s.sabah@samsung.com>
Sun, 27 Feb 2022 19:17:18 +0000 (22:17 +0300)
committershrouq Sabah <s.sabah@samsung.com>
Mon, 28 Feb 2022 15:32:54 +0000 (15:32 +0000)
commitcee2831414bee408f07923a17cad74671c14d180
tree32daa4a2f1cee60719bbb79276f01cae931c47fe
parentee33f54bcefdc59971ffa428e6f8e4bdd31b94ed
Improve the underline markup

1) Handle nested tags:
The inner tag inherit the attributes of the outer tag and override them when defined in the inner tag
Example:
"<u height='5.0f' color='blue'> outer tag before  <u color='green'> inner tag </u> outer tag after </u>"
"outer tag before" and  "outer tag after" have height = 5.0f and color = 'blue'
"inner tag" has height = 5.0f and color = 'green'

2) Enhanced the performance of underline-runs and reduced the needed memory to store glyphs-runs

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

Change-Id: I529aacd66c83fb1e55e282a7b849c901c3e0c67a
12 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/text/markup-processor-underline.cpp
dali-toolkit/internal/text/markup-processor-underline.h
dali-toolkit/internal/text/markup-processor.cpp
dali-toolkit/internal/text/rendering/atlas/text-atlas-renderer.cpp
dali-toolkit/internal/text/rendering/styles/underline-helper-functions.cpp
dali-toolkit/internal/text/rendering/styles/underline-helper-functions.h
dali-toolkit/internal/text/rendering/text-typesetter.cpp
dali-toolkit/internal/text/text-controller-impl.cpp
dali-toolkit/internal/text/underline-style-properties.h