From 9e369e96bec2dd1b961c2f176658fd5a1ea10696 Mon Sep 17 00:00:00 2001 From: danwalmsley Date: Wed, 19 Oct 2016 10:13:53 +0100 Subject: [PATCH 1/3] fix text height --- src/Skia/Avalonia.Skia/FormattedTextImpl.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Skia/Avalonia.Skia/FormattedTextImpl.cs b/src/Skia/Avalonia.Skia/FormattedTextImpl.cs index e24b6053b0..c203bf10bf 100644 --- a/src/Skia/Avalonia.Skia/FormattedTextImpl.cs +++ b/src/Skia/Avalonia.Skia/FormattedTextImpl.cs @@ -590,7 +590,7 @@ namespace Avalonia.Skia else { var lastLine = _skiaLines[_skiaLines.Count - 1]; - _size = new Size(maxX, lastLine.Top + lastLine.Height + lastLineDescent); + _size = new Size(lastLine.Width, lastLine.Height); } } From a46b9a97669188ab84ec7f0503f482ddfbb4f3c7 Mon Sep 17 00:00:00 2001 From: danwalmsley Date: Wed, 19 Oct 2016 10:14:27 +0100 Subject: [PATCH 2/3] fix text vertical offset. --- src/Skia/Avalonia.Skia/FormattedTextImpl.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Skia/Avalonia.Skia/FormattedTextImpl.cs b/src/Skia/Avalonia.Skia/FormattedTextImpl.cs index c203bf10bf..3d402df01f 100644 --- a/src/Skia/Avalonia.Skia/FormattedTextImpl.cs +++ b/src/Skia/Avalonia.Skia/FormattedTextImpl.cs @@ -522,7 +522,7 @@ namespace Avalonia.Skia _lineHeight = mDescent - mAscent; // Rendering is relative to baseline - _lineOffset = -metrics.Top; + _lineOffset = (-metrics.Ascent); string subString; From 6bde43372431ee06b68407b36c7d65291a2a7e42 Mon Sep 17 00:00:00 2001 From: danwalmsley Date: Thu, 20 Oct 2016 16:49:54 +0100 Subject: [PATCH 3/3] correctly setting size to cope with text wrapping. --- src/Skia/Avalonia.Skia/FormattedTextImpl.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Skia/Avalonia.Skia/FormattedTextImpl.cs b/src/Skia/Avalonia.Skia/FormattedTextImpl.cs index 3d402df01f..51f4b2b724 100644 --- a/src/Skia/Avalonia.Skia/FormattedTextImpl.cs +++ b/src/Skia/Avalonia.Skia/FormattedTextImpl.cs @@ -590,7 +590,7 @@ namespace Avalonia.Skia else { var lastLine = _skiaLines[_skiaLines.Count - 1]; - _size = new Size(lastLine.Width, lastLine.Height); + _size = new Size(maxX, lastLine.Top + lastLine.Height); } }