From ef754ff49d40cc508e11105a1334c60d2a0899ed Mon Sep 17 00:00:00 2001
From: JoogabYun <40262755+JoogabYun@users.noreply.github.com>
Date: Tue, 8 Dec 2020 15:04:57 +0900
Subject: [PATCH] [NUI] Add Padding parameter for TextPageUtil (#2332)
---
.../src/internal/Interop/Interop.TextUtils.cs | 6 +++
.../src/public/BaseComponents/TextUtils.cs | 20 +++++++
src/Tizen.NUI/src/public/Utility/TextPageUtil.cs | 61 +++++++++++-----------
3 files changed, 57 insertions(+), 30 deletions(-)
diff --git a/src/Tizen.NUI/src/internal/Interop/Interop.TextUtils.cs b/src/Tizen.NUI/src/internal/Interop/Interop.TextUtils.cs
index 904725c..5f132d1 100755
--- a/src/Tizen.NUI/src/internal/Interop/Interop.TextUtils.cs
+++ b/src/Tizen.NUI/src/internal/Interop/Interop.TextUtils.cs
@@ -132,6 +132,12 @@ namespace Tizen.NUI
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_RendererParameters_minLineSize_get")]
public static extern float RendererParameters_minLineSize_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_RendererParameters_padding_set")]
+ public static extern void RendererParameters_padding_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+ [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_RendererParameters_padding_get")]
+ public static extern global::System.IntPtr RendererParameters_padding_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_RendererParameters")]
public static extern void delete_RendererParameters(global::System.Runtime.InteropServices.HandleRef jarg1);
}
diff --git a/src/Tizen.NUI/src/public/BaseComponents/TextUtils.cs b/src/Tizen.NUI/src/public/BaseComponents/TextUtils.cs
index 653ba72..b37a819 100755
--- a/src/Tizen.NUI/src/public/BaseComponents/TextUtils.cs
+++ b/src/Tizen.NUI/src/public/BaseComponents/TextUtils.cs
@@ -640,6 +640,26 @@ namespace Tizen.NUI.BaseComponents
}
}
+ ///
+ /// Padding of TextLabel.
+ ///
+ // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public Extents Padding
+ {
+ set
+ {
+ Interop.RendererParameters.RendererParameters_padding_set(swigCPtr, Extents.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ Extents ret = new Extents(Interop.RendererParameters.RendererParameters_padding_get(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
}
///
diff --git a/src/Tizen.NUI/src/public/Utility/TextPageUtil.cs b/src/Tizen.NUI/src/public/Utility/TextPageUtil.cs
index 466e023..7aa78b2 100755
--- a/src/Tizen.NUI/src/public/Utility/TextPageUtil.cs
+++ b/src/Tizen.NUI/src/public/Utility/TextPageUtil.cs
@@ -31,23 +31,23 @@ namespace Tizen.NUI.Utility
/// This is a class for stroing the text of a page.
///
[EditorBrowsable(EditorBrowsableState.Never)]
- class PageData
+ internal class PageData
{
- public string previousTag { get; set; }
- public string endTag { get; set; }
- public int startOffset { get; set; }
- public int endOffset { get; set; }
+ public string PreviousTag { get; set; }
+ public string EndTag { get; set; }
+ public int StartOffset { get; set; }
+ public int EndOffset { get; set; }
}
///
/// This is a class that stores information when parsing markup text.
///
[EditorBrowsable(EditorBrowsableState.Never)]
- class TagData
+ internal class TagData
{
- public string tagName { get; set; }
- public string attributeName { get; set; }
- public bool isEndTag { get; set; }
+ public string TagName { get; set; }
+ public string AttributeName { get; set; }
+ public bool IsEndTag { get; set; }
}
///
@@ -124,6 +124,7 @@ namespace Tizen.NUI.Utility
textParameters.EllipsisEnabled = true;
textParameters.MarkupEnabled = previousMarkup;
textParameters.MinLineSize = label.MinLineSize;
+ textParameters.Padding = label.Padding;
Tizen.NUI.PropertyArray cutOffIndexArray = TextUtils.GetLastCharacterIndex(textParameters);
@@ -143,11 +144,11 @@ namespace Tizen.NUI.Utility
else
{
PageData pageData = new PageData();
- pageData.startOffset = offset;
+ pageData.StartOffset = offset;
int cnt = (cutOffIndex - offset) < remainLength ? (cutOffIndex - offset) : remainLength;
remainLength -= cnt;
offset += cnt;
- pageData.endOffset = offset;
+ pageData.EndOffset = offset;
pageList.Add(pageData);
}
totalPageCnt++;
@@ -176,10 +177,10 @@ namespace Tizen.NUI.Utility
List dataList = pageList.GetRange(pageNum - 1, 1);
foreach (PageData data in dataList)
{
- int cnt = data.endOffset - data.startOffset;
+ int cnt = data.EndOffset - data.StartOffset;
char[] charArray = new char[cnt];
- pageString.CopyTo(data.startOffset, charArray, 0, cnt);
- string pageText = data.previousTag + new String(charArray) + data.endTag;
+ pageString.CopyTo(data.StartOffset, charArray, 0, cnt);
+ string pageText = data.PreviousTag + new String(charArray) + data.EndTag;
return pageText;
}
return "";
@@ -203,14 +204,14 @@ namespace Tizen.NUI.Utility
bool isTag = false;
bool isQuotationOpen = false;
bool attributesFound = false;
- tag.isEndTag = false;
+ tag.IsEndTag = false;
bool isPreviousLessThan = true;
bool isPreviousSlash = false;
int character;
- tag.tagName = "";
- tag.attributeName = "";
+ tag.TagName = "";
+ tag.AttributeName = "";
// SkipWhiteSpace(ref offset);
while ((!isTag) && ((character = stream.Read()) != -1))
{
@@ -220,7 +221,7 @@ namespace Tizen.NUI.Utility
{
if (isPreviousLessThan)
{
- tag.isEndTag = true;
+ tag.IsEndTag = true;
}
else
{
@@ -235,16 +236,16 @@ namespace Tizen.NUI.Utility
isTag = true;
if (isPreviousSlash)
{
- tag.isEndTag = true;
+ tag.IsEndTag = true;
}
if (!attributesFound)
{
- tag.tagName = new String(tagChaList.ToArray());
+ tag.TagName = new String(tagChaList.ToArray());
}
else
{
- tag.attributeName = new String(tagChaList.ToArray());
+ tag.AttributeName = new String(tagChaList.ToArray());
}
isPreviousSlash = false;
@@ -263,7 +264,7 @@ namespace Tizen.NUI.Utility
// Let's save tag name.
if (!attributesFound)
{
- tag.tagName = new String(tagChaList.ToArray());
+ tag.TagName = new String(tagChaList.ToArray());
tagChaList.Clear();
}
tagChaList.Add((char)character);
@@ -293,15 +294,15 @@ namespace Tizen.NUI.Utility
characterList.Clear();
PageData pageData = new PageData();
- pageData.startOffset = offset;
+ pageData.StartOffset = offset;
// If the markup was previously open, the markup tag should be attached to the front.
string tag = "";
foreach (TagData data in tagList)
{
- tag += "<" + data.tagName + data.attributeName + ">";
+ tag += "<" + data.TagName + data.AttributeName + ">";
}
- pageData.previousTag = tag;
+ pageData.PreviousTag = tag;
bool isTag = false;
@@ -319,7 +320,7 @@ namespace Tizen.NUI.Utility
if (isTag)
{
- if (tagData.isEndTag)
+ if (tagData.IsEndTag)
{
int lastIndex = tagList.Count;
tagList.RemoveAt(lastIndex - 1);
@@ -341,11 +342,11 @@ namespace Tizen.NUI.Utility
tag = "";
foreach (TagData data in tagList)
{
- tag = "" + data.tagName + ">" + tag;
+ tag = "" + data.TagName + ">" + tag;
}
- pageData.endTag = tag;
+ pageData.EndTag = tag;
- pageData.endOffset = offset;
+ pageData.EndOffset = offset;
pageList.Add(pageData);
if (character == -1) offset = -1;
@@ -353,4 +354,4 @@ namespace Tizen.NUI.Utility
}
}
-}
\ No newline at end of file
+}
--
2.7.4