From c2093d3246ccede000546b071d4e5d1aebf3f968 Mon Sep 17 00:00:00 2001 From: Seungkeun Lee Date: Wed, 4 Jan 2017 14:01:48 +0900 Subject: Support Density Independent Pixel on FontSize - FontSize on Span was use DP unit Change-Id: I1a0a50dbeae3ede0c61a67f60f7238631684537d --- Xamarin.Forms.Platform.Tizen/Forms.cs | 13 ++++++++++++- Xamarin.Forms.Platform.Tizen/Native/Span.cs | 2 +- Xamarin.Forms.Platform.Tizen/TizenPlatformServices.cs | 8 ++++---- 3 files changed, 17 insertions(+), 6 deletions(-) (limited to 'Xamarin.Forms.Platform.Tizen') diff --git a/Xamarin.Forms.Platform.Tizen/Forms.cs b/Xamarin.Forms.Platform.Tizen/Forms.cs index 34828a41..453bab82 100644 --- a/Xamarin.Forms.Platform.Tizen/Forms.cs +++ b/Xamarin.Forms.Platform.Tizen/Forms.cs @@ -11,6 +11,12 @@ namespace Xamarin.Forms.Platform.Tizen { public static class Forms { + static Lazy s_dpi = new Lazy(() => + { + int dpi = 0; + TSystemInfo.TryGetValue("http://tizen.org/feature/screen.dpi", out dpi); + return dpi; + }); class TizenDeviceInfo : DeviceInfo { readonly Size pixelScreenSize; @@ -178,6 +184,11 @@ namespace Xamarin.Forms.Platform.Tizen // TODO: implement me return Color.Black; } + + internal static int ConvertToPixel(double dp) + { + return (int)Math.Round(dp * s_dpi.Value / 160.0); + } } class TizenExpressionSearch : ExpressionVisitor, IExpressionSearch @@ -206,4 +217,4 @@ namespace Xamarin.Forms.Platform.Tizen return base.VisitMember(node); } } -} \ No newline at end of file +} diff --git a/Xamarin.Forms.Platform.Tizen/Native/Span.cs b/Xamarin.Forms.Platform.Tizen/Native/Span.cs index 7ac4134f..0e3f0000 100644 --- a/Xamarin.Forms.Platform.Tizen/Native/Span.cs +++ b/Xamarin.Forms.Platform.Tizen/Native/Span.cs @@ -175,7 +175,7 @@ namespace Xamarin.Forms.Platform.Tizen.Native if (FontSize != -1) { - _formattingString.AppendFormat("font_size={0} ", FontSize); + _formattingString.AppendFormat("font_size={0} ", Forms.ConvertToPixel(FontSize)); } if ((FontAttributes & FontAttributes.Bold) != 0) diff --git a/Xamarin.Forms.Platform.Tizen/TizenPlatformServices.cs b/Xamarin.Forms.Platform.Tizen/TizenPlatformServices.cs index 7d442318..db7ee1de 100644 --- a/Xamarin.Forms.Platform.Tizen/TizenPlatformServices.cs +++ b/Xamarin.Forms.Platform.Tizen/TizenPlatformServices.cs @@ -82,14 +82,14 @@ namespace Xamarin.Forms.Platform.Tizen switch (size) { case NamedSize.Micro: - return 16; + return 10; case NamedSize.Small: - return 20; + return 12; case NamedSize.Default: case NamedSize.Medium: - return 24; + return 14; case NamedSize.Large: - return 30; + return 18; default: throw new ArgumentOutOfRangeException(); } -- cgit v1.2.3