summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeungkeun Lee <sngn.lee@samsung.com>2017-02-06 04:41:42 (GMT)
committerSeungkeun Lee <sngn.lee@samsung.com>2017-02-06 22:28:09 (GMT)
commit12d6d2143986f5dcef4e498ae53f3fd28f763555 (patch)
tree883d0a92b3217a487743ff47040f93bc38fc7ff7
parentb4bd94fdd7c3be60a36e6965016d2a6ab3e01ef5 (diff)
downloadxamarin-forms-12d6d2143986f5dcef4e498ae53f3fd28f763555.zip
xamarin-forms-12d6d2143986f5dcef4e498ae53f3fd28f763555.tar.gz
xamarin-forms-12d6d2143986f5dcef4e498ae53f3fd28f763555.tar.bz2
Refactoring Label Rendererrefs/changes/86/113086/2
- Optimize FormattedText handling - Define a new Value of TextAlignment, LineBreakMode for default value - Old-version of Span used a wrong specific value of Alignement and LineBreakMode Change-Id: I78baded712ce18f279774b09608c2a2d19931a69
-rw-r--r--Xamarin.Forms.Platform.Tizen/Native/LineBreakMode.cs7
-rw-r--r--Xamarin.Forms.Platform.Tizen/Native/Span.cs15
-rw-r--r--Xamarin.Forms.Platform.Tizen/Native/TextAlignment.cs5
-rw-r--r--Xamarin.Forms.Platform.Tizen/Renderers/LabelRenderer.cs27
4 files changed, 24 insertions, 30 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Native/LineBreakMode.cs b/Xamarin.Forms.Platform.Tizen/Native/LineBreakMode.cs
index 27253ad..e8727f4 100644
--- a/Xamarin.Forms.Platform.Tizen/Native/LineBreakMode.cs
+++ b/Xamarin.Forms.Platform.Tizen/Native/LineBreakMode.cs
@@ -6,6 +6,11 @@ namespace Xamarin.Forms.Platform.Tizen.Native
public enum LineBreakMode
{
/// <summary>
+ /// Follow base LineBreakMode.
+ /// </summary>
+ None,
+
+ /// <summary>
/// Do not wrap text.
/// </summary>
NoWrap,
@@ -38,6 +43,6 @@ namespace Xamarin.Forms.Platform.Tizen.Native
/// <summary>
/// Truncate the tail of text.
/// </summary>
- TailTruncation
+ TailTruncation,
}
}
diff --git a/Xamarin.Forms.Platform.Tizen/Native/Span.cs b/Xamarin.Forms.Platform.Tizen/Native/Span.cs
index 41a20b7..50d596a 100644
--- a/Xamarin.Forms.Platform.Tizen/Native/Span.cs
+++ b/Xamarin.Forms.Platform.Tizen/Native/Span.cs
@@ -121,9 +121,9 @@ namespace Xamarin.Forms.Platform.Tizen.Native
FontAttributes = FontAttributes.None;
ForegroundColor = EColor.Default;
BackgroundColor = EColor.Default;
- HorizontalTextAlignment = TextAlignment.Auto;
- VerticalTextAlignment = TextAlignment.Auto;
- LineBreakMode = LineBreakMode.MixedWrap;
+ HorizontalTextAlignment = TextAlignment.None;
+ VerticalTextAlignment = TextAlignment.None;
+ LineBreakMode = LineBreakMode.None;
Underline = false;
Strikethrough = false;
}
@@ -264,6 +264,9 @@ namespace Xamarin.Forms.Platform.Tizen.Native
case TextAlignment.Center:
_formattingString.Append("align=center ");
break;
+
+ case TextAlignment.None:
+ break;
}
switch (VerticalTextAlignment)
@@ -280,6 +283,9 @@ namespace Xamarin.Forms.Platform.Tizen.Native
case TextAlignment.Center:
_formattingString.Append("valign=middle ");
break;
+
+ case TextAlignment.None:
+ break;
}
switch (LineBreakMode)
@@ -311,6 +317,9 @@ namespace Xamarin.Forms.Platform.Tizen.Native
case LineBreakMode.TailTruncation:
_formattingString.Append("ellipsis=1.0");
break;
+
+ case LineBreakMode.None:
+ break;
}
return _formattingString;
diff --git a/Xamarin.Forms.Platform.Tizen/Native/TextAlignment.cs b/Xamarin.Forms.Platform.Tizen/Native/TextAlignment.cs
index c7e934b..33fa72b 100644
--- a/Xamarin.Forms.Platform.Tizen/Native/TextAlignment.cs
+++ b/Xamarin.Forms.Platform.Tizen/Native/TextAlignment.cs
@@ -6,6 +6,11 @@ namespace Xamarin.Forms.Platform.Tizen.Native
public enum TextAlignment
{
/// <summary>
+ /// Follow base TextAlignment
+ /// </summary>
+ None,
+
+ /// <summary>
/// Aligns horizontal text according to language. Top aligned for vertical text.
/// </summary>
Auto,
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/LabelRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/LabelRenderer.cs
index a1c0713..3f26f4e 100644
--- a/Xamarin.Forms.Platform.Tizen/Renderers/LabelRenderer.cs
+++ b/Xamarin.Forms.Platform.Tizen/Renderers/LabelRenderer.cs
@@ -65,9 +65,6 @@ namespace Xamarin.Forms.Platform.Tizen
nativeSpan.FontAttributes = span.FontAttributes;
nativeSpan.FontFamily = span.FontFamily;
nativeSpan.FontSize = span.FontSize;
- nativeSpan.LineBreakMode = Control.LineBreakMode;
- nativeSpan.HorizontalTextAlignment = Control.HorizontalTextAlignment;
- nativeSpan.VerticalTextAlignment = Control.VerticalTextAlignment;
nativeSpan.ForegroundColor = span.ForegroundColor.ToNative();
nativeSpan.BackgroundColor = span.BackgroundColor.ToNative();
nativeString.Spans.Add(nativeSpan);
@@ -89,15 +86,6 @@ namespace Xamarin.Forms.Platform.Tizen
void UpdateTextAlignment()
{
- if (Control.FormattedText != null)
- {
- foreach (var span in Control.FormattedText.Spans)
- {
- span.HorizontalTextAlignment = Element.HorizontalTextAlignment.ToNative();
- span.VerticalTextAlignment = Element.VerticalTextAlignment.ToNative();
- }
- }
-
Control.HorizontalTextAlignment = Element.HorizontalTextAlignment.ToNative();
Control.VerticalTextAlignment = Element.VerticalTextAlignment.ToNative();
}
@@ -111,26 +99,13 @@ namespace Xamarin.Forms.Platform.Tizen
void UpdateLineBreakMode()
{
- if (Control.FormattedText != null)
- {
- foreach (var span in Control.FormattedText.Spans)
- {
- span.LineBreakMode = ConvertToNativeLineBreakMode(Element.LineBreakMode);
- }
- }
Control.LineBreakMode = ConvertToNativeLineBreakMode(Element.LineBreakMode);
}
void UpdateFontWeight()
{
var weight = Specific.GetFontWeight(Element);
- if (Control.FormattedText != null)
- {
- foreach (var span in Control.FormattedText.Spans)
- {
- span.FontWeight = ConvertToNativeFontWeight(weight);
- }
- }
+
Control.FontWeight = ConvertToNativeFontWeight(weight);
}