From 5dad85543d5e44d81310c50c9c7e1c23de2b18c8 Mon Sep 17 00:00:00 2001 From: Seungkeun Lee Date: Wed, 23 Nov 2022 11:42:58 +0900 Subject: [PATCH] [Tizen] Fixes Canvas Size calculation - When use IgnorePixelScaling, a pixel based canvas size was convert to scaled pixel - but, decimal part was cut by casting int, it cause error of size --- .../SkiaSharp.Views/SkiaSharp.Views.Tizen/SKCanvasView.cs | 4 ++-- .../SkiaSharp.Views.Tizen/SKCanvasView.nui.cs | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/source/SkiaSharp.Views/SkiaSharp.Views.Tizen/SKCanvasView.cs b/source/SkiaSharp.Views/SkiaSharp.Views.Tizen/SKCanvasView.cs index 1c2f608cda5..ca0a4caccbf 100755 --- a/source/SkiaSharp.Views/SkiaSharp.Views.Tizen/SKCanvasView.cs +++ b/source/SkiaSharp.Views/SkiaSharp.Views.Tizen/SKCanvasView.cs @@ -72,8 +72,8 @@ protected sealed override bool UpdateSurfaceSize(Rect geometry) if (IgnorePixelScaling) { - canvasSize.Width = (int)ScalingInfo.FromPixel(geometry.Width); - canvasSize.Height = (int)ScalingInfo.FromPixel(geometry.Height); + canvasSize.Width = (int)Math.Round(ScalingInfo.FromPixel(geometry.Width)); + canvasSize.Height = (int)Math.Round(ScalingInfo.FromPixel(geometry.Height)); } else { diff --git a/source/SkiaSharp.Views/SkiaSharp.Views.Tizen/SKCanvasView.nui.cs b/source/SkiaSharp.Views/SkiaSharp.Views.Tizen/SKCanvasView.nui.cs index 152db8a5e44..3c0836f30c8 100644 --- a/source/SkiaSharp.Views/SkiaSharp.Views.Tizen/SKCanvasView.nui.cs +++ b/source/SkiaSharp.Views/SkiaSharp.Views.Tizen/SKCanvasView.nui.cs @@ -1,4 +1,5 @@ -using Tizen.NUI; +using System; +using Tizen.NUI; namespace SkiaSharp.Views.Tizen.NUI { @@ -53,8 +54,8 @@ protected override void OnDrawFrame() skiaCanvas.Scale((float)ScalingInfo.ScalingFactor); skiaCanvas.Save(); - canvasSize.Width = (int)ScalingInfo.FromPixel(width); - canvasSize.Height = (int)ScalingInfo.FromPixel(height); + canvasSize.Width = (int)Math.Round(ScalingInfo.FromPixel(width)); + canvasSize.Height = (int)Math.Round(ScalingInfo.FromPixel(height)); } else {