From 5178b0e51437699c0e2196c88712a79032a2732b Mon Sep 17 00:00:00 2001 From: Joogab Yun Date: Fri, 4 Dec 2020 15:30:12 +0900 Subject: [PATCH] add Padding parameter at RendererParameters Change-Id: If8d78e1363bc02b5f872119af59f6d3b89550b90 --- dali-toolkit/devel-api/text/text-utils-devel.cpp | 9 +++++++-- dali-toolkit/devel-api/text/text-utils-devel.h | 5 ++++- 2 files changed, 11 insertions(+), 3 deletions(-) mode change 100644 => 100755 dali-toolkit/devel-api/text/text-utils-devel.cpp mode change 100644 => 100755 dali-toolkit/devel-api/text/text-utils-devel.h diff --git a/dali-toolkit/devel-api/text/text-utils-devel.cpp b/dali-toolkit/devel-api/text/text-utils-devel.cpp old mode 100644 new mode 100755 index 97a1b57..e5ad925 --- a/dali-toolkit/devel-api/text/text-utils-devel.cpp +++ b/dali-toolkit/devel-api/text/text-utils-devel.cpp @@ -1012,9 +1012,14 @@ Size LayoutText(const RendererParameters& textParameters, TextAbstraction::TextR const unsigned int radius = textParameters.radius - static_cast(maxAscenderDescender); // Set the layout parameters. - internalDataModel.textLayoutArea = Size(static_cast(textParameters.textWidth), + Size textLayoutArea = Size(static_cast(textParameters.textWidth), static_cast(textParameters.textHeight)); + // padding + Extents padding = textParameters.padding; + internalDataModel.textLayoutArea = Size(textLayoutArea.x - ( padding.start + padding.end ), textLayoutArea.y - ( padding.top + padding.bottom ) ); + + if(isCircularTextLayout) { // In a circular layout, the length of the text area depends on the radius. @@ -1498,7 +1503,7 @@ Dali::Property::Array RenderForLastIndex(RendererParameters& textParameters) //////////////////////////////////////////////////////////////////////////////// // Layout the text //////////////////////////////////////////////////////////////////////////////// - int boundingBox = textParameters.textHeight; + int boundingBox = textParameters.textHeight - (textParameters.padding.top + textParameters.padding.bottom); textParameters.textHeight = MAX_INT; // layout for the entire area. LayoutText(textParameters, rendererParameters, embeddedItemLayout, internalData); diff --git a/dali-toolkit/devel-api/text/text-utils-devel.h b/dali-toolkit/devel-api/text/text-utils-devel.h old mode 100644 new mode 100755 index 6b63039..e4bf375 --- a/dali-toolkit/devel-api/text/text-utils-devel.h +++ b/dali-toolkit/devel-api/text/text-utils-devel.h @@ -55,7 +55,8 @@ struct DALI_TOOLKIT_API RendererParameters ellipsisEnabled{true}, markupEnabled{false}, isTextColorSet{false}, - minLineSize{0.f} + minLineSize{0.f}, + padding{0u, 0u, 0u, 0u} { } @@ -87,6 +88,8 @@ struct DALI_TOOLKIT_API RendererParameters bool isTextColorSet : 1; ///< Whether a default color has been set. // float minLineSize; ///< The line's minimum size (in points). + + Extents padding; ///< The padding of the boundaries where the text is going to be laid-out. }; /** -- 2.7.4