From 0442c3b337de3dba8d0f2efa5b2814da0d9050d9 Mon Sep 17 00:00:00 2001 From: Benedikt Stebner Date: Wed, 19 Apr 2023 12:00:12 +0200 Subject: [PATCH 1/2] Introduce advanced render options --- src/Avalonia.Base/Media/DrawingContext.cs | 26 +--- src/Avalonia.Base/Media/DrawingGroup.cs | 10 +- src/Avalonia.Base/Media/DrawingImage.cs | 4 +- src/Avalonia.Base/Media/EdgeMode.cs | 10 ++ src/Avalonia.Base/Media/GlyphRun.cs | 42 ++++-- src/Avalonia.Base/Media/GlyphRunMetrics.cs | 23 ++-- src/Avalonia.Base/Media/IImage.cs | 4 +- src/Avalonia.Base/Media/ITileBrush.cs | 8 -- src/Avalonia.Base/Media/Imaging/Bitmap.cs | 6 +- .../Media/Imaging/BitmapBlendingMode.cs | 6 +- .../Media/Imaging/BitmapInterpolationMode.cs | 10 +- .../Media/Imaging/CroppedBitmap.cs | 4 +- .../Media/ImmediateDrawingContext.cs | 5 +- .../Media/Immutable/ImmutableImageBrush.cs | 7 +- .../Media/Immutable/ImmutableTileBrush.cs | 11 +- .../Media/PlatformDrawingContext.cs | 16 +-- src/Avalonia.Base/Media/RenderOptions.cs | 127 +++++++++++++++--- src/Avalonia.Base/Media/TextDecoration.cs | 8 +- src/Avalonia.Base/Media/TextRenderingMode.cs | 11 ++ src/Avalonia.Base/Media/TileBrush.cs | 13 -- .../Platform/IDrawingContextImpl.cs | 21 +-- src/Avalonia.Base/Platform/IGlyphRunBuffer.cs | 22 --- src/Avalonia.Base/Platform/IGlyphRunImpl.cs | 19 ++- .../Platform/IPlatformRenderInterface.cs | 3 +- .../Composition/CompositingRenderer.cs | 4 +- .../Drawing/CompositionDrawingContext.cs | 36 +---- .../Composition/Server/DrawingContextProxy.cs | 21 ++- .../Server/ServerCompositionTarget.cs | 2 +- .../Server/ServerCompositionVisual.cs | 7 + .../Rendering/ImmediateRenderer.cs | 18 ++- .../SceneGraph/BitmapBlendModeNode.cs | 68 ---------- .../Rendering/SceneGraph/GlyphRunNode.cs | 5 +- .../Rendering/SceneGraph/ImageNode.cs | 21 +-- src/Avalonia.Base/Visual.cs | 4 +- src/Avalonia.Base/composition-schema.xml | 1 + src/Avalonia.Controls/Image.cs | 4 +- .../HeadlessPlatformRenderInterface.cs | 13 +- src/Skia/Avalonia.Skia/DrawingContextImpl.cs | 41 ++---- src/Skia/Avalonia.Skia/GlyphRunImpl.cs | 118 ++++++++++++++-- .../Avalonia.Skia/Gpu/SkiaGpuRenderTarget.cs | 1 - .../Avalonia.Skia/PlatformRenderInterface.cs | 65 +-------- src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs | 4 +- .../Avalonia.Direct2D1/Direct2D1Platform.cs | 54 +------- .../Media/DrawingContextImpl.cs | 70 +++++++--- .../Avalonia.Direct2D1/Media/GlyphRunImpl.cs | 93 +++++++++++-- .../Media/ImageBrushImpl.cs | 9 +- .../Media/Imaging/BitmapImpl.cs | 2 +- .../Media/Imaging/D2DBitmapImpl.cs | 11 +- .../Imaging/D2DRenderTargetBitmapImpl.cs | 6 +- .../Media/Imaging/WicBitmapImpl.cs | 10 +- .../SceneGraph/DrawOperationTests.cs | 3 +- .../VisualTree/MockRenderInterface.cs | 2 +- .../NullDrawingContextImpl.cs | 5 +- tests/Avalonia.Benchmarks/NullGlyphRun.cs | 21 --- .../NullRenderingPlatform.cs | 4 +- .../Media/GlyphRunTests.cs | 23 ++++ .../Shapes/EllipseTests.cs | 44 ++++++ tests/Avalonia.UnitTests/MockGlyphRun.cs | 25 ++-- .../MockPlatformRenderInterface.cs | 21 +-- ...hould_Render_GlyphRun_Aliased.expected.png | Bin 0 -> 1132 bytes .../ImageBrush_Fill_NoTile.expected.png | Bin 118742 -> 39795 bytes .../ImageBrush_Tile_Fill.expected.png | Bin 3945 -> 4185 bytes ...ImageBrush_Tile_UniformToFill.expected.png | Bin 3651 -> 3871 bytes ...ageBrush_UniformToFill_NoTile.expected.png | Bin 14445 -> 9016 bytes .../ImageBrush_Uniform_NoTile.expected.png | Bin 11325 -> 7508 bytes .../ImageDrawing_Fill.expected.png | Bin 11529 -> 6932 bytes .../VisualBrush_Fill_NoTile.expected.png | Bin 117975 -> 39511 bytes .../VisualBrush_Grip_144_Dpi.expected.png | Bin 271 -> 199 bytes ...ualBrush_UniformToFill_NoTile.expected.png | Bin 14390 -> 8882 bytes .../VisualBrush_Uniform_NoTile.expected.png | Bin 11334 -> 7408 bytes .../Should_Render_Circle_Aliased.expected.png | Bin 0 -> 1634 bytes ...uld_Render_Circle_Antialiased.expected.png | Bin 0 -> 5379 bytes ...hould_Render_GlyphRun_Aliased.expected.png | Bin 0 -> 1066 bytes .../Should_Render_Circle_Aliased.expected.png | Bin 0 -> 1655 bytes ...uld_Render_Circle_Antialiased.expected.png | Bin 0 -> 7173 bytes 75 files changed, 663 insertions(+), 589 deletions(-) create mode 100644 src/Avalonia.Base/Media/EdgeMode.cs create mode 100644 src/Avalonia.Base/Media/TextRenderingMode.cs delete mode 100644 src/Avalonia.Base/Platform/IGlyphRunBuffer.cs delete mode 100644 src/Avalonia.Base/Rendering/SceneGraph/BitmapBlendModeNode.cs delete mode 100644 tests/Avalonia.Benchmarks/NullGlyphRun.cs create mode 100644 tests/TestFiles/Direct2D1/Media/GlyphRun/Should_Render_GlyphRun_Aliased.expected.png create mode 100644 tests/TestFiles/Direct2D1/Shapes/Ellipse/Should_Render_Circle_Aliased.expected.png create mode 100644 tests/TestFiles/Direct2D1/Shapes/Ellipse/Should_Render_Circle_Antialiased.expected.png create mode 100644 tests/TestFiles/Skia/Media/GlyphRun/Should_Render_GlyphRun_Aliased.expected.png create mode 100644 tests/TestFiles/Skia/Shapes/Ellipse/Should_Render_Circle_Aliased.expected.png create mode 100644 tests/TestFiles/Skia/Shapes/Ellipse/Should_Render_Circle_Antialiased.expected.png diff --git a/src/Avalonia.Base/Media/DrawingContext.cs b/src/Avalonia.Base/Media/DrawingContext.cs index 18d6968168..c38f4d656d 100644 --- a/src/Avalonia.Base/Media/DrawingContext.cs +++ b/src/Avalonia.Base/Media/DrawingContext.cs @@ -4,7 +4,6 @@ using Avalonia.Platform; using Avalonia.Rendering.SceneGraph; using Avalonia.Threading; using Avalonia.Utilities; -using Avalonia.Media.Imaging; namespace Avalonia.Media { @@ -53,12 +52,10 @@ namespace Avalonia.Media /// The image. /// The rect in the image to draw. /// The rect in the output to draw to. - /// The bitmap interpolation mode. - public virtual void DrawImage(IImage source, Rect sourceRect, Rect destRect, - BitmapInterpolationMode bitmapInterpolationMode = default) + public virtual void DrawImage(IImage source, Rect sourceRect, Rect destRect) { _ = source ?? throw new ArgumentNullException(nameof(source)); - source.Draw(this, sourceRect, destRect, bitmapInterpolationMode); + source.Draw(this, sourceRect, destRect); } /// @@ -68,8 +65,7 @@ namespace Avalonia.Media /// The opacity to draw with. /// The rect in the image to draw. /// The rect in the output to draw to. - /// The bitmap interpolation mode. - internal abstract void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect, BitmapInterpolationMode bitmapInterpolationMode = BitmapInterpolationMode.Default); + internal abstract void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect); /// /// Draws a line. @@ -286,8 +282,7 @@ namespace Avalonia.Media Opacity, Clip, GeometryClip, - OpacityMask, - BitmapBlendMode + OpacityMask } public RestoreState(DrawingContext context, PushedStateType type) @@ -312,8 +307,6 @@ namespace Avalonia.Media _context.PopGeometryClipCore(); else if (_type == PushedStateType.OpacityMask) _context.PopOpacityMaskCore(); - else if (_type == PushedStateType.BitmapBlendMode) - _context.PopBitmapBlendModeCore(); } } @@ -394,16 +387,6 @@ namespace Avalonia.Media } protected abstract void PushOpacityMaskCore(IBrush mask, Rect bounds); - public PushedState PushBitmapBlendMode(BitmapBlendingMode blendingMode) - { - PushBitmapBlendMode(blendingMode); - _states ??= StateStackPool.Get(); - _states.Push(new RestoreState(this, RestoreState.PushedStateType.BitmapBlendMode)); - return new PushedState(this); - } - - protected abstract void PushBitmapBlendModeCore(BitmapBlendingMode blendingMode); - /// /// Pushes a matrix transformation. /// @@ -431,7 +414,6 @@ namespace Avalonia.Media protected abstract void PopGeometryClipCore(); protected abstract void PopOpacityCore(); protected abstract void PopOpacityMaskCore(); - protected abstract void PopBitmapBlendModeCore(); protected abstract void PopTransformCore(); private static bool PenIsVisible(IPen? pen) diff --git a/src/Avalonia.Base/Media/DrawingGroup.cs b/src/Avalonia.Base/Media/DrawingGroup.cs index c96d2aad57..5a5bd50c7c 100644 --- a/src/Avalonia.Base/Media/DrawingGroup.cs +++ b/src/Avalonia.Base/Media/DrawingGroup.cs @@ -196,13 +196,7 @@ namespace Avalonia.Media throw new NotImplementedException(); } - protected override void PushBitmapBlendModeCore(BitmapBlendingMode blendingMode) - { - throw new NotImplementedException(); - } - - internal override void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect, - BitmapInterpolationMode bitmapInterpolationMode = BitmapInterpolationMode.Default) + internal override void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect) { throw new NotImplementedException(); } @@ -321,8 +315,6 @@ namespace Avalonia.Media protected override void PopOpacityMaskCore() => Pop(); - protected override void PopBitmapBlendModeCore() => Pop(); - protected override void PopTransformCore() => Pop(); /// diff --git a/src/Avalonia.Base/Media/DrawingImage.cs b/src/Avalonia.Base/Media/DrawingImage.cs index 52fbd87db7..c83e8eb6ee 100644 --- a/src/Avalonia.Base/Media/DrawingImage.cs +++ b/src/Avalonia.Base/Media/DrawingImage.cs @@ -1,6 +1,5 @@ using System; using Avalonia.Metadata; -using Avalonia.Media.Imaging; namespace Avalonia.Media { @@ -43,8 +42,7 @@ namespace Avalonia.Media void IImage.Draw( DrawingContext context, Rect sourceRect, - Rect destRect, - BitmapInterpolationMode bitmapInterpolationMode) + Rect destRect) { var drawing = Drawing; diff --git a/src/Avalonia.Base/Media/EdgeMode.cs b/src/Avalonia.Base/Media/EdgeMode.cs new file mode 100644 index 0000000000..f50a2f7164 --- /dev/null +++ b/src/Avalonia.Base/Media/EdgeMode.cs @@ -0,0 +1,10 @@ +namespace Avalonia.Media +{ + public enum EdgeMode : byte + { + Unspecified, + + Antialias, + Aliased + } +} diff --git a/src/Avalonia.Base/Media/GlyphRun.cs b/src/Avalonia.Base/Media/GlyphRun.cs index d795cca894..20e0f96ff7 100644 --- a/src/Avalonia.Base/Media/GlyphRun.cs +++ b/src/Avalonia.Base/Media/GlyphRun.cs @@ -153,7 +153,7 @@ namespace Avalonia.Media /// /// Gets the conservative bounding box of the . /// - public Rect Bounds => PlatformImpl.Item.Bounds; + public Rect Bounds => new Rect(new Size(Metrics.WidthIncludingTrailingWhitespace, Metrics.Height)); /// /// @@ -166,7 +166,7 @@ namespace Avalonia.Media /// public Point BaselineOrigin { - get => PlatformImpl.Item.BaselineOrigin; + get => _baselineOrigin ?? new Point(0, Metrics.Baseline); set => Set(ref _baselineOrigin, value); } @@ -676,13 +676,17 @@ namespace Avalonia.Media } } - return new GlyphRunMetrics( - width, - trailingWhitespaceLength, - newLineLength, - firstCluster, - lastCluster - ); + return new GlyphRunMetrics + { + Baseline = -GlyphTypeface.Metrics.Ascent * Scale, + Width = width, + WidthIncludingTrailingWhitespace = widthIncludingTrailingWhitespace, + Height = height, + NewLineLength = newLineLength, + TrailingWhitespaceLength = trailingWhitespaceLength, + FirstCluster = firstCluster, + LastCluster = lastCluster + }; } private int GetTrailingWhitespaceLength(bool isReversed, out int newLineLength, out int glyphCount) @@ -820,10 +824,11 @@ namespace Avalonia.Media private IRef CreateGlyphRunImpl() { var platformImpl = s_renderInterface.CreateGlyphRun( - GlyphTypeface, - FontRenderingEmSize, - GlyphInfos, - _baselineOrigin ?? new Point(0, -GlyphTypeface.Metrics.Ascent * Scale)); + GlyphTypeface, + FontRenderingEmSize, + GlyphInfos, + BaselineOrigin, + Bounds); _platformImpl = RefCountable.Create(platformImpl); @@ -835,5 +840,16 @@ namespace Avalonia.Media _platformImpl?.Dispose(); _platformImpl = null; } + + /// + /// Gets the intersections of specified upper and lower limit. + /// + /// Upper limit. + /// Lower limit. + /// + public IReadOnlyList GetIntersections(float lowerLimit, float upperLimit) + { + return PlatformImpl.Item.GetIntersections(lowerLimit, upperLimit); + } } } diff --git a/src/Avalonia.Base/Media/GlyphRunMetrics.cs b/src/Avalonia.Base/Media/GlyphRunMetrics.cs index 09b183d044..9ca1d5ea12 100644 --- a/src/Avalonia.Base/Media/GlyphRunMetrics.cs +++ b/src/Avalonia.Base/Media/GlyphRunMetrics.cs @@ -2,23 +2,20 @@ { public readonly record struct GlyphRunMetrics { - public GlyphRunMetrics(double width, int trailingWhitespaceLength, int newLineLength, int firstCluster, int lastCluster) - { - Width = width; - TrailingWhitespaceLength = trailingWhitespaceLength; - NewLineLength = newLineLength; - FirstCluster = firstCluster; - LastCluster = lastCluster; - } + public double Baseline { get; init; } - public double Width { get; } + public double Width { get; init; } - public int TrailingWhitespaceLength { get; } + public double WidthIncludingTrailingWhitespace { get; init; } - public int NewLineLength { get; } + public double Height { get; init; } - public int FirstCluster { get; } + public int TrailingWhitespaceLength { get; init; } - public int LastCluster { get; } + public int NewLineLength { get; init; } + + public int FirstCluster { get; init; } + + public int LastCluster { get; init; } } } diff --git a/src/Avalonia.Base/Media/IImage.cs b/src/Avalonia.Base/Media/IImage.cs index cbe25b7b58..4e0b952b88 100644 --- a/src/Avalonia.Base/Media/IImage.cs +++ b/src/Avalonia.Base/Media/IImage.cs @@ -18,11 +18,9 @@ namespace Avalonia.Media /// The drawing context. /// The rect in the image to draw. /// The rect in the output to draw to. - /// The bitmap interpolation mode. void Draw( DrawingContext context, Rect sourceRect, - Rect destRect, - BitmapInterpolationMode bitmapInterpolationMode); + Rect destRect); } } diff --git a/src/Avalonia.Base/Media/ITileBrush.cs b/src/Avalonia.Base/Media/ITileBrush.cs index cb5a591003..586f6053a1 100644 --- a/src/Avalonia.Base/Media/ITileBrush.cs +++ b/src/Avalonia.Base/Media/ITileBrush.cs @@ -39,13 +39,5 @@ namespace Avalonia.Media /// Gets the brush's tile mode. /// TileMode TileMode { get; } - - /// - /// Gets the bitmap interpolation mode. - /// - /// - /// The bitmap interpolation mode. - /// - BitmapInterpolationMode BitmapInterpolationMode { get; } } } diff --git a/src/Avalonia.Base/Media/Imaging/Bitmap.cs b/src/Avalonia.Base/Media/Imaging/Bitmap.cs index c4720d772e..07bb3db100 100644 --- a/src/Avalonia.Base/Media/Imaging/Bitmap.cs +++ b/src/Avalonia.Base/Media/Imaging/Bitmap.cs @@ -224,15 +224,13 @@ namespace Avalonia.Media.Imaging void IImage.Draw( DrawingContext context, Rect sourceRect, - Rect destRect, - BitmapInterpolationMode bitmapInterpolationMode) + Rect destRect) { context.DrawBitmap( PlatformImpl, 1, sourceRect, - destRect, - bitmapInterpolationMode); + destRect); } private static IPlatformRenderInterface GetFactory() diff --git a/src/Avalonia.Base/Media/Imaging/BitmapBlendingMode.cs b/src/Avalonia.Base/Media/Imaging/BitmapBlendingMode.cs index eb39020939..73a3f7b269 100644 --- a/src/Avalonia.Base/Media/Imaging/BitmapBlendingMode.cs +++ b/src/Avalonia.Base/Media/Imaging/BitmapBlendingMode.cs @@ -3,8 +3,10 @@ namespace Avalonia.Media.Imaging /// /// Controls the way the bitmaps are drawn together. /// - public enum BitmapBlendingMode + public enum BitmapBlendingMode : byte { + Unspecified, + /// /// Source is placed over the destination. /// @@ -52,6 +54,6 @@ namespace Avalonia.Media.Imaging /// /// Display the sum of the source image and destination image. /// - Plus, + Plus } } diff --git a/src/Avalonia.Base/Media/Imaging/BitmapInterpolationMode.cs b/src/Avalonia.Base/Media/Imaging/BitmapInterpolationMode.cs index 7cdb5d8b9f..eaa64892a4 100644 --- a/src/Avalonia.Base/Media/Imaging/BitmapInterpolationMode.cs +++ b/src/Avalonia.Base/Media/Imaging/BitmapInterpolationMode.cs @@ -3,12 +3,14 @@ /// /// Controls the performance and quality of bitmap scaling. /// - public enum BitmapInterpolationMode + public enum BitmapInterpolationMode : byte { + Unspecified, + /// - /// Uses the default behavior of the underling render backend. + /// Disable interpolation. /// - Default, + None, /// /// The best performance but worst image quality. @@ -18,7 +20,7 @@ /// /// Good performance and decent image quality. /// - MediumQuality, + MediumQuality, /// /// Highest quality but worst performance. diff --git a/src/Avalonia.Base/Media/Imaging/CroppedBitmap.cs b/src/Avalonia.Base/Media/Imaging/CroppedBitmap.cs index 8cdf5b592a..93556679e9 100644 --- a/src/Avalonia.Base/Media/Imaging/CroppedBitmap.cs +++ b/src/Avalonia.Base/Media/Imaging/CroppedBitmap.cs @@ -83,12 +83,12 @@ namespace Avalonia.Media.Imaging } } - public void Draw(DrawingContext context, Rect sourceRect, Rect destRect, BitmapInterpolationMode bitmapInterpolationMode) + public void Draw(DrawingContext context, Rect sourceRect, Rect destRect) { if (Source is not IBitmap bmp) return; var topLeft = SourceRect.TopLeft.ToPointWithDpi(bmp.Dpi); - Source.Draw(context, sourceRect.Translate(new Vector(topLeft.X, topLeft.Y)), destRect, bitmapInterpolationMode); + Source.Draw(context, sourceRect.Translate(new Vector(topLeft.X, topLeft.Y)), destRect); } } } diff --git a/src/Avalonia.Base/Media/ImmediateDrawingContext.cs b/src/Avalonia.Base/Media/ImmediateDrawingContext.cs index 58b153482d..7ddccc80e7 100644 --- a/src/Avalonia.Base/Media/ImmediateDrawingContext.cs +++ b/src/Avalonia.Base/Media/ImmediateDrawingContext.cs @@ -80,11 +80,10 @@ namespace Avalonia.Media /// The bitmap. /// The rect in the image to draw. /// The rect in the output to draw to. - /// The bitmap interpolation mode. - public void DrawBitmap(IBitmap source, Rect sourceRect, Rect destRect, BitmapInterpolationMode bitmapInterpolationMode = default) + public void DrawBitmap(IBitmap source, Rect sourceRect, Rect destRect) { _ = source ?? throw new ArgumentNullException(nameof(source)); - PlatformImpl.DrawBitmap(source.PlatformImpl, 1, sourceRect, destRect, bitmapInterpolationMode); + PlatformImpl.DrawBitmap(source.PlatformImpl, 1, sourceRect, destRect); } /// diff --git a/src/Avalonia.Base/Media/Immutable/ImmutableImageBrush.cs b/src/Avalonia.Base/Media/Immutable/ImmutableImageBrush.cs index 668a907fdf..175038ba75 100644 --- a/src/Avalonia.Base/Media/Immutable/ImmutableImageBrush.cs +++ b/src/Avalonia.Base/Media/Immutable/ImmutableImageBrush.cs @@ -22,7 +22,6 @@ namespace Avalonia.Media.Immutable /// How the source rectangle will be stretched to fill the destination rect. /// /// The tile mode. - /// The bitmap interpolation mode. public ImmutableImageBrush( IBitmap? source, AlignmentX alignmentX = AlignmentX.Center, @@ -33,8 +32,7 @@ namespace Avalonia.Media.Immutable RelativePoint transformOrigin = default, RelativeRect? sourceRect = null, Stretch stretch = Stretch.Uniform, - TileMode tileMode = TileMode.None, - BitmapInterpolationMode bitmapInterpolationMode = BitmapInterpolationMode.Default) + TileMode tileMode = TileMode.None) : base( alignmentX, alignmentY, @@ -44,8 +42,7 @@ namespace Avalonia.Media.Immutable transformOrigin, sourceRect ?? RelativeRect.Fill, stretch, - tileMode, - bitmapInterpolationMode) + tileMode) { Source = source; } diff --git a/src/Avalonia.Base/Media/Immutable/ImmutableTileBrush.cs b/src/Avalonia.Base/Media/Immutable/ImmutableTileBrush.cs index 1ee52365e0..7e139af516 100644 --- a/src/Avalonia.Base/Media/Immutable/ImmutableTileBrush.cs +++ b/src/Avalonia.Base/Media/Immutable/ImmutableTileBrush.cs @@ -21,7 +21,6 @@ namespace Avalonia.Media.Immutable /// How the source rectangle will be stretched to fill the destination rect. /// /// The tile mode. - /// The bitmap interpolation mode. protected ImmutableTileBrush( AlignmentX alignmentX, AlignmentY alignmentY, @@ -31,8 +30,7 @@ namespace Avalonia.Media.Immutable RelativePoint transformOrigin, RelativeRect sourceRect, Stretch stretch, - TileMode tileMode, - BitmapInterpolationMode bitmapInterpolationMode) + TileMode tileMode) { AlignmentX = alignmentX; AlignmentY = alignmentY; @@ -43,7 +41,6 @@ namespace Avalonia.Media.Immutable SourceRect = sourceRect; Stretch = stretch; TileMode = tileMode; - BitmapInterpolationMode = bitmapInterpolationMode; } /// @@ -60,8 +57,7 @@ namespace Avalonia.Media.Immutable source.TransformOrigin, source.SourceRect, source.Stretch, - source.TileMode, - source.BitmapInterpolationMode) + source.TileMode) { } @@ -95,8 +91,5 @@ namespace Avalonia.Media.Immutable /// public TileMode TileMode { get; } - - /// - public BitmapInterpolationMode BitmapInterpolationMode { get; } } } diff --git a/src/Avalonia.Base/Media/PlatformDrawingContext.cs b/src/Avalonia.Base/Media/PlatformDrawingContext.cs index eb8a93722c..63cbb3069b 100644 --- a/src/Avalonia.Base/Media/PlatformDrawingContext.cs +++ b/src/Avalonia.Base/Media/PlatformDrawingContext.cs @@ -25,6 +25,12 @@ internal sealed class PlatformDrawingContext : DrawingContext, IDrawingContextWi _ownsImpl = ownsImpl; } + public RenderOptions RenderOptions + { + get => _impl.RenderOptions; + set => _impl.RenderOptions = value; + } + protected override void DrawLineCore(IPen pen, Point p1, Point p2) => _impl.DrawLine(pen, p1, p2); @@ -37,9 +43,8 @@ internal sealed class PlatformDrawingContext : DrawingContext, IDrawingContextWi protected override void DrawEllipseCore(IBrush? brush, IPen? pen, Rect rect) => _impl.DrawEllipse(brush, pen, rect); - internal override void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect, - BitmapInterpolationMode bitmapInterpolationMode = BitmapInterpolationMode.Default) => - _impl.DrawBitmap(source, opacity, sourceRect, destRect, bitmapInterpolationMode); + internal override void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect) => + _impl.DrawBitmap(source, opacity, sourceRect, destRect); public override void Custom(ICustomDrawOperation custom) => custom.Render(_impl); @@ -65,9 +70,6 @@ internal sealed class PlatformDrawingContext : DrawingContext, IDrawingContextWi protected override void PushOpacityMaskCore(IBrush mask, Rect bounds) => _impl.PushOpacityMask(mask, bounds); - protected override void PushBitmapBlendModeCore(BitmapBlendingMode blendingMode) => - _impl.PushBitmapBlendMode(blendingMode); - protected override void PushTransformCore(Matrix matrix) { _transforms ??= TransformStackPool.Get(); @@ -84,8 +86,6 @@ internal sealed class PlatformDrawingContext : DrawingContext, IDrawingContextWi protected override void PopOpacityMaskCore() => _impl.PopOpacityMask(); - protected override void PopBitmapBlendModeCore() => _impl.PopBitmapBlendMode(); - protected override void PopTransformCore() => _impl.Transform = (_transforms ?? throw new ObjectDisposedException(nameof(PlatformDrawingContext))).Pop(); diff --git a/src/Avalonia.Base/Media/RenderOptions.cs b/src/Avalonia.Base/Media/RenderOptions.cs index 5863d0ac58..639498543b 100644 --- a/src/Avalonia.Base/Media/RenderOptions.cs +++ b/src/Avalonia.Base/Media/RenderOptions.cs @@ -1,36 +1,131 @@ using Avalonia.Media.Imaging; namespace Avalonia.Media -{ - public class RenderOptions +{ + public readonly record struct RenderOptions { + public BitmapInterpolationMode BitmapInterpolationMode { get; init; } + public EdgeMode EdgeMode { get; init; } + public TextRenderingMode TextRenderingMode { get; init; } + public BitmapBlendingMode BitmapBlendingMode { get; init; } + + /// + /// Gets the value of the BitmapInterpolationMode attached property for a visual. + /// + /// The control. + /// The control's left coordinate. + public static BitmapInterpolationMode GetBitmapInterpolationMode(Visual visual) + { + return visual.RenderOptions.BitmapInterpolationMode; + } + /// - /// Defines the property. + /// Sets the value of the BitmapInterpolationMode attached property for a visual. /// - public static readonly StyledProperty BitmapInterpolationModeProperty = - AvaloniaProperty.RegisterAttached( - "BitmapInterpolationMode", - BitmapInterpolationMode.MediumQuality, - inherits: true); + /// The control. + /// The left value. + public static void SetBitmapInterpolationMode(Visual visual, BitmapInterpolationMode value) + { + visual.RenderOptions = visual.RenderOptions with { BitmapInterpolationMode = value }; + } /// - /// Gets the value of the BitmapInterpolationMode attached property for a control. + /// Gets the value of the BitmapBlendingMode attached property for a visual. /// - /// The control. + /// The control. /// The control's left coordinate. - public static BitmapInterpolationMode GetBitmapInterpolationMode(AvaloniaObject element) + public static BitmapBlendingMode GetBitmapBlendingMode(Visual visual) { - return element.GetValue(BitmapInterpolationModeProperty); + return visual.RenderOptions.BitmapBlendingMode; } /// - /// Sets the value of the BitmapInterpolationMode attached property for a control. + /// Sets the value of the BitmapBlendingMode attached property for a visual. /// - /// The control. + /// The control. /// The left value. - public static void SetBitmapInterpolationMode(AvaloniaObject element, BitmapInterpolationMode value) + public static void SetBitmapBlendingMode(Visual visual, BitmapBlendingMode value) { - element.SetValue(BitmapInterpolationModeProperty, value); + visual.RenderOptions = visual.RenderOptions with { BitmapBlendingMode = value }; + } + + /// + /// Gets the value of the EdgeMode attached property for a visual. + /// + /// The control. + /// The control's left coordinate. + public static EdgeMode GetEdgeMode(Visual visual) + { + return visual.RenderOptions.EdgeMode; + } + + /// + /// Sets the value of the EdgeMode attached property for a visual. + /// + /// The control. + /// The left value. + public static void SetEdgeMode(Visual visual, EdgeMode value) + { + visual.RenderOptions = visual.RenderOptions with { EdgeMode = value }; + } + + /// + /// Gets the value of the TextRenderingMode attached property for a visual. + /// + /// The control. + /// The control's left coordinate. + public static TextRenderingMode GetTextRenderingMode(Visual visual) + { + return visual.RenderOptions.TextRenderingMode; + } + + /// + /// Sets the value of the TextRenderingMode attached property for a visual. + /// + /// The control. + /// The left value. + public static void SetTextRenderingMode(Visual visual, TextRenderingMode value) + { + visual.RenderOptions = visual.RenderOptions with { TextRenderingMode = value }; + } + + public RenderOptions MergeWith(RenderOptions other) + { + var bitmapInterpolationMode = BitmapInterpolationMode; + + if (bitmapInterpolationMode == BitmapInterpolationMode.Unspecified) + { + bitmapInterpolationMode = other.BitmapInterpolationMode; + } + + var edgeMode = EdgeMode; + + if (edgeMode == EdgeMode.Unspecified) + { + edgeMode = other.EdgeMode; + } + + var textRenderingMode = TextRenderingMode; + + if (textRenderingMode == TextRenderingMode.Unspecified) + { + textRenderingMode = other.TextRenderingMode; + } + + var bitmapBlendingMode = BitmapBlendingMode; + + if (bitmapBlendingMode == BitmapBlendingMode.Unspecified) + { + bitmapBlendingMode = other.BitmapBlendingMode; + } + + return new RenderOptions + { + BitmapInterpolationMode = bitmapInterpolationMode, + EdgeMode = edgeMode, + TextRenderingMode = textRenderingMode, + BitmapBlendingMode = bitmapBlendingMode + }; } } } diff --git a/src/Avalonia.Base/Media/TextDecoration.cs b/src/Avalonia.Base/Media/TextDecoration.cs index e89a7d8826..8661959aa6 100644 --- a/src/Avalonia.Base/Media/TextDecoration.cs +++ b/src/Avalonia.Base/Media/TextDecoration.cs @@ -1,10 +1,6 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using Avalonia.Collections; -using Avalonia.Collections.Pooled; using Avalonia.Media.TextFormatting; -using Avalonia.Platform; -using Avalonia.Utilities; namespace Avalonia.Media { @@ -218,7 +214,7 @@ namespace Avalonia.Media { var offsetY = glyphRun.BaselineOrigin.Y - origin.Y; - var intersections = glyphRun.PlatformImpl.Item.GetIntersections((float)(thickness * 0.5d - offsetY), (float)(thickness * 1.5d - offsetY)); + var intersections = glyphRun.GetIntersections((float)(thickness * 0.5d - offsetY), (float)(thickness * 1.5d - offsetY)); if (intersections.Count > 0) { diff --git a/src/Avalonia.Base/Media/TextRenderingMode.cs b/src/Avalonia.Base/Media/TextRenderingMode.cs new file mode 100644 index 0000000000..927d2bce73 --- /dev/null +++ b/src/Avalonia.Base/Media/TextRenderingMode.cs @@ -0,0 +1,11 @@ +namespace Avalonia.Media +{ + public enum TextRenderingMode : byte + { + Unspecified, + + SubpixelAntialias, + Antialias, + Alias + } +} diff --git a/src/Avalonia.Base/Media/TileBrush.cs b/src/Avalonia.Base/Media/TileBrush.cs index ab1ee2d604..d7b818a174 100644 --- a/src/Avalonia.Base/Media/TileBrush.cs +++ b/src/Avalonia.Base/Media/TileBrush.cs @@ -83,7 +83,6 @@ namespace Avalonia.Media SourceRectProperty, StretchProperty, TileModeProperty); - RenderOptions.BitmapInterpolationModeProperty.OverrideDefaultValue(BitmapInterpolationMode.Default); } /// @@ -140,17 +139,5 @@ namespace Avalonia.Media get { return (TileMode)GetValue(TileModeProperty); } set { SetValue(TileModeProperty, value); } } - - /// - /// Gets or sets the bitmap interpolation mode. - /// - /// - /// The bitmap interpolation mode. - /// - public BitmapInterpolationMode BitmapInterpolationMode - { - get { return RenderOptions.GetBitmapInterpolationMode(this); } - set { RenderOptions.SetBitmapInterpolationMode(this, value); } - } } } diff --git a/src/Avalonia.Base/Platform/IDrawingContextImpl.cs b/src/Avalonia.Base/Platform/IDrawingContextImpl.cs index 1359ad6603..cb28ff8d47 100644 --- a/src/Avalonia.Base/Platform/IDrawingContextImpl.cs +++ b/src/Avalonia.Base/Platform/IDrawingContextImpl.cs @@ -2,8 +2,8 @@ using System; using Avalonia.Media; using Avalonia.Rendering.SceneGraph; using Avalonia.Utilities; -using Avalonia.Media.Imaging; using Avalonia.Metadata; +using Avalonia.Media.Imaging; namespace Avalonia.Platform { @@ -13,6 +13,11 @@ namespace Avalonia.Platform [Unstable] public interface IDrawingContextImpl : IDisposable { + /// + /// Gets or sets the current render options used to control the rendering behavior of drawing operations. + /// + RenderOptions RenderOptions { get; set; } + /// /// Gets or sets the current transform of the drawing context. /// @@ -31,8 +36,7 @@ namespace Avalonia.Platform /// The opacity to draw with. /// The rect in the image to draw. /// The rect in the output to draw to. - /// The bitmap interpolation mode. - void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect, BitmapInterpolationMode bitmapInterpolationMode = BitmapInterpolationMode.Default); + void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect); /// /// Draws a bitmap image. @@ -157,17 +161,6 @@ namespace Avalonia.Platform /// void PopGeometryClip(); - /// - /// Pushes a bitmap blending value. - /// - /// The bitmap blending mode. - void PushBitmapBlendMode(BitmapBlendingMode blendingMode); - - /// - /// Pops the latest pushed bitmap blending value. - /// - void PopBitmapBlendMode(); - /// /// Adds a custom draw operation /// diff --git a/src/Avalonia.Base/Platform/IGlyphRunBuffer.cs b/src/Avalonia.Base/Platform/IGlyphRunBuffer.cs deleted file mode 100644 index c1fc7a5967..0000000000 --- a/src/Avalonia.Base/Platform/IGlyphRunBuffer.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Drawing; - -namespace Avalonia.Platform -{ - public interface IGlyphRunBuffer - { - Span GlyphIndices { get; } - - IGlyphRunImpl Build(); - } - - public interface IHorizontalGlyphRunBuffer : IGlyphRunBuffer - { - Span GlyphPositions { get; } - } - - public interface IPositionedGlyphRunBuffer : IGlyphRunBuffer - { - Span GlyphPositions { get; } - } -} diff --git a/src/Avalonia.Base/Platform/IGlyphRunImpl.cs b/src/Avalonia.Base/Platform/IGlyphRunImpl.cs index fccea27c43..2342f32307 100644 --- a/src/Avalonia.Base/Platform/IGlyphRunImpl.cs +++ b/src/Avalonia.Base/Platform/IGlyphRunImpl.cs @@ -1,25 +1,36 @@ using System; using System.Collections.Generic; +using Avalonia.Media; using Avalonia.Metadata; namespace Avalonia.Platform { /// - /// Actual implementation of a glyph run that stores platform dependent resources. + /// An immutable platform representation of a . /// [Unstable] - public interface IGlyphRunImpl : IDisposable + public interface IGlyphRunImpl : IDisposable { /// - /// Gets the conservative bounding box of the glyph run./>. + /// Gets the for the . /// - Rect Bounds { get; } + IGlyphTypeface GlyphTypeface { get; } + + /// + /// Gets the em size used for rendering the . + /// + double FontRenderingEmSize { get; } /// /// Gets the baseline origin of the glyph run./>. /// Point BaselineOrigin { get; } + /// + /// Gets the conservative bounding box of the glyph run./>. + /// + Rect Bounds { get; } + /// /// Gets the intersections of specified upper and lower limit. /// diff --git a/src/Avalonia.Base/Platform/IPlatformRenderInterface.cs b/src/Avalonia.Base/Platform/IPlatformRenderInterface.cs index 81fe2c046f..c37233d52c 100644 --- a/src/Avalonia.Base/Platform/IPlatformRenderInterface.cs +++ b/src/Avalonia.Base/Platform/IPlatformRenderInterface.cs @@ -169,8 +169,9 @@ namespace Avalonia.Platform /// The font rendering em size. /// The list of glyphs. /// The baseline origin of the run. Can be null. + /// the conservative bounding box of the run /// An . - IGlyphRunImpl CreateGlyphRun(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, IReadOnlyList glyphInfos, Point baselineOrigin); + IGlyphRunImpl CreateGlyphRun(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, IReadOnlyList glyphInfos, Point baselineOrigin, Rect bounds); /// /// Creates a backend-specific object using a low-level API graphics context diff --git a/src/Avalonia.Base/Rendering/Composition/CompositingRenderer.cs b/src/Avalonia.Base/Rendering/Composition/CompositingRenderer.cs index 814ecdba29..1bf52729a0 100644 --- a/src/Avalonia.Base/Rendering/Composition/CompositingRenderer.cs +++ b/src/Avalonia.Base/Rendering/Composition/CompositingRenderer.cs @@ -260,6 +260,8 @@ public class CompositingRenderer : IRendererWithCompositor if (!comp.Effect.EffectEquals(visual.Effect)) comp.Effect = visual.Effect?.ToImmutable(); + comp.RenderOptions = visual.RenderOptions; + var renderTransform = Matrix.Identity; if (visual.HasMirrorTransform) @@ -272,8 +274,6 @@ public class CompositingRenderer : IRendererWithCompositor renderTransform *= (-offset) * visual.RenderTransform.Value * (offset); } - - comp.TransformMatrix = MatrixUtils.ToMatrix4x4(renderTransform); _recorder.BeginUpdate(comp.DrawList); diff --git a/src/Avalonia.Base/Rendering/Composition/Drawing/CompositionDrawingContext.cs b/src/Avalonia.Base/Rendering/Composition/Drawing/CompositionDrawingContext.cs index f81cc5a1a0..ec419e6313 100644 --- a/src/Avalonia.Base/Rendering/Composition/Drawing/CompositionDrawingContext.cs +++ b/src/Avalonia.Base/Rendering/Composition/Drawing/CompositionDrawingContext.cs @@ -78,15 +78,14 @@ internal sealed class CompositionDrawingContext : DrawingContext, IDrawingContex } } - internal override void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect, - BitmapInterpolationMode bitmapInterpolationMode = BitmapInterpolationMode.Default) + internal override void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect) { var next = NextDrawAs(); if (next == null || - !next.Item.Equals(Transform, source, opacity, sourceRect, destRect, bitmapInterpolationMode)) + !next.Item.Equals(Transform, source, opacity, sourceRect, destRect)) { - Add(new ImageNode(Transform, source, opacity, sourceRect, destRect, bitmapInterpolationMode)); + Add(new ImageNode(Transform, source, opacity, sourceRect, destRect)); } else { @@ -227,20 +226,6 @@ internal sealed class CompositionDrawingContext : DrawingContext, IDrawingContex } } - protected override void PopBitmapBlendModeCore() - { - var next = NextDrawAs(); - - if (next == null || !next.Item.Equals(null)) - { - Add(new BitmapBlendModeNode()); - } - else - { - ++_drawOperationIndex; - } - } - protected override void PopOpacityCore() { var next = NextDrawAs(); @@ -354,21 +339,6 @@ internal sealed class CompositionDrawingContext : DrawingContext, IDrawingContex _needsToPopOpacityMask.Push(needsToPop); } - /// - protected override void PushBitmapBlendModeCore(BitmapBlendingMode blendingMode) - { - var next = NextDrawAs(); - - if (next == null || !next.Item.Equals(blendingMode)) - { - Add(new BitmapBlendModeNode(blendingMode)); - } - else - { - ++_drawOperationIndex; - } - } - private void Add(T node) where T : class, IDrawOperation { if (_drawOperationIndex < _builder.Count) diff --git a/src/Avalonia.Base/Rendering/Composition/Server/DrawingContextProxy.cs b/src/Avalonia.Base/Rendering/Composition/Server/DrawingContextProxy.cs index 1ec1362a4c..cdce741020 100644 --- a/src/Avalonia.Base/Rendering/Composition/Server/DrawingContextProxy.cs +++ b/src/Avalonia.Base/Rendering/Composition/Server/DrawingContextProxy.cs @@ -42,15 +42,20 @@ internal class CompositorDrawingContextProxy : IDrawingContextImpl, set => _impl.Transform = (_transform = value) * PostTransform; } + public RenderOptions RenderOptions + { + get => _impl.RenderOptions; + set => _impl.RenderOptions = value; + } + public void Clear(Color color) { _impl.Clear(color); } - public void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect, - BitmapInterpolationMode bitmapInterpolationMode = BitmapInterpolationMode.Default) + public void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect) { - _impl.DrawBitmap(source, opacity, sourceRect, destRect, bitmapInterpolationMode); + _impl.DrawBitmap(source, opacity, sourceRect, destRect); } public void DrawBitmap(IRef source, IBrush opacityMask, Rect opacityMaskRect, Rect destRect) @@ -133,16 +138,6 @@ internal class CompositorDrawingContextProxy : IDrawingContextImpl, _impl.PopGeometryClip(); } - public void PushBitmapBlendMode(BitmapBlendingMode blendingMode) - { - _impl.PushBitmapBlendMode(blendingMode); - } - - public void PopBitmapBlendMode() - { - _impl.PopBitmapBlendMode(); - } - public void Custom(ICustomDrawOperation custom) { _impl.Custom(custom); diff --git a/src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionTarget.cs b/src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionTarget.cs index 3e88b9e77b..45275bdfe1 100644 --- a/src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionTarget.cs +++ b/src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionTarget.cs @@ -181,7 +181,7 @@ namespace Avalonia.Rendering.Composition.Server else targetContext.DrawBitmap(RefCountable.CreateUnownedNotClonable(_layer), 1, new Rect(_layerSize), - new Rect(Size), BitmapInterpolationMode.LowQuality); + new Rect(Size)); if (DebugOverlays != RendererDebugOverlays.None) { diff --git a/src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionVisual.cs b/src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionVisual.cs index 6e7ef85183..853b90be5e 100644 --- a/src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionVisual.cs +++ b/src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionVisual.cs @@ -66,6 +66,8 @@ namespace Avalonia.Rendering.Composition.Server if (OpacityMaskBrush != null) canvas.PushOpacityMask(OpacityMaskBrush, boundsRect); + canvas.RenderOptions = RenderOptions; + RenderCore(canvas, currentTransformedClip); // Hack to force invalidation of SKMatrix @@ -122,6 +124,11 @@ namespace Avalonia.Rendering.Composition.Server var wasVisible = IsVisibleInFrame; + if(Parent != null) + { + RenderOptions = RenderOptions.MergeWith(Parent.RenderOptions); + } + // Calculate new parent-relative transform if (_combinedTransformDirty) { diff --git a/src/Avalonia.Base/Rendering/ImmediateRenderer.cs b/src/Avalonia.Base/Rendering/ImmediateRenderer.cs index 9b7d358b1d..4e264f6951 100644 --- a/src/Avalonia.Base/Rendering/ImmediateRenderer.cs +++ b/src/Avalonia.Base/Rendering/ImmediateRenderer.cs @@ -97,7 +97,18 @@ namespace Avalonia.Rendering using (visual.OpacityMask != null ? context.PushOpacityMask(visual.OpacityMask, bounds) : default) using (context.PushTransform(Matrix.Identity)) { - visual.Render(context); + var currentRenderOptions = default(RenderOptions); + + var platformContext = context as PlatformDrawingContext; + + if(platformContext != null) + { + currentRenderOptions = platformContext.RenderOptions; + + platformContext.RenderOptions = visual.RenderOptions.MergeWith(platformContext.RenderOptions); + } + + visual.Render(context); var childrenEnumerable = visual.HasNonUniformZIndexChildren ? visual.VisualChildren.OrderBy(x => x, ZIndexComparer.Instance) @@ -115,6 +126,11 @@ namespace Avalonia.Rendering Render(context, child, childClipRect); } } + + if(platformContext != null) + { + platformContext.RenderOptions = currentRenderOptions; + } } } } diff --git a/src/Avalonia.Base/Rendering/SceneGraph/BitmapBlendModeNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/BitmapBlendModeNode.cs deleted file mode 100644 index b1190a159b..0000000000 --- a/src/Avalonia.Base/Rendering/SceneGraph/BitmapBlendModeNode.cs +++ /dev/null @@ -1,68 +0,0 @@ -using Avalonia.Platform; -using Avalonia.Media.Imaging; - -namespace Avalonia.Rendering.SceneGraph -{ - /// - /// A node in the scene graph which represents an bitmap blending mode push or pop. - /// - internal class BitmapBlendModeNode : IDrawOperation - { - /// - /// Initializes a new instance of the class that represents an - /// push. - /// - /// The to push. - public BitmapBlendModeNode(BitmapBlendingMode bitmapBlend) - { - BlendingMode = bitmapBlend; - } - - /// - /// Initializes a new instance of the class that represents an - /// pop. - /// - public BitmapBlendModeNode() - { - } - - /// - public Rect Bounds => default; - - /// - /// Gets the BitmapBlend to be pushed or null if the operation represents a pop. - /// - public BitmapBlendingMode? BlendingMode { get; } - - /// - public bool HitTest(Point p) => false; - - /// - /// Determines if this draw operation equals another. - /// - /// the how to compare - /// True if the draw operations are the same, otherwise false. - /// - /// The properties of the other draw operation are passed in as arguments to prevent - /// allocation of a not-yet-constructed draw operation object. - /// - public bool Equals(BitmapBlendingMode? blendingMode) => BlendingMode == blendingMode; - - /// - public void Render(IDrawingContextImpl context) - { - if (BlendingMode.HasValue) - { - context.PushBitmapBlendMode(BlendingMode.Value); - } - else - { - context.PopBitmapBlendMode(); - } - } - - public void Dispose() - { - } - } -} diff --git a/src/Avalonia.Base/Rendering/SceneGraph/GlyphRunNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/GlyphRunNode.cs index 1c4e63b34a..764c5c65f9 100644 --- a/src/Avalonia.Base/Rendering/SceneGraph/GlyphRunNode.cs +++ b/src/Avalonia.Base/Rendering/SceneGraph/GlyphRunNode.cs @@ -1,5 +1,4 @@ -using System; -using Avalonia.Media; +using Avalonia.Media; using Avalonia.Platform; using Avalonia.Utilities; @@ -18,7 +17,7 @@ namespace Avalonia.Rendering.SceneGraph /// The glyph run to draw. public GlyphRunNode( Matrix transform, - IImmutableBrush foreground, + IImmutableBrush? foreground, IRef glyphRun) : base(glyphRun.Item.Bounds, transform, foreground) { diff --git a/src/Avalonia.Base/Rendering/SceneGraph/ImageNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/ImageNode.cs index ac946cc8b2..caf0eee175 100644 --- a/src/Avalonia.Base/Rendering/SceneGraph/ImageNode.cs +++ b/src/Avalonia.Base/Rendering/SceneGraph/ImageNode.cs @@ -1,6 +1,5 @@ using Avalonia.Platform; using Avalonia.Utilities; -using Avalonia.Media.Imaging; namespace Avalonia.Rendering.SceneGraph { @@ -17,15 +16,13 @@ namespace Avalonia.Rendering.SceneGraph /// The draw opacity. /// The source rect. /// The destination rect. - /// The bitmap interpolation mode. - public ImageNode(Matrix transform, IRef source, double opacity, Rect sourceRect, Rect destRect, BitmapInterpolationMode bitmapInterpolationMode) + public ImageNode(Matrix transform, IRef source, double opacity, Rect sourceRect, Rect destRect) : base(destRect, transform) { Source = source.Clone(); Opacity = opacity; SourceRect = sourceRect; DestRect = destRect; - BitmapInterpolationMode = bitmapInterpolationMode; SourceVersion = Source.Item.Version; } @@ -53,14 +50,6 @@ namespace Avalonia.Rendering.SceneGraph /// Gets the destination rect. /// public Rect DestRect { get; } - - /// - /// Gets the bitmap interpolation mode. - /// - /// - /// The scaling mode. - /// - public BitmapInterpolationMode BitmapInterpolationMode { get; } /// /// Determines if this draw operation equals another. @@ -70,27 +59,25 @@ namespace Avalonia.Rendering.SceneGraph /// The opacity of the other draw operation. /// The source rect of the other draw operation. /// The dest rect of the other draw operation. - /// The bitmap interpolation mode. /// True if the draw operations are the same, otherwise false. /// /// The properties of the other draw operation are passed in as arguments to prevent /// allocation of a not-yet-constructed draw operation object. /// - public bool Equals(Matrix transform, IRef source, double opacity, Rect sourceRect, Rect destRect, BitmapInterpolationMode bitmapInterpolationMode) + public bool Equals(Matrix transform, IRef source, double opacity, Rect sourceRect, Rect destRect) { return transform == Transform && Equals(source.Item, Source.Item) && source.Item.Version == SourceVersion && opacity == Opacity && sourceRect == SourceRect && - destRect == DestRect && - bitmapInterpolationMode == BitmapInterpolationMode; + destRect == DestRect; } /// public override void Render(IDrawingContextImpl context) { - context.DrawBitmap(Source, Opacity, SourceRect, DestRect, BitmapInterpolationMode); + context.DrawBitmap(Source, Opacity, SourceRect, DestRect); } /// diff --git a/src/Avalonia.Base/Visual.cs b/src/Avalonia.Base/Visual.cs index 79cc760fc6..e626dc5249 100644 --- a/src/Avalonia.Base/Visual.cs +++ b/src/Avalonia.Base/Visual.cs @@ -318,7 +318,9 @@ namespace Avalonia internal CompositionDrawListVisual? CompositionVisual { get; private set; } internal CompositionVisual? ChildCompositionVisual { get; set; } - + + internal RenderOptions RenderOptions { get; set; } + public bool HasNonUniformZIndexChildren { get; private set; } /// diff --git a/src/Avalonia.Base/composition-schema.xml b/src/Avalonia.Base/composition-schema.xml index 91d718dfd8..a24c249eed 100644 --- a/src/Avalonia.Base/composition-schema.xml +++ b/src/Avalonia.Base/composition-schema.xml @@ -30,6 +30,7 @@ + diff --git a/src/Avalonia.Controls/Image.cs b/src/Avalonia.Controls/Image.cs index b14cc78e60..7996b982eb 100644 --- a/src/Avalonia.Controls/Image.cs +++ b/src/Avalonia.Controls/Image.cs @@ -91,9 +91,7 @@ namespace Avalonia.Controls Rect sourceRect = new Rect(sourceSize) .CenterRect(new Rect(destRect.Size / scale)); - var interpolationMode = RenderOptions.GetBitmapInterpolationMode(this); - - context.DrawImage(source, sourceRect, destRect, interpolationMode); + context.DrawImage(source, sourceRect, destRect); } } diff --git a/src/Avalonia.Headless/HeadlessPlatformRenderInterface.cs b/src/Avalonia.Headless/HeadlessPlatformRenderInterface.cs index 431989134a..f2d86a2e9d 100644 --- a/src/Avalonia.Headless/HeadlessPlatformRenderInterface.cs +++ b/src/Avalonia.Headless/HeadlessPlatformRenderInterface.cs @@ -1,11 +1,9 @@ using System; using System.Collections.Generic; using System.IO; -using System.Numerics; using System.Runtime.InteropServices; using Avalonia.Media; using Avalonia.Platform; -using Avalonia.Rendering; using Avalonia.Rendering.SceneGraph; using Avalonia.Utilities; using Avalonia.Media.Imaging; @@ -125,7 +123,8 @@ namespace Avalonia.Headless IGlyphTypeface glyphTypeface, double fontRenderingEmSize, IReadOnlyList glyphInfos, - Point baselineOrigin) + Point baselineOrigin, + Rect bounds) { return new HeadlessGlyphRunStub(); } @@ -136,6 +135,10 @@ namespace Avalonia.Headless public Point BaselineOrigin => new Point(0, 8); + public IGlyphTypeface GlyphTypeface => new HeadlessGlyphTypefaceImpl(); + + public double FontRenderingEmSize => 12; + public void Dispose() { } @@ -372,6 +375,8 @@ namespace Avalonia.Headless public Matrix Transform { get; set; } + public RenderOptions RenderOptions { get; set; } + public void Clear(Color color) { @@ -454,7 +459,7 @@ namespace Avalonia.Headless { } - public void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect, BitmapInterpolationMode bitmapInterpolationMode = BitmapInterpolationMode.Default) + public void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect) { } diff --git a/src/Skia/Avalonia.Skia/DrawingContextImpl.cs b/src/Skia/Avalonia.Skia/DrawingContextImpl.cs index f48d45f961..03288ca109 100644 --- a/src/Skia/Avalonia.Skia/DrawingContextImpl.cs +++ b/src/Skia/Avalonia.Skia/DrawingContextImpl.cs @@ -5,12 +5,10 @@ using System.Linq; using System.Threading; using Avalonia.Media; using Avalonia.Platform; -using Avalonia.Rendering; using Avalonia.Rendering.SceneGraph; using Avalonia.Rendering.Utilities; using Avalonia.Utilities; using Avalonia.Media.Imaging; -using Avalonia.Skia.Helpers; using SkiaSharp; using ISceneBrush = Avalonia.Media.ISceneBrush; @@ -27,10 +25,8 @@ namespace Avalonia.Skia private readonly Vector _dpi; private readonly Stack _maskStack = new(); private readonly Stack _opacityStack = new(); - private readonly Stack _blendingModeStack = new(); private readonly Matrix? _postTransform; private double _currentOpacity = 1.0f; - private BitmapBlendingMode _currentBlendingMode = BitmapBlendingMode.SourceOver; private readonly bool _canTextUseLcdRendering; private Matrix _currentTransform; private bool _disposed; @@ -171,6 +167,8 @@ namespace Avalonia.Skia public SKCanvas Canvas { get; } public SKSurface? Surface { get; } + public RenderOptions RenderOptions { get; set; } + private void CheckLease() { if (_leased) @@ -185,7 +183,7 @@ namespace Avalonia.Skia } /// - public void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect, BitmapInterpolationMode bitmapInterpolationMode) + public void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect) { CheckLease(); var drawableImage = (IDrawableBitmapImpl)source.Item; @@ -194,8 +192,8 @@ namespace Avalonia.Skia var paint = SKPaintCache.Shared.Get(); paint.Color = new SKColor(255, 255, 255, (byte)(255 * opacity * (_useOpacitySaveLayer ? 1 : _currentOpacity))); - paint.FilterQuality = bitmapInterpolationMode.ToSKFilterQuality(); - paint.BlendMode = _currentBlendingMode.ToSKBlendMode(); + paint.FilterQuality = RenderOptions.BitmapInterpolationMode.ToSKFilterQuality(); + paint.BlendMode = RenderOptions.BitmapBlendingMode.ToSKBlendMode(); drawableImage.Draw(this, s, d, paint); SKPaintCache.Shared.ReturnReset(paint); @@ -206,7 +204,7 @@ namespace Avalonia.Skia { CheckLease(); PushOpacityMask(opacityMask, opacityMaskRect); - DrawBitmap(source, 1, new Rect(0, 0, source.Item.PixelSize.Width, source.Item.PixelSize.Height), destRect, BitmapInterpolationMode.Default); + DrawBitmap(source, 1, new Rect(0, 0, source.Item.PixelSize.Width, source.Item.PixelSize.Height), destRect); PopOpacityMask(); } @@ -522,7 +520,9 @@ namespace Avalonia.Skia { var glyphRunImpl = (GlyphRunImpl)glyphRun.Item; - Canvas.DrawText(glyphRunImpl.TextBlob, (float)glyphRun.Item.BaselineOrigin.X, + var textBlob = glyphRunImpl.GetTextBlob(RenderOptions); + + Canvas.DrawText(textBlob, (float)glyphRun.Item.BaselineOrigin.X, (float)glyphRun.Item.BaselineOrigin.Y, paintWrapper.Paint); } } @@ -652,21 +652,6 @@ namespace Avalonia.Skia Canvas.Restore(); } - /// - public void PushBitmapBlendMode(BitmapBlendingMode blendingMode) - { - CheckLease(); - _blendingModeStack.Push(_currentBlendingMode); - _currentBlendingMode = blendingMode; - } - - /// - public void PopBitmapBlendMode() - { - CheckLease(); - _currentBlendingMode = _blendingModeStack.Pop(); - } - public void Custom(ICustomDrawOperation custom) { CheckLease(); @@ -914,12 +899,14 @@ namespace Avalonia.Skia context.Clear(Colors.Transparent); context.PushClip(calc.IntermediateClip); context.Transform = calc.IntermediateTransform; + context.RenderOptions = RenderOptions; + context.DrawBitmap( RefCountable.CreateUnownedNotClonable(tileBrushImage), 1, sourceRect, - targetRect, - tileBrush.BitmapInterpolationMode); + targetRect); + context.PopClip(); } @@ -1152,7 +1139,7 @@ namespace Avalonia.Skia { var paintWrapper = new PaintWrapper(paint); - paint.IsAntialias = true; + paint.IsAntialias = RenderOptions.EdgeMode != EdgeMode.Aliased; double opacity = brush.Opacity * (_useOpacitySaveLayer ? 1 :_currentOpacity); diff --git a/src/Skia/Avalonia.Skia/GlyphRunImpl.cs b/src/Skia/Avalonia.Skia/GlyphRunImpl.cs index 0521e238f3..7331740b56 100644 --- a/src/Skia/Avalonia.Skia/GlyphRunImpl.cs +++ b/src/Skia/Avalonia.Skia/GlyphRunImpl.cs @@ -1,5 +1,7 @@ using System; using System.Collections.Generic; +using Avalonia.Media; +using Avalonia.Media.TextFormatting; using Avalonia.Platform; using SkiaSharp; @@ -7,30 +9,122 @@ namespace Avalonia.Skia { internal class GlyphRunImpl : IGlyphRunImpl { - public GlyphRunImpl(SKTextBlob textBlob, Size size, Point baselineOrigin) + private readonly GlyphTypefaceImpl _glyphTypefaceImpl; + private readonly ushort[] _glyphIndices; + private readonly SKPoint[] _glyphPositions; + + private readonly Dictionary _textBlobCache = new(1); + + public GlyphRunImpl(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, + IReadOnlyList glyphInfos, Point baselineOrigin, Rect bounds) { - TextBlob = textBlob ?? throw new ArgumentNullException(nameof(textBlob)); + if (glyphTypeface == null) + { + throw new ArgumentNullException(nameof(glyphTypeface)); + } + + _glyphTypefaceImpl = (GlyphTypefaceImpl)glyphTypeface; + + if (glyphInfos == null) + { + throw new ArgumentNullException(nameof(glyphInfos)); + } + + var count = glyphInfos.Count; + _glyphIndices = new ushort[count]; + _glyphPositions = new SKPoint[count]; + + var currentX = 0.0; + + for (int i = 0; i < count; i++) + { + var glyphInfo = glyphInfos[i]; + var offset = glyphInfo.GlyphOffset; + + _glyphIndices[i] = glyphInfo.GlyphIndex; - Bounds = new Rect(new Point(baselineOrigin.X, 0), size); + _glyphPositions[i] = new SKPoint((float)(currentX + offset.X), (float)offset.Y); + currentX += glyphInfos[i].GlyphAdvance; + } + + FontRenderingEmSize = fontRenderingEmSize; BaselineOrigin = baselineOrigin; + Bounds = bounds; } - /// - /// Gets the text blob to draw. - /// - public SKTextBlob TextBlob { get; } + public IGlyphTypeface GlyphTypeface => _glyphTypefaceImpl; - public Rect Bounds { get; } + public double FontRenderingEmSize { get; } public Point BaselineOrigin { get; } - public IReadOnlyList GetIntersections(float upperBound, float lowerBound) => - TextBlob.GetIntercepts(lowerBound, upperBound); + public Rect Bounds { get; } + + public SKTextBlob GetTextBlob(RenderOptions renderOptions) + { + var edging = SKFontEdging.SubpixelAntialias; + + switch (renderOptions.TextRenderingMode) + { + case TextRenderingMode.Alias: + edging = SKFontEdging.Alias; + break; + case TextRenderingMode.Antialias: + edging = SKFontEdging.Antialias; + break; + case TextRenderingMode.Unspecified: + edging = renderOptions.EdgeMode == EdgeMode.Aliased ? SKFontEdging.Alias : SKFontEdging.SubpixelAntialias; + break; + } + + if (_textBlobCache.TryGetValue(edging, out var textBlob)) + { + return textBlob; + } - void IDisposable.Dispose() + var font = SKFontCache.Shared.Get(); + + font.LinearMetrics = true; + font.Subpixel = edging == SKFontEdging.SubpixelAntialias; + font.Edging = edging; + font.Hinting = SKFontHinting.Full; + font.Size = (float)FontRenderingEmSize; + font.Typeface = _glyphTypefaceImpl.Typeface; + font.Embolden = (_glyphTypefaceImpl.FontSimulations & FontSimulations.Bold) != 0; + font.SkewX = (_glyphTypefaceImpl.FontSimulations & FontSimulations.Oblique) != 0 ? -0.2f : 0; + + var builder = SKTextBlobBuilderCache.Shared.Get(); + + var runBuffer = builder.AllocatePositionedRun(font, _glyphIndices.Length); + + runBuffer.SetPositions(_glyphPositions); + runBuffer.SetGlyphs(_glyphIndices); + + SKFontCache.Shared.Return(font); + + textBlob = builder.Build(); + + SKTextBlobBuilderCache.Shared.Return(builder); + + _textBlobCache.Add(edging, textBlob); + + return textBlob; + } + + public void Dispose() { - TextBlob.Dispose(); + foreach (var pair in _textBlobCache) + { + pair.Value.Dispose(); + } + } + + public IReadOnlyList GetIntersections(float lowerLimit, float upperLimit) + { + var textBlob = GetTextBlob(default); + + return textBlob.GetIntercepts(lowerLimit, upperLimit); } } } diff --git a/src/Skia/Avalonia.Skia/Gpu/SkiaGpuRenderTarget.cs b/src/Skia/Avalonia.Skia/Gpu/SkiaGpuRenderTarget.cs index 797c565ca1..ce292eb826 100644 --- a/src/Skia/Avalonia.Skia/Gpu/SkiaGpuRenderTarget.cs +++ b/src/Skia/Avalonia.Skia/Gpu/SkiaGpuRenderTarget.cs @@ -1,5 +1,4 @@ using Avalonia.Platform; -using Avalonia.Rendering; namespace Avalonia.Skia { diff --git a/src/Skia/Avalonia.Skia/PlatformRenderInterface.cs b/src/Skia/Avalonia.Skia/PlatformRenderInterface.cs index a9a79ff0c5..b486f8ad42 100644 --- a/src/Skia/Avalonia.Skia/PlatformRenderInterface.cs +++ b/src/Skia/Avalonia.Skia/PlatformRenderInterface.cs @@ -5,8 +5,8 @@ using Avalonia.Media; using Avalonia.OpenGL; using Avalonia.Platform; using Avalonia.Media.Imaging; -using Avalonia.Media.TextFormatting; using SkiaSharp; +using Avalonia.Media.TextFormatting; namespace Avalonia.Skia { @@ -209,67 +209,10 @@ namespace Avalonia.Skia return new WriteableBitmapImpl(size, dpi, format, alphaFormat); } - public IGlyphRunImpl CreateGlyphRun( - IGlyphTypeface glyphTypeface, - double fontRenderingEmSize, - IReadOnlyList glyphInfos, - Point baselineOrigin) + public IGlyphRunImpl CreateGlyphRun(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, + IReadOnlyList glyphInfos, Point baselineOrigin, Rect bounds) { - if (glyphTypeface == null) - { - throw new ArgumentNullException(nameof(glyphTypeface)); - } - - if (glyphInfos == null) - { - throw new ArgumentNullException(nameof(glyphInfos)); - } - - var glyphTypefaceImpl = (GlyphTypefaceImpl)glyphTypeface; - - var font = SKFontCache.Shared.Get(); - - font.LinearMetrics = true; - font.Subpixel = true; - font.Edging = SKFontEdging.SubpixelAntialias; - font.Hinting = SKFontHinting.Full; - font.Size = (float)fontRenderingEmSize; - font.Typeface = glyphTypefaceImpl.Typeface; - font.Embolden = (glyphTypefaceImpl.FontSimulations & FontSimulations.Bold) != 0; - font.SkewX = (glyphTypefaceImpl.FontSimulations & FontSimulations.Oblique) != 0 ? -0.2f : 0; - - - var builder = SKTextBlobBuilderCache.Shared.Get(); - var count = glyphInfos.Count; - - var runBuffer = builder.AllocatePositionedRun(font, count); - - var glyphSpan = runBuffer.GetGlyphSpan(); - var positionSpan = runBuffer.GetPositionSpan(); - - SKFontCache.Shared.Return(font); - - var width = 0.0; - - for (int i = 0; i < count; i++) - { - var glyphInfo = glyphInfos[i]; - var offset = glyphInfo.GlyphOffset; - - glyphSpan[i] = glyphInfo.GlyphIndex; - - positionSpan[i] = new SKPoint((float)(width + offset.X), (float)offset.Y); - - width += glyphInfo.GlyphAdvance; - } - - var scale = fontRenderingEmSize / glyphTypeface.Metrics.DesignEmHeight; - var height = glyphTypeface.Metrics.LineSpacing * scale; - var skTextBlob = builder.Build(); - - SKTextBlobBuilderCache.Shared.Return(builder); - - return new GlyphRunImpl(skTextBlob, new Size(width, height), baselineOrigin); + return new GlyphRunImpl(glyphTypeface, fontRenderingEmSize, glyphInfos, baselineOrigin, bounds); } } } diff --git a/src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs b/src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs index c66b53284a..a1fdfdbd2e 100644 --- a/src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs +++ b/src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs @@ -19,7 +19,8 @@ namespace Avalonia.Skia return SKFilterQuality.Medium; case BitmapInterpolationMode.HighQuality: return SKFilterQuality.High; - case BitmapInterpolationMode.Default: + case BitmapInterpolationMode.None: + case BitmapInterpolationMode.Unspecified: return SKFilterQuality.None; default: throw new ArgumentOutOfRangeException(nameof(interpolationMode), interpolationMode, null); @@ -30,6 +31,7 @@ namespace Avalonia.Skia { switch (blendingMode) { + case BitmapBlendingMode.Unspecified: case BitmapBlendingMode.SourceOver: return SKBlendMode.SrcOver; case BitmapBlendingMode.Source: diff --git a/src/Windows/Avalonia.Direct2D1/Direct2D1Platform.cs b/src/Windows/Avalonia.Direct2D1/Direct2D1Platform.cs index 826296b055..fc1a358492 100644 --- a/src/Windows/Avalonia.Direct2D1/Direct2D1Platform.cs +++ b/src/Windows/Avalonia.Direct2D1/Direct2D1Platform.cs @@ -160,59 +160,9 @@ namespace Avalonia.Direct2D1 public IStreamGeometryImpl CreateStreamGeometry() => new StreamGeometryImpl(); public IGeometryImpl CreateGeometryGroup(FillRule fillRule, IReadOnlyList children) => new GeometryGroupImpl(fillRule, children); public IGeometryImpl CreateCombinedGeometry(GeometryCombineMode combineMode, IGeometryImpl g1, IGeometryImpl g2) => new CombinedGeometryImpl(combineMode, g1, g2); - - public IGlyphRunImpl CreateGlyphRun(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, - IReadOnlyList glyphInfos, Point baselineOrigin) + public IGlyphRunImpl CreateGlyphRun(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, IReadOnlyList glyphInfos, Point baselineOrigin, Rect bounds) { - var glyphTypefaceImpl = (GlyphTypefaceImpl)glyphTypeface; - - var glyphCount = glyphInfos.Count; - - var run = new SharpDX.DirectWrite.GlyphRun - { - FontFace = glyphTypefaceImpl.FontFace, - FontSize = (float)fontRenderingEmSize - }; - - var indices = new short[glyphCount]; - - for (var i = 0; i < glyphCount; i++) - { - indices[i] = (short)glyphInfos[i].GlyphIndex; - } - - run.Indices = indices; - - run.Advances = new float[glyphCount]; - - var width = 0.0; - - for (var i = 0; i < glyphCount; i++) - { - var advance = glyphInfos[i].GlyphAdvance; - - width += advance; - - run.Advances[i] = (float)advance; - } - - run.Offsets = new GlyphOffset[glyphCount]; - - for (var i = 0; i < glyphCount; i++) - { - var (x, y) = glyphInfos[i].GlyphOffset; - - run.Offsets[i] = new GlyphOffset - { - AdvanceOffset = (float)x, - AscenderOffset = (float)y - }; - } - - var scale = fontRenderingEmSize / glyphTypeface.Metrics.DesignEmHeight; - var height = glyphTypeface.Metrics.LineSpacing * scale; - - return new GlyphRunImpl(run, new Size(width, height), baselineOrigin); + return new GlyphRunImpl(glyphTypeface, fontRenderingEmSize, glyphInfos, baselineOrigin, bounds); } class D2DApi : IPlatformRenderInterfaceContext diff --git a/src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs index 318b0fe9ae..8968c891e6 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/DrawingContextImpl.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Numerics; using Avalonia.Media; using Avalonia.Platform; -using Avalonia.Rendering; using Avalonia.Rendering.SceneGraph; using Avalonia.Utilities; using Avalonia.Media.Imaging; @@ -76,6 +75,16 @@ namespace Avalonia.Direct2D1.Media set => throw new NotSupportedException(); } + public RenderOptions RenderOptions + { + get => _renderOptions; + set + { + _renderOptions = value; + ApplyRenderOptions(value); + } + } + /// public void Clear(Color color) { @@ -119,15 +128,14 @@ namespace Avalonia.Direct2D1.Media /// The opacity to draw with. /// The rect in the image to draw. /// The rect in the output to draw to. - /// The bitmap interpolation mode. - public void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect, BitmapInterpolationMode bitmapInterpolationMode) + public void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect) { using (var d2d = ((BitmapImpl)source.Item).GetDirect2DBitmap(_deviceContext)) { - var interpolationMode = GetInterpolationMode(bitmapInterpolationMode); - + var interpolationMode = GetInterpolationMode(RenderOptions.BitmapInterpolationMode); + // TODO: How to implement CompositeMode here? - + _deviceContext.DrawBitmap( d2d.Value, destRect.ToSharpDX(), @@ -143,13 +151,14 @@ namespace Avalonia.Direct2D1.Media switch (interpolationMode) { case BitmapInterpolationMode.LowQuality: - return InterpolationMode.NearestNeighbor; - case BitmapInterpolationMode.MediumQuality: return InterpolationMode.Linear; + case BitmapInterpolationMode.MediumQuality: + return InterpolationMode.MultiSampleLinear; case BitmapInterpolationMode.HighQuality: return InterpolationMode.HighQualityCubic; - case BitmapInterpolationMode.Default: - return InterpolationMode.Linear; + case BitmapInterpolationMode.None: + case BitmapInterpolationMode.Unspecified: + return InterpolationMode.NearestNeighbor; default: throw new ArgumentOutOfRangeException(nameof(interpolationMode), interpolationMode, null); } @@ -158,15 +167,16 @@ namespace Avalonia.Direct2D1.Media public static CompositeMode GetCompositeMode(BitmapBlendingMode blendingMode) { switch (blendingMode) - { + { case BitmapBlendingMode.SourceIn: return CompositeMode.SourceIn; case BitmapBlendingMode.SourceOut: return CompositeMode.SourceOut; + case BitmapBlendingMode.Unspecified: case BitmapBlendingMode.SourceOver: return CompositeMode.SourceOver; case BitmapBlendingMode.SourceAtop: - return CompositeMode.SourceAtop; + return CompositeMode.SourceAtop; case BitmapBlendingMode.DestinationIn: return CompositeMode.DestinationIn; case BitmapBlendingMode.DestinationOut: @@ -193,8 +203,10 @@ namespace Avalonia.Direct2D1.Media /// The rect in the output to draw to. public void DrawBitmap(IRef source, IBrush opacityMask, Rect opacityMaskRect, Rect destRect) { + var interpolationMode = GetInterpolationMode(RenderOptions.BitmapInterpolationMode); + using (var d2dSource = ((BitmapImpl)source.Item).GetDirect2DBitmap(_deviceContext)) - using (var sourceBrush = new BitmapBrush(_deviceContext, d2dSource.Value)) + using (var sourceBrush = new BitmapBrush1(_deviceContext, d2dSource.Value, new BitmapBrushProperties1 { InterpolationMode = interpolationMode })) using (var d2dOpacityMask = CreateBrush(opacityMask, opacityMaskRect.Size)) using (var geometry = new SharpDX.Direct2D1.RectangleGeometry(Direct2D1Platform.Direct2D1Factory, destRect.ToDirect2D())) { @@ -388,9 +400,11 @@ namespace Avalonia.Direct2D1.Media { using (var brush = CreateBrush(foreground, glyphRun.Item.Bounds.Size)) { - var glyphRunImpl = (GlyphRunImpl)glyphRun.Item; + var immutableGlyphRun = (GlyphRunImpl)glyphRun.Item; - _renderTarget.DrawGlyphRun(glyphRun.Item.BaselineOrigin.ToSharpDX(), glyphRunImpl.GlyphRun, + var dxGlyphRun = immutableGlyphRun.GlyphRun; + + _renderTarget.DrawGlyphRun(glyphRun.Item.BaselineOrigin.ToSharpDX(), dxGlyphRun, brush.PlatformBrush, MeasuringMode.Natural); } } @@ -433,6 +447,8 @@ namespace Avalonia.Direct2D1.Media readonly Stack _layers = new Stack(); private readonly Stack _layerPool = new Stack(); + private RenderOptions _renderOptions; + /// /// Pushes an opacity value. /// @@ -546,7 +562,7 @@ namespace Avalonia.Direct2D1.Media return new ImageBrushImpl( sceneBrushContent.Brush, _deviceContext, - new D2DBitmapImpl(intermediate.Bitmap), + new D2DBitmapImpl(intermediate.Bitmap.QueryInterface()), destinationSize); } @@ -608,8 +624,28 @@ namespace Avalonia.Direct2D1.Media { PopLayer(); } - + public void Custom(ICustomDrawOperation custom) => custom.Render(this); public object GetFeature(Type t) => null; + + private void ApplyRenderOptions(RenderOptions renderOptions) + { + _deviceContext.AntialiasMode = renderOptions.EdgeMode != EdgeMode.Aliased ? AntialiasMode.PerPrimitive : AntialiasMode.Aliased; + switch (renderOptions.TextRenderingMode) + { + case TextRenderingMode.Unspecified: + _deviceContext.TextAntialiasMode = renderOptions.EdgeMode != EdgeMode.Aliased ? TextAntialiasMode.Default : TextAntialiasMode.Aliased; + break; + case TextRenderingMode.Alias: + _deviceContext.TextAntialiasMode = TextAntialiasMode.Aliased; + break; + case TextRenderingMode.Antialias: + _deviceContext.TextAntialiasMode = TextAntialiasMode.Grayscale; + break; + case TextRenderingMode.SubpixelAntialias: + _deviceContext.TextAntialiasMode = TextAntialiasMode.Cleartype; + break; + } + } } } diff --git a/src/Windows/Avalonia.Direct2D1/Media/GlyphRunImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/GlyphRunImpl.cs index 2e7a4b67f6..df147c4525 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/GlyphRunImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/GlyphRunImpl.cs @@ -1,31 +1,106 @@ using System; using System.Collections.Generic; +using Avalonia.Media; +using Avalonia.Media.TextFormatting; using Avalonia.Platform; using SharpDX.DirectWrite; +#nullable enable + namespace Avalonia.Direct2D1.Media { internal class GlyphRunImpl : IGlyphRunImpl { - public GlyphRunImpl(GlyphRun glyphRun, Size size, Point baselineOrigin) + private readonly GlyphTypefaceImpl _glyphTypefaceImpl; + + private readonly short[] _glyphIndices; + private readonly float[] _glyphAdvances; + private readonly GlyphOffset[] _glyphOffsets; + + private SharpDX.DirectWrite.GlyphRun? _glyphRun; + + public GlyphRunImpl(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, + IReadOnlyList glyphInfos, Point baselineOrigin, Rect bounds) { - Bounds = new Rect(new Point(baselineOrigin.X, 0), size); + _glyphTypefaceImpl = (GlyphTypefaceImpl)glyphTypeface; + + FontRenderingEmSize = fontRenderingEmSize; BaselineOrigin = baselineOrigin; - GlyphRun = glyphRun; + Bounds = bounds; + + var glyphCount = glyphInfos.Count; + + _glyphIndices = new short[glyphCount]; + + for (var i = 0; i < glyphCount; i++) + { + _glyphIndices[i] = (short)glyphInfos[i].GlyphIndex; + } + + _glyphAdvances = new float[glyphCount]; + + var width = 0.0; + + for (var i = 0; i < glyphCount; i++) + { + var advance = glyphInfos[i].GlyphAdvance; + + width += advance; + + _glyphAdvances[i] = (float)advance; + } + + _glyphOffsets = new GlyphOffset[glyphCount]; + + for (var i = 0; i < glyphCount; i++) + { + var (x, y) = glyphInfos[i].GlyphOffset; + + _glyphOffsets[i] = new GlyphOffset + { + AdvanceOffset = (float)x, + AscenderOffset = (float)y + }; + } + } + + public SharpDX.DirectWrite.GlyphRun GlyphRun + { + get + { + if (_glyphRun != null) + { + return _glyphRun; + } + + _glyphRun = new SharpDX.DirectWrite.GlyphRun + { + FontFace = _glyphTypefaceImpl.FontFace, + FontSize = (float)FontRenderingEmSize, + Advances = _glyphAdvances, + Indices = _glyphIndices, + Offsets = _glyphOffsets + }; + + return _glyphRun; + } } - public Rect Bounds{ get; } + public IGlyphTypeface GlyphTypeface => _glyphTypefaceImpl; + + public double FontRenderingEmSize { get; } public Point BaselineOrigin { get; } - public GlyphRun GlyphRun { get; } + public Rect Bounds { get; } + + public IReadOnlyList GetIntersections(float lowerBound, float upperBound) => Array.Empty(); public void Dispose() { - //GlyphRun?.Dispose(); - } + //_glyphRun?.Dispose(); - public IReadOnlyList GetIntersections(float lowerBound, float upperBound) - => Array.Empty(); + _glyphRun = null; + } } } diff --git a/src/Windows/Avalonia.Direct2D1/Media/ImageBrushImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/ImageBrushImpl.cs index a08c96c40c..e0611b5870 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/ImageBrushImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/ImageBrushImpl.cs @@ -7,9 +7,7 @@ namespace Avalonia.Direct2D1.Media { internal sealed class ImageBrushImpl : BrushImpl { - private readonly OptionalDispose _bitmap; - - private readonly Avalonia.Media.Imaging.BitmapInterpolationMode _bitmapInterpolationMode; + private readonly OptionalDispose _bitmap; public ImageBrushImpl( ITileBrush brush, @@ -40,8 +38,6 @@ namespace Avalonia.Direct2D1.Media GetBrushProperties(brush, calc.DestinationRect)); } } - - _bitmapInterpolationMode = brush.BitmapInterpolationMode; } public override void Dispose() @@ -103,8 +99,7 @@ namespace Avalonia.Direct2D1.Media context.Clear(Colors.Transparent); context.PushClip(calc.IntermediateClip); context.Transform = calc.IntermediateTransform; - - context.DrawBitmap(RefCountable.CreateUnownedNotClonable(bitmap), 1, rect, rect, _bitmapInterpolationMode); + context.DrawBitmap(RefCountable.CreateUnownedNotClonable(bitmap), 1, rect, rect); context.PopClip(); } diff --git a/src/Windows/Avalonia.Direct2D1/Media/Imaging/BitmapImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/Imaging/BitmapImpl.cs index 740efe833f..ac21d7cf6e 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/Imaging/BitmapImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/Imaging/BitmapImpl.cs @@ -1,7 +1,7 @@ using System; using System.IO; using Avalonia.Platform; -using D2DBitmap = SharpDX.Direct2D1.Bitmap; +using D2DBitmap = SharpDX.Direct2D1.Bitmap1; namespace Avalonia.Direct2D1.Media { diff --git a/src/Windows/Avalonia.Direct2D1/Media/Imaging/D2DBitmapImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/Imaging/D2DBitmapImpl.cs index 940d4673b5..2373a90ebc 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/Imaging/D2DBitmapImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/Imaging/D2DBitmapImpl.cs @@ -1,7 +1,8 @@ using System; using System.IO; +using Avalonia.Metadata; +using SharpDX.Direct2D1; using SharpDX.WIC; -using Bitmap = SharpDX.Direct2D1.Bitmap; namespace Avalonia.Direct2D1.Media { @@ -10,7 +11,7 @@ namespace Avalonia.Direct2D1.Media /// internal class D2DBitmapImpl : BitmapImpl { - private readonly Bitmap _direct2DBitmap; + private readonly Bitmap1 _direct2DBitmap; /// /// Initialize a new instance of the class @@ -22,7 +23,7 @@ namespace Avalonia.Direct2D1.Media /// or if the render target is a , /// the device associated with this context, to be renderable. /// - public D2DBitmapImpl(Bitmap d2DBitmap) + public D2DBitmapImpl(Bitmap1 d2DBitmap) { _direct2DBitmap = d2DBitmap ?? throw new ArgumentNullException(nameof(d2DBitmap)); } @@ -36,9 +37,9 @@ namespace Avalonia.Direct2D1.Media _direct2DBitmap.Dispose(); } - public override OptionalDispose GetDirect2DBitmap(SharpDX.Direct2D1.RenderTarget target) + public override OptionalDispose GetDirect2DBitmap(SharpDX.Direct2D1.RenderTarget target) { - return new OptionalDispose(_direct2DBitmap, false); + return new OptionalDispose(_direct2DBitmap, false); } public override void Save(Stream stream, int? quality = null) diff --git a/src/Windows/Avalonia.Direct2D1/Media/Imaging/D2DRenderTargetBitmapImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/Imaging/D2DRenderTargetBitmapImpl.cs index 6b1ca911fb..2a3bf617f7 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/Imaging/D2DRenderTargetBitmapImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/Imaging/D2DRenderTargetBitmapImpl.cs @@ -5,7 +5,7 @@ using Avalonia.Rendering; using Avalonia.Utilities; using SharpDX; using SharpDX.Direct2D1; -using D2DBitmap = SharpDX.Direct2D1.Bitmap; +using D2DBitmap = SharpDX.Direct2D1.Bitmap1; namespace Avalonia.Direct2D1.Media.Imaging { @@ -14,7 +14,7 @@ namespace Avalonia.Direct2D1.Media.Imaging private readonly BitmapRenderTarget _renderTarget; public D2DRenderTargetBitmapImpl(BitmapRenderTarget renderTarget) - : base(renderTarget.Bitmap) + : base(renderTarget.Bitmap.QueryInterface()) { _renderTarget = renderTarget; } @@ -53,7 +53,7 @@ namespace Avalonia.Direct2D1.Media.Imaging public override OptionalDispose GetDirect2DBitmap(SharpDX.Direct2D1.RenderTarget target) { - return new OptionalDispose(_renderTarget.Bitmap, false); + return new OptionalDispose(_renderTarget.Bitmap.QueryInterface(), false); } public override void Save(Stream stream, int? quality = null) diff --git a/src/Windows/Avalonia.Direct2D1/Media/Imaging/WicBitmapImpl.cs b/src/Windows/Avalonia.Direct2D1/Media/Imaging/WicBitmapImpl.cs index 533a29f68c..2fa1e5bd7a 100644 --- a/src/Windows/Avalonia.Direct2D1/Media/Imaging/WicBitmapImpl.cs +++ b/src/Windows/Avalonia.Direct2D1/Media/Imaging/WicBitmapImpl.cs @@ -1,11 +1,10 @@ using System; using System.IO; -using Avalonia.Direct2D1.Media.Imaging; using Avalonia.Win32.Interop; using SharpDX.WIC; using APixelFormat = Avalonia.Platform.PixelFormat; using AlphaFormat = Avalonia.Platform.AlphaFormat; -using D2DBitmap = SharpDX.Direct2D1.Bitmap; +using D2DBitmap = SharpDX.Direct2D1.Bitmap1; using Avalonia.Platform; using PixelFormat = SharpDX.WIC.PixelFormat; @@ -22,7 +21,7 @@ namespace Avalonia.Direct2D1.Media { switch (interpolationMode) { - case Avalonia.Media.Imaging.BitmapInterpolationMode.Default: + case Avalonia.Media.Imaging.BitmapInterpolationMode.Unspecified: return BitmapInterpolationMode.Fant; case Avalonia.Media.Imaging.BitmapInterpolationMode.LowQuality: @@ -184,7 +183,10 @@ namespace Avalonia.Direct2D1.Media { using var converter = new FormatConverter(Direct2D1Platform.ImagingFactory); converter.Initialize(WicImpl, SharpDX.WIC.PixelFormat.Format32bppPBGRA); - return new OptionalDispose(D2DBitmap.FromWicBitmap(renderTarget, converter), true); + + var d2dBitmap = D2DBitmap.FromWicBitmap(renderTarget, converter).QueryInterface(); + + return new OptionalDispose(d2dBitmap, true); } public override void Save(Stream stream, int? quality = null) diff --git a/tests/Avalonia.Base.UnitTests/Rendering/SceneGraph/DrawOperationTests.cs b/tests/Avalonia.Base.UnitTests/Rendering/SceneGraph/DrawOperationTests.cs index 34878bd08d..86f461673e 100644 --- a/tests/Avalonia.Base.UnitTests/Rendering/SceneGraph/DrawOperationTests.cs +++ b/tests/Avalonia.Base.UnitTests/Rendering/SceneGraph/DrawOperationTests.cs @@ -51,8 +51,7 @@ namespace Avalonia.Base.UnitTests.Rendering.SceneGraph bitmap, 1, new Rect(1, 1, 1, 1), - new Rect(1, 1, 1, 1), - BitmapInterpolationMode.Default); + new Rect(1, 1, 1, 1)); Assert.Equal(2, bitmap.RefCount); diff --git a/tests/Avalonia.Base.UnitTests/VisualTree/MockRenderInterface.cs b/tests/Avalonia.Base.UnitTests/VisualTree/MockRenderInterface.cs index d494c47a55..37adb03628 100644 --- a/tests/Avalonia.Base.UnitTests/VisualTree/MockRenderInterface.cs +++ b/tests/Avalonia.Base.UnitTests/VisualTree/MockRenderInterface.cs @@ -78,7 +78,7 @@ namespace Avalonia.Base.UnitTests.VisualTree } public IGlyphRunImpl CreateGlyphRun(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, - IReadOnlyList glyphInfos, Point baselineOrigin) + IReadOnlyList glyphInfos, Point baselineOrigin, Rect bounds) { throw new NotImplementedException(); } diff --git a/tests/Avalonia.Benchmarks/NullDrawingContextImpl.cs b/tests/Avalonia.Benchmarks/NullDrawingContextImpl.cs index 40d504a0ac..3513843367 100644 --- a/tests/Avalonia.Benchmarks/NullDrawingContextImpl.cs +++ b/tests/Avalonia.Benchmarks/NullDrawingContextImpl.cs @@ -15,12 +15,13 @@ namespace Avalonia.Benchmarks public Matrix Transform { get; set; } + public RenderOptions RenderOptions { get; set; } + public void Clear(Color color) { } - public void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect, - BitmapInterpolationMode bitmapInterpolationMode = BitmapInterpolationMode.Default) + public void DrawBitmap(IRef source, double opacity, Rect sourceRect, Rect destRect) { } diff --git a/tests/Avalonia.Benchmarks/NullGlyphRun.cs b/tests/Avalonia.Benchmarks/NullGlyphRun.cs deleted file mode 100644 index 5b584f302d..0000000000 --- a/tests/Avalonia.Benchmarks/NullGlyphRun.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System.Collections.Generic; -using Avalonia.Platform; - -namespace Avalonia.Benchmarks -{ - internal class NullGlyphRun : IGlyphRunImpl - { - public Rect Bounds => default; - - public Point BaselineOrigin => default; - - public void Dispose() - { - } - - public IReadOnlyList GetIntersections(float lowerBound, float upperBound) - { - return null; - } - } -} diff --git a/tests/Avalonia.Benchmarks/NullRenderingPlatform.cs b/tests/Avalonia.Benchmarks/NullRenderingPlatform.cs index d40abd9f47..55cd9e8d4b 100644 --- a/tests/Avalonia.Benchmarks/NullRenderingPlatform.cs +++ b/tests/Avalonia.Benchmarks/NullRenderingPlatform.cs @@ -124,9 +124,9 @@ namespace Avalonia.Benchmarks } public IGlyphRunImpl CreateGlyphRun(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, - IReadOnlyList glyphInfos, Point baselineOrigin) + IReadOnlyList glyphInfos, Point baselineOrigin, Rect bounds) { - return new MockGlyphRun(glyphInfos); + return new MockGlyphRun(glyphTypeface, fontRenderingEmSize, baselineOrigin, bounds); } public IPlatformRenderInterfaceContext CreateBackendContext(IPlatformGraphicsContext graphicsContext) diff --git a/tests/Avalonia.RenderTests/Media/GlyphRunTests.cs b/tests/Avalonia.RenderTests/Media/GlyphRunTests.cs index 772d6e1023..1b5083924a 100644 --- a/tests/Avalonia.RenderTests/Media/GlyphRunTests.cs +++ b/tests/Avalonia.RenderTests/Media/GlyphRunTests.cs @@ -111,6 +111,29 @@ namespace Avalonia.Direct2D1.RenderTests.Media CompareImages(); } + [Win32Fact("For consistent results")] + public async Task Should_Render_GlyphRun_Aliased() + { + var control = new PositionedGlyphRunControl + { + [TextElement.ForegroundProperty] = new SolidColorBrush { Color = Colors.Black } + }; + + RenderOptions.SetTextRenderingMode(control, TextRenderingMode.Alias); + + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 190, + Height = 120, + Child = control + }; + + await RenderToFile(target); + + CompareImages(); + } + public class GlyphRunGeometryControl : Control { public GlyphRunGeometryControl() diff --git a/tests/Avalonia.RenderTests/Shapes/EllipseTests.cs b/tests/Avalonia.RenderTests/Shapes/EllipseTests.cs index 43f15e0fad..0851760987 100644 --- a/tests/Avalonia.RenderTests/Shapes/EllipseTests.cs +++ b/tests/Avalonia.RenderTests/Shapes/EllipseTests.cs @@ -35,5 +35,49 @@ namespace Avalonia.Direct2D1.RenderTests.Shapes await RenderToFile(target); CompareImages(); } + + [Fact] + public async Task Should_Render_Circle_Aliased() + { + var target = new Border + { + Background = Brushes.White, + Padding = new Thickness(8), + Width = 200, + Height = 200, + Child = new Ellipse + { + Stroke = Brushes.Black, + StrokeThickness = 3.5, + } + }; + + RenderOptions.SetEdgeMode(target, EdgeMode.Aliased); + + await RenderToFile(target); + CompareImages(); + } + + [Fact] + public async Task Should_Render_Circle_Antialiased() + { + var target = new Border + { + Background = Brushes.White, + Padding = new Thickness(8), + Width = 200, + Height = 200, + Child = new Ellipse + { + Stroke = Brushes.Black, + StrokeThickness = 3.5, + } + }; + + RenderOptions.SetEdgeMode(target, EdgeMode.Antialias); + + await RenderToFile(target); + CompareImages(); + } } } diff --git a/tests/Avalonia.UnitTests/MockGlyphRun.cs b/tests/Avalonia.UnitTests/MockGlyphRun.cs index 4561d3b3f2..805c0b6a8a 100644 --- a/tests/Avalonia.UnitTests/MockGlyphRun.cs +++ b/tests/Avalonia.UnitTests/MockGlyphRun.cs @@ -1,33 +1,34 @@ using System; using System.Collections.Generic; -using Avalonia.Media.TextFormatting; +using Avalonia.Media; using Avalonia.Platform; namespace Avalonia.UnitTests { public class MockGlyphRun : IGlyphRunImpl { - public MockGlyphRun(IReadOnlyList glyphInfos) + public MockGlyphRun(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, Point baselineOrigin, Rect bounds) { - var width = 0.0; + GlyphTypeface = glyphTypeface; + FontRenderingEmSize = fontRenderingEmSize; + BaselineOrigin = baselineOrigin; + Bounds =bounds; + } - for (var i = 0; i < glyphInfos.Count; ++i) - { - width += glyphInfos[i].GlyphAdvance; - } + public IGlyphTypeface GlyphTypeface { get; } - Bounds = new Rect(new Size(width, 10)); - } + public double FontRenderingEmSize { get; } - public Rect Bounds { get; } + public Point BaselineOrigin { get; } - public Point BaselineOrigin => new Point(0, 8); + public Rect Bounds { get; } public void Dispose() { + } - public IReadOnlyList GetIntersections(float lowerBound, float upperBound) + public IReadOnlyList GetIntersections(float lowerLimit, float upperLimit) => Array.Empty(); } } diff --git a/tests/Avalonia.UnitTests/MockPlatformRenderInterface.cs b/tests/Avalonia.UnitTests/MockPlatformRenderInterface.cs index 720755f2b0..8647461c0e 100644 --- a/tests/Avalonia.UnitTests/MockPlatformRenderInterface.cs +++ b/tests/Avalonia.UnitTests/MockPlatformRenderInterface.cs @@ -5,7 +5,6 @@ using Avalonia.Media; using Avalonia.Platform; using Avalonia.Media.Imaging; using Avalonia.Media.TextFormatting; -using Avalonia.Rendering; using Moq; namespace Avalonia.UnitTests @@ -149,10 +148,9 @@ namespace Avalonia.UnitTests throw new NotImplementedException(); } - public IGlyphRunImpl CreateGlyphRun(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, - IReadOnlyList glyphInfos, Point baselineOrigin) + public IGlyphRunImpl CreateGlyphRun(IGlyphTypeface glyphTypeface, double fontRenderingEmSize, IReadOnlyList glyphInfos, Point baselineOrigin, Rect bounds) { - return new MockGlyphRun(glyphInfos); + return new MockGlyphRun(glyphTypeface, fontRenderingEmSize, baselineOrigin, bounds); } public IPlatformRenderInterfaceContext CreateBackendContext(IPlatformGraphicsContext graphicsContext) => this; @@ -162,21 +160,6 @@ namespace Avalonia.UnitTests return Mock.Of(); } - public IGlyphRunBuffer AllocateGlyphRun(IGlyphTypeface glyphTypeface, float fontRenderingEmSize, int length) - { - return Mock.Of(); - } - - public IHorizontalGlyphRunBuffer AllocateHorizontalGlyphRun(IGlyphTypeface glyphTypeface, float fontRenderingEmSize, int length) - { - return Mock.Of(); - } - - public IPositionedGlyphRunBuffer AllocatePositionedGlyphRun(IGlyphTypeface glyphTypeface, float fontRenderingEmSize, int length) - { - return Mock.Of(); - } - public bool SupportsIndividualRoundRects { get; set; } public AlphaFormat DefaultAlphaFormat => AlphaFormat.Premul; diff --git a/tests/TestFiles/Direct2D1/Media/GlyphRun/Should_Render_GlyphRun_Aliased.expected.png b/tests/TestFiles/Direct2D1/Media/GlyphRun/Should_Render_GlyphRun_Aliased.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..f13080906798e6ee198da1917ec03dab661242ce GIT binary patch literal 1132 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%0AYg# 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 LHb+ZMTqFJiWGw*r literal 3945 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 BT9g0) literal 3651 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 PF9^yC>hiTfNa+6nt0W)Q literal 14445 zcmZ{rWmFqqwDya8(crEHf?IKS304|BxLa{3r8vbMiUfDp7I$}dhvLO4&YS;z@7Mb! zldN?zYv#Pp|`=tERlv zyQ&HDBiIi_D@j$!ckgOrF`iA3-o5)sq$ne)?PYY9h4Pg^_Gu7B0SPXikxv`$DA27? z7d1lR`jgN-3!#khZDFY!S$IT5R?HTLBo2;bA!=^W^HG+%Eb5FM{My^YnHqhw{a+7H zO99W+hi_t?lM@DCJbhbvCdFoqjx#}MX{?CImVeD#y-NEISot6zHTJcU2BM3Uy zxyEoPYzU|-T_w&6ON@xzH9n=4JJ^mZii;Yl0*+@0#J-hiZ>7&{t`THKg6gi#x)LOg zbD0Vg6L}No3YCf2s?`x$vJ`o&Cd>t0^X5j1 zK0!oRvES1jP)rOeE0c3GvOiaJiOyKA$GPzu|sxKhE_EwM$ZY%&4In!Y}nCcnY= zO^z=WEFP3A|MO}6ta9@OuiJRl7^)kbFu*$X+6K}!|7B_WciR2o?-Y44BB2s?+KWXbLt`+0UQSCJf1lf9DDo{`%x z0cz!90OA+B{gHz?q{r3_B_*XRf)55C4f`*2hBXUCYGXxqeu`K`96a8hJexbjq4myI znQ>Au(q++M<%CJ``FxZiGw`ItDtH6^({zO`G}Gd`ufX*Zo>Drl8Z zJ47xOP<&Hr_BmMheApj)_edqc=lJZ^tF*1`NdP?be*9@A(#c^w0a}3{f!OG!iMAGN zfzz0XNLcdiPC;|_pr@bzoxSvieYoT_vdr^*gVL7$8sC}nQH|>mf5woUi2#I7cVx^g zzg+r#C-5ocb&-uB{%UX33QRLrrgVD@wdj2N+w8mz{|5JMs0aCk_Q;9_<)SF6st~}I zGpTs};F$Q>iWQ9V%_Bj>u%?`o`{MHQ@)H>>M=2=d| z2XS-kB}sRzq#I-(P140`W2%&z@**r(R^p%|sMNnUbds_`g;aW@^WX0Tz#m&>3tIHl*!>DkW!#mSes@Jkv)$26Oh0@6JEz^W>+iaV zOQikH+po=UtsZ>^gR73M(Qo}?oJ+oUrzTDw=M#VISNe?IW6l#2m+_fZo!<=EztpNb zE+nMKRoMy(5^xx0IxN?P?2o3#cG6O@kcs)57m)z9jT(L}+6W5fJiw-1WTDPN`87fj zNPvj@e(ImLGlU`ySMbXoMEToO^gLZ}mfxMd7Ba>^#Fy}od8rNvS?7!`MZ!m3X$><0 zjJPb4D#HmC9+i3(Za=vzETc&)Y?E1lK%mMK)wBZm&9p!CuW~B8h3M;xlgH^27uz`@#V}ZvHop*e3mL<`T-c^8B@yA6Ff(vz z3H%yi06znHQ7n^?+K)p5zO6Jm2RlG&sh9TgTb8Ti2eR&$k>VNb9)?m z4IlhvDdB8tj2Qj$ml+;u0PX zcd_NjCt3+(O}r~p(qZqheh=r8ToQ@15I6>ratG7bFWS7cxS!5~G|Ja|8`Hmq@T!26 z;3)iwnMX1NIQ(UE)$if?ESMF)-mS8QVv!A08AzUapnS$8Y+-zpPG}}A)&J#qTGje@ zM=(Un1bHsa(MJ;0U)pumgxf^h`Ks}S3ZqI@mZU&sKjrb> z-sLN5n+}#Jv;hq%C(et&7d(DzK^M-8M!zQyol;GP*9bp&(47Uva{K`dyU>kfeU~i?0kAa>Xf9FnaI;g~ZmEW55{c+n>x+zz0+Utvn)F=G z>wgzz5-4U-?6L-l{v%J4lmBwNXnfGT6~rN{gUEGt;9*5sqR1`0B_ErjyBh5>2XSCz zn@ZFK|8k@l%@!A*M51~~4g=gIq38OBr_;NpPX{7lEd3cTxt-Wf>+W&zi>I=fs?gd=2+gDMz}Cn&Kl>NeQ9)$T~+6gf>(8zy=-J+DHKnWN>R~ejMZ1?`kvl0r3w0r*hBOLXfvlZR!FQZwb zAoGs{)L+r5LHmDrOX-giQt(lrI+c10l@di`y$OPJySuUC9t+@Rm5e0oCH8OC9iOlppy~}eNi-4mK+JlCLsN-`- z0lX3kzLq2T&6X+?SyV^`^PjEOH_|L+hw!yHb^KUidJha3i_?@S3qu-h^W=D@3qL<1V+YI3mvE7aMIIY1+~V#icakpJ@QikSh0B@?4vUc_ z6BKO9z3L^DNagi)n;7SdVfU*&MV&frW{=&X)96`1Ko9*@oluL5zu`@dM6GH6QntUT zmKfI*6;`iB5!_isSV$>K+8T3EwFH@b z-f8vRN!IEbGrX0zh^==! zl_XNgb~6QvA`Ehoglt|c_qrWln+f|=;`tPF7`LBs>;B>YMNVc#@`Tt!tg{NG!Vg< z@ekKcm%G;Y)Q{{@{!0$EA}TN!zJA3E%sS^50lph`kp<}uq;w0p>;xyp zSeypqvy4mD_>7anPUv0~n$s<%nq2D%01l#w+K}iY+rj2Uv+2_N?d6|0%e|y_Xuf>x zRVHn@YeafTooPM_9=9zJIEeoL$MyuHiC9qCZ_d}4NJBBcnIj5o1-~yzI*_Wlrr_gG zg%b2sA=TQ~z@mMB3cKNm>m4(=hI%xWgK82(etmgr>@;!Szc==`sXp6i*C(Su4tq~!X*CI* zpUF$gy;fjGT0*9bhl`l4eJB2JrodXsjH)Y>p8T@44dZViN2hseI^XQK-n+Ba|Ej0u z$w)$*PPY0()x|rypZZO+=N^DL={b20b)}livO^AO|1{5g(w1s5hXjkDd01Y?2FXT+ zJypxqCWl=?j=(vHsLG3ILYeK2{z{|Sn4}r{uE(FK&j=ro^}iG` zCD1bgGl}l~?z2j}6!_&FHH@srGKXW7!2fKK*0AkcSfbx?fpgGpTA>Z9z+vIQAn_oJ zQpL2Sq=NoVyh0_w^V-yoC8ND0wlrThOP}pb`OQn{zzEV7b1G1myYkSTPSCW1o0^+D zfzM_wt^IAo7Z}hs@NdIAESVWAdz?Z_kTgAt6jM2&fJxPC7~-(fpy-<(F%xCr8R9pk zttW$xOY|T7&xl&$Tcc%ZV?$?G_Z}RKx84d9i2NDS%aZ2B@dU7Fai%icUwe@Tf z7AWNX()==(UK~?nWYnj6m8+saiks~BJ|}EVmh&t+WdwJw8cUKoSWPQGOot(rMHxW! z^q{mE9NXWuJQMz~!l7RAFit02Bj3lp$?ei~@Blt^XHVlhDKKC6cRJPhPUoyB``_#p zjs4Cyi&dn5YyP<|X8d=Bsa_NBZsI8fdwAF{=d?sjvX5ULYboBVI-p`>TS-%WjeA*i z#Lt&O8zAM|AxVuR__4tI-=q^NinvGgYkIGps$ZXNAz;^-YG{Zsg$IAJMVphR@>^*4 zJTo=>73tpodE#fHL!|7#R<$PG`sWq;?6}6BYXdDKHrAqZg`^>{Ikn;7p$M={((5-9 zkXy5bHZNav-S=jT$rj&0E6CMD+i|uk>(V=I%0g2`CV2anXns0h{sB#?>!gi>sHzmZ zNHs(5&C+0UoCO3Gd7gDUAi=`|992NTWuRL?Wysj zpzg?DPF=LqJ9hLtv87+w3;pCpSPLTG2nt!mS)R2L(mxu

^wFxFT{}9BsdrjVVGi zpC7KTwGTBK%Q9C)JfYqvrY($P2lBYbahX>#Qt_}gH z<=ya49;R|Flt#U%>^~X5*o!a;i)11uY>}`p%|6ijl6bbaxG(3=k!$}(NqNC^?HWb5 zp!88_(=lUCUOw!Hjn*++j>bt#4}0Juh;KfVkdZ;mIBvWHZNHD*XdC{bcvYv=`mtQB z-s|4vQZJgX%yRK-Iyab8N2hqoHwfKO8x%^%O1`1t>}tl4r5n~=LXV(yCNCcd7Q2debU#KR;D{;&7WI(AzU zY(P{w>sqv*ODZj0aGg$bB^nj5YzcS}h*Uw^9!l~JwwJ6FV~Kt>ziA|#gvZWm^S-ua zgU2l(1NK$o-cmt=q?>yUb*vmp(}*3qt3JrbkWc5CVv_QPztmdAdc3`l+hClhKBGqB z342dr`ftOR<7D+0#}h0EYk-eUtIm!eiI*XaUzhx+Iba)@CmV60eHa+ysez4=8#6Yr z%wtjWx+RahMILq~l6sYZsRL7Vyhp?aW2vk>*WFY91Q5GGwNnYk^fmaLHVk<5NCKdM z)?CKz=%$3JzG@vTF=K0d3JNxcFPxM@mYfzf+~EcmKh$F<)#Vbp6S%nVA5W_5%Rg6N zWpW+v*ehMV7zdy*O2fkIu3ns^F*W);kIxJtNcnJ(C0_QC#zMw;m{SZ&RD_ulg>@ut z)rw{|wZ=xuQ`nk&~zLJ}h(>+3x#izrx;ToH{lBJPtXZuWAG5h>M z>TptSx|H3z1|6Nfw_9O(qutkgg8ZXdIoA(v43QA7JaeQZz6q56#_$%Bfx>q^xgoW>%FVF;8Zsas0VLAO)xQ%eG%jH%Ry|&ZWG&O5gdl6RbSs?MGdIM|O0?P_sfs zmK330YbpyxS3R95@$l{NhKhKT#{#IVhfwpci8dP+iK@K7zb?&m-UU3I@ngt(GB=UI z)xnD+3wdsMGl6sw@XgO4p2yagru|+lC(f%5f9Jk*BHIawN8pSFwSsS=vD!2n1oUAg zr>b6}5*TdnX)zyw06w##8r!ZD(#0KBuW8~W{va3HRhAlJ>y`>_h+2p0FVp+3cuZit1O-Fi;sDyQ~MJ?e)OS;EW6 z+!FG!6lP3^Xd%Um0B*TOh1A1yPNRGAv4VaB2A(Y6!V>iYncbM&HxL?C5Jo6GewEc5 z++^xVsn|anmQ(*#P9L&`DvSB@&j*4hV=&2B^lr&aU2p-3)73u2CRFZ_eW_QgWppoeMlwoR`H_1#n60>+5F`_n&Lll zEGHfrWRj_loPYQ>%@6=beZykX4CZ?rLwBoC?Ma}U?fgKDrQ^xsgYUhGLa?A0d2)o;lBo*2AB3bgWr2UWgE5D|(VFKbTVSW{N?Gc-$pGha4e3N2M z#5Usa@NmVqm&f$5(^z6WMxP}L=SgX!==o3Y*v!n9W9zN1GtGy*poIvGo{;HBn-OFB zT=(z1M&b&C`SdC{UAW%o!W!X!Rk<{6@O+TC{Bbr&AGv3P=W8J~|0x;B*!+g0SVs$$ zWEs3R32EK7sm_;;2$&&HE+Zt9B$Fl!({0hP zGp-l!lT*8Qr;fqGIv>Z};+VC_cg8p&JHZqCqNmTR120dML0ZvIi`C_*23 z>?s!vQJHvo>s&3jU=3wMC8cS@6)dG z(hWZsSA2FZ0&!+Bro(8;_%+|l2BEf5q^ykB)vVJIfbfqe-Ta(Nwpf-J%S(F=EjRe% zBR#b!@OR$9MAmG&OWri5sw9Y{ek)?Ky)(L1UmnJ-?5P4c6WCQ=zmVRblh2*-cCvIvrz}r{0*L#V1NMNrZ;XU@!0(sHa zuWFu+0>-$(j$e}2%vF{}RFHO1(PjZtOy9}Ea?f0o=1}Eg65oqg@C5?n9e6vtlG0I}!#Gh!iiXl7U|A z&~nPk{n)R6 z94<&AOWvSlmhAn%7zIPP|eZz^+ zeO4VWF=Ek`>!saTU&qO8@p13{k;K8oPIVekZ32U6JJfgLdUvfE3X5&l*=FblTKU(U zILHf8#~pz9?w)BTk0%BmED`q&y2(<$#@q5~{E#So-@ut!obCA6jRcXz*u=!;>VnF> zJmUhUX+kA`h3a2z-ihmqsYIf1_r{+ezo3dd)GX!zw%Fb`35iP6jQP^ZUnL1n35uqS zr0D0wVyH^r_~%ZZbjU?7*;RLxjlT$Gr479bc|RxxRB)&xO|~<`2v@&0d3KeX&V`7z10(Bg;r@h6i2gWoV~dZCA(THqh^uyvg4(wgvU$uWD4dzU|2L z`fe!)tzA`7!@Z{v+WRSL6{CYp6%#$*R+Y5rY*lLtRm&3g9RQ_mEw@=jhGAyDGGb5? z77Y{6`>`GuQS~3f08|ThQ&|84$}v$Frgn3}k!V&4b?`L?sjQT1wU7)AmbS365 zKVX@#59zx9n>bQ`6l`OY<5{?98&@I$c4l@ucWdQpGW7b!#SiuVGvE^(YP|(czrz_hP#MuCn$<6Ddfia z<3p$HJ~{sg!~sIG_*@w$e}H2NabYgFvqfph1mZHssA9m9+BJV zL$MAHMwB^aCo-!AG#-`sTVsSi#m-N-Jn?6_0pdu|cwJDGj__3j-eF1HU>Mc65_d5x z0@-e|F-w25u6GLtJ&uF9!MCJPN}iMf0Jbu3g5?Lz_^5dUZoPgsVzx0R>7{hl5o@%d z_*!haSj!h=+WUCHtsiZ-17!9vruGbwMR%Nch9&ck;FUQ@T?VZvr`}=es6)5439Si& zE#BUwpSbTU#LdE(Oww;hEY$Vf)a@+nUQQnORbN_>>Gshey;lJ*}tv3ly zn~!-rB_bR+W_23n{*S=%{cR3=fzVh2{!EWQY@^(Ltu|5_c$`r0dm}7)<#M%nAq7@^ z!s{PH{-H~P`QfXYYLd&Gj0(QQI5t_yk1tf8iin1tyRS9PF-@)79~Sg0Dxc5O)*gmFXnAyEgg#r z#);c3pwJVNGIjl7XPTR6DHJ>SV%6*kmNh>C-|Td^jzH2P0IcAk$J>YU zh^RP?-f=K#=dIKL@{ck_Ybf5$p0Ub!FOqg`h2yIzm;8GVY?3O?f*Etb%$pPmj!kQ zE<4i@LXS^i5?a`Ma>#u7r`>9nXPR=$j9T7r!eX2uRQMzR!4KowK^Pnzg?@XqfnEn7 zT-H3B=58vW6Fz0&9PasELB$wpkbfEC@RZulm+AG5vLv(G@no^anMWZO_jZf%dBubu zM|f$GDe4brtVs_1xj+gwXn0@M>pCemD&%==&W2YK)H#jwYqWIug4+xDtPfg24j{tC zi>NA@j6D7q(F%b6A}&k?e{`QWfo%<_olyonO zQd9i~H>B|E%SgClxOKmYNXnSrZaH4dWbd1s<-U_vKFfo zSx-^_CrG?Th?<(3E_DZm-yVfgbAe$h-NEIqJwBhi)?E~<>NrmDQ`cY7X+hVzQxbqR z8WKeSx^E)xPtX7cU~x_4YzmH|K}Ws_qP;C?(oX(ItB|KoM*~?I!NmjnNO84ImQ*f} z_4qpPv3-XV?D}WS#9^fic?BgabxCXLJY_)=QlnF?+q*L34HXI*Pndy^rN{OrPyXAH z;dk-+RN-hCbVf-}=r+bVpx4W6{=0*w^m3^I!i+^p%OUb6Qto=*u9sa=ldA*^+YXBF zg$OR*0pQMl4JyK5XX&)-DI8OspO6Gjt@_VcKL6LR(q>3Q9rdmUll6S&bLpb@)F*3& z7_DxK1(!Qyeg2&p9oL2}9mQ3KW@L#8OTl~QcQ?^w6;b{0j&@9`Dzx&*oo9}=5gx}& z8moTZ%RBw2h~C|4^7DT#2X$f4WRHY31lhL1n%W6WSnr#aaaFTLlG{vI*N5y!z0^$- zaP5bONJ+>@v!T_>FMP+;)O3N}HX@5bXzkL(XYiFfJLg3Kb~B8KeF91Zh)i{_H6&kNR(M_RJOeg!I!|7URBJrUG} zH%u^wcnmr{D*w0}bT|j}!-#;KMt!5d#Io-Zp31QUu=$i6{FASR1goqixjuuPSAiF$>#MpKqZ z%Jz-9Kx@Zo=|tA@si3PDyQ`%AMT`4!&1a);KmEiVNcHQ#SV*W{$fo7~8=}5t;9~$C zFAx?+NJz*tztP=4%HlHWq5 zKG7G9+-*ZX$F($Ac_u>^a)q++si^?n+MUd;cVLl({{3A5B!&l>UZppNdbcP&~7fg-Q{CUQ)!5=_sAur}Kkqb4-382Q>g^y{dpn z2a~XeIU3sG6{dZ{QTlDMT@%<_4=$)8-M+sr4aRw(iPI`ptl{jJXy#KKH?wWt|G6ff zlcNM>0Ot&4-+v+zqI#aL>FWCv0drh`i5i+!Bx{?Caqs*#v+))bwL$Onq|}$Wq%W^? zrdehGSbP}LdTwdv2V8|jlXB_gAx{48yEzh}LE(M+Yg`+6w)GGtfna5R{igy10y;X! z(a94>#vYJlHNxuS;hlb)CLwG>TY0%UfU$oTzZl>f)wkjd5r!7QR$2N~tv_LBVeQLPNi%Plpyr-`&XklEG~-yYBJGP{Dg!FBxn5xaxx#jE2Pr;-WcHRbBpC{%Mo-RoQR zIK&S6b#Bb7czFmPyCn=VGxgTmyj`K(VGKc^5`*_~@_^fe>L_Ak@_QCPFD;s8W{;N- zVBqjzNe&7y?M4x{7VT?p4_3a!R!#|DG!14b)5X{67fDfKFPgGiL$acDk>~d6`rDP| zL@evCH0inNH@HD6l6H`3qK2x90dD@n0AgN~lXI=n$d^k=eb!}fSH0H=UZ?l1r3p&B z+_Tuf-OMhz+;}>#H`=oiY)qwt-wr`vdXd`}BVsq0f+q=|Dfr=TXSxh|$Tr!da+8f+ zNYo8&VSKF9Bo;S;Z~f(H*c*;cOZ~pL4Ckr_XNQS6PdS)$iA#ULElrQ{537$^^G$lR z{%))yy(?DX6r^C-(geNr5KRY`jozKQPS#3?VPAhf!rE z`txY|JsO|=!<#Kq<$0!}o41?lx_(GC_PGLlfZYF!ax>l?Sn(|Vk^g=OvU8Xz=z0hm zxLuC;&!H*K#daf*y>vYFJC@!IU?Bc&j73ClV^H+}nMEPbIm&zTaDJ&sF=n1o~)ohbBw{uqK9VCs9gW-2Id39wBFyLI9r8?of( z8@5wCqG2`fX6=Ip(dKkkWrc{1(Q}uLK$?3a0IXh0QG=@uwG`b;Dc$f+iRQoyob~Tq zOI=8Br->jigE1~E{JYbZL{py{lpI}6*p9Hxj6s%R>Sag*^yF;Bt)s$ezt8$*B6@1F z3NiVWKrG6PXz!t8N4Qfo4&_shOr{F&+H;%e`$l6=K?MkD*Cq&nPY;42XZw<<=+HA5 z#fH;$trOcFtdLpewrCiqf{&+#0#c}|=6y3Y+;imk6baDbQ;PL41urL9R}DW?T;p_kb*sMywEODXM-u88c!kiaOC+{}sOHpMpb0pddP|VTJ$a40xQU}-AcoM6zj0mg zx;GR5na&69Y?yzsUes4zxZh@3b4?EwMso&P3YkKFOZk96mb#oiUgz!q>Vo~AmU>_g zAbgMr?i}Ukq~P@)z|Yav^N!K~{80o5C)l`eN(3fBA;)u{LFhaQZU!Jrn;N%V?|RGA z*5SnE%Y6Ceg3H}ySJ=AprA%SfPuU+28jt@PWE~?LL16N!T-ziXW+WN`vNUz%@P=l=2EakqC(v$4gj)ABUyG^@^R{Sc$}@gmAD|=BT4y+MJSh|!XjL%e7^A< zZAvcY701@a`C+9)ZS=(RBYVE9v*v8^$) z##Fr(2#SX=>eiA__jvjbA}3pl&OQ+zaJ14`-VitY1t_TpV}tghFB}+fOJCv4__RPQ z+_c9jpJAq{KfVAI~xU(v0HK^YbHaqYC+)mwh{n8JPqf`E?PO3FfG* zxij=85UP#%5l|6@`Itj3&XRf1Ph>pTGc@#$ucHF$hByc#ygOzCEfvfUOLIQOQ0*l| zTq;1s-050#BAZcL+CiU$>L8}KAm0YD{1YooL}6#J{*3Of;D4eRf)!EL^*uuS8D`R{ zP@|Y*5zHwPp7%@+%tyv(yIZjnVVIDeLGjVV%}L@gh87b9OrTJG?P52QsZ0oJONVmB zkX687c%9?A`B`zDxaz(i%4#R?CF`7G-GZ6p%y67jW_Lfr@ku?Pk5$AK|CQ=i*?uVpeajLFp3MO6 z?)MVRN!^dUvR!ayjWDSpo?N|NwMr8(00=@lKhBR8<8IHWCSi=fJ5~%)Y&u`+)|zm! zil-InPit$fjO&NN!sPPNkdU5j37Q*#pQf~b`p<8VGg4uf zEBZ-YI+&nd{H(=2A6k56s42Xnk-xr1Hp~}Lq%C+2%&4@pK(>oHi&>NQ5T*>-%AQBQ}J2 zUtKI01u32^`AsQzy80`&{h|kB%7d#ZWe>&ghcjxpvk)1H7cvVX5c>`w!&Zfv@+7k$Y|UFis>TIS0eD=)P0J7=C-{s%J_J5GPcR6|P~*!^66EgSZ7yl1Y{7kJrycbr`Q z$&AOc4BXiHe1(z0kJTteSyGFAG^|21i%Hm49)dwsw^JJ0E!$oHo5H3tWi;K5sk)4e z`RBp-_wSKpi`7;D7VWL-wVgM9r$5Y_Yl|hg|6_bD+;>Sd!V{V}@Fij66<`RfCj!fk9%R=O6(o6g=?}Dz~v>Cho zB7gkI{YAWp-TIg!gC;M#Nr&8t9CJ0N1=^M=EMq^y`@#LX&o6gCEy^Vf#=Kf~85ZLh4=hSOzHT;y}UnNjn!D&KZ-SzpE2&@f+g zlD0{OZ4C|R?aAVGVnWnnvmiUZL5th47A$dp^xX9^`3y?Je6wQp;&TLTXt-z9Hm zKHM!xhGg>#S-xvrj)~wGVjaB?+*WFn_#m;P)^ZZGj9RuJW6PIu4)n&9_EK|yx$ ztqy+L*qIXcaF%!(v_aWT2INk{77>D}`nKfQwtfn? zzjE1T1=op8zAzu)zM_J{l-uKtjdJHQA@ad?$@5gJrxVDdr9;lWyQ)Xwl78ejEv#GR zzR{Ungu=P|GP&-S{RbY&s6*65w_>B+VCRx}V#&_a$*-PGm?>{!GagRvpt~^{Q-jBL zfyB?lR#f55?B<(vfBz+i2X6kgv!<9t{Ti$p1|9pWRwaRA-Z?>#G4^7~=X_)}y_TZ5 z4<^9>mK&2rHzYT4Wyq_bL~lGD3SiZ_c)JUj_VzlWyFwnhKlEgk^XKu&&aJEIPUp5j ze_8&$7FlAXopkB_@x!ALSDW~hP1f@c28i7!@WhzyvkM8p_A#UU3)!vOl%^D=8~Id zi7FXk$+$=ugh`~;Onhm#tv0iaP%UDvmq+(I{-Yx@0bW%_HB0@31TcJQ{M(gzWa`t6 ziTry?^KzXE2m%TwOeo-m#EM;^X1uO@K8q8`<VUAQTl!O=69>zraO7@0g z<=gv=a+E3feBscolX;5q&sj7~UIky&6bw7mrG+&H6DV@C?B-;6;K-)reW=8s-c1;R4}fzw?2aA)obr)^2GjNM)^z#S!y^-2Z1A-v74fp#q7Y{8vBh_{D$ZFoU%WzEhM{lc|z|1pYq~(9+KU diff --git a/tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_Uniform_NoTile.expected.png b/tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_Uniform_NoTile.expected.png index de73af81700872b7babfcd99189a66ea47db7eed..b06a6508fe0806351719d8c30b82305f3304bd0f 100644 GIT binary patch literal 7508 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 Xm^Kjk6(g|#015yANkvXXu0mjfLev!U literal 11529 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 a*1@`ZA?>c!7F5m*BPXpaRViT_^#1{dpFcbR diff --git a/tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_Fill_NoTile.expected.png b/tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_Fill_NoTile.expected.png index 110b44a4c089772b042fc3cac91ddc8b9a519be8..86d5e7ccefe1e4b604bbc7ee2d8f9827425955a4 100644 GIT binary patch literal 39511 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�F*&X};U8Lbf zhb>J)Q^IN{zR2YihOUqIoD6#R)?UPjbLmqHPyd@{6EJtWdzSF`r}&>E2DDplUhtY` zb|$U;5GdFSn6HDw_sc~TUHm6>=FLQl5#k1dP|f*&1}bo%7K7W6vTs;Q#7wh-f-hAh zSP&KDQc|kEeR@Hhd7s-^8@-2F6722=hB}l3I9)o(@EZ}RZ2dnY7|xF}K$)H93~0hO zixj1Ik19#&x#&EM%fxi1ZbcvzEO^U*FY@ok6F)8X3~$;@l2TuLsklFMG$D+iVU5xA z6sdGh&SRqt`=H`G5tw$xL@ecXoCvxF_Xw{E#C`ee*_I2l z{Ud0KwP-%D9O1;Q7gd~%LfTOHKlm+Y;oCI-|Nf(uS=`!7B{8dTUWjNM`H7gY)XlW( Hnos{fLbS%d literal 117975 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 diff --git a/tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_Grip_144_Dpi.expected.png b/tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_Grip_144_Dpi.expected.png index 1900ade5e258af8cf1d0206d405afc63e8e6e4ef..28370f3bce09fd2ed02d75466c2bca1cbd739580 100644 GIT binary patch delta 142 zcmV;90CE410>=T6L4R>cL_t(YOYN1r4Zt7_1s&1hA=re$?1m<6Op_vx_$6e35DK4! z;9YAy11TlxM*!p?y0iNE-Y|23fzx{s=URGDU-{Z^c{1&-EP&Z#EDgyM8?lJxRzKGp wCJH(HQBU=i(d)`ujMt|=yPh5O6^jTL=%w-XP=}Co00000Ne4wvM6N<$g6UI0X#fBK delta 214 zcmV;{04e{+0gnQZL4OHwNLh0L02UCyOkSZTS$eVOS;Jv522%z6E{AYD} zx8pcYxZ^#Jt^?I|gc$V@0XNsr#1UrSL0Jamd6W?K5DB-RWl!M?IodWXq$xkX`<}bH ztS85HHf729jCzQ)oA0_3RTZv!CfPPNby>H=JWnVJ9$wCIr=|%D>cZ}D0ye~xy_sEw Q+yDRo07*qoM6N<$f@V!w=Kufz diff --git a/tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_UniformToFill_NoTile.expected.png b/tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_UniformToFill_NoTile.expected.png index 2d7ccac2f7c06179da05d9674068c128d2364338..c1898766aa729e00d12db184e344aa5b8b864673 100644 GIT binary patch literal 8882 zcmZ{qbx<5Zx3}>Ci^~E*g6rZMEVx4;*e(!Yk>D=D-NFV*f(Iu!fyLb|xVr`k?g17H z-@e~l_pe*Gs%vJtYkE%2>7G8ne$IT-)>6jDeTj>Lf`YHAqVNs{1r>z6{)LT&Jigml z)kmICJ>DtHp;V6393U$gHnN(sC@9qlfJZ1M3JRl%s)DSZkLgL4=4W#Kr)qXVD$@hhT=jMuNK{L6lJG&*M`_>Gt9dgYj{U#;t&Xg6xDi9h>|dt_f_ z#y}~f{;$H(hkjYheT!Lh82zG#SJgKUQ_Sm7ug-Fiz;`E9#K|*uFK5c1IN$RE#l7=f_KphFsBqw*m*uKPR%Ox82i(Nzhs}`(1_n<3G~RcD79>s7 zaD!6sgY=WYct_5GC=Kv^j=Z?-?d_=+ucMt;`*sJXj?jbcLj!JNYpn{(BDpS-7Qbuz zIxC!P3qLycZEJfOc-Zc=*pnO?kgKRnrmh2l_O_Z@j_xJrZe0aK9#_^xUB#ia37VG+ zliR~rtyb6HJ^P}acbXHfV*PRh z%-bjw#Xj8CHeW%ycRa?`jDAPw&^yB-Ds1wAun`JwPLRPSxXS?8^{t~!hlS;bb~HVP zL&D<^);UCz)W+ZPw;TjOVfglOlFqPw7H_xe zz)z*gD2Y0blPWwseClAvRndOy0{@cYVzTvbbingT8fX>7Jcof?vmoj^&`fNbsmbta|@FL|$26%Oi} zcotG}xT&-KIG3gQh+q(b)qX4V$B)*0qQ;a>=BO0%y;DJQ-X1X0FA&yaf2OL!H#e@AQw9O!%)V`gX|yB1 zkXege0RU6)EY4wejYsjwkFg~ma*(|!?FW!pJAdzfXto?J&e`zYIzg4Zoc*^X$A+-z zh|j3{v?OR0wO2_52=l0j7rSia@XCO4iC#V0zm)b|N1L*T>uYo_Kwu$$xF`Q$JYBLf z20XH#QrjB9h02AVAY8_*4S{e1MquVTFRH!_hQQ7Fv1VoAD7#A);SJx}165-91q;Ey z2l()GX@;|f1O&D`Ek9%I0fF@=Tg*Kv+@OJw7BHB;?jNKqQt@Zww{PES3^d`cDWxLR zL3fJthp1i&?oQUP$w9*hx}&%s{`i&=89Us-KQcZEKj2Rlu-o8^I{zTZNK07gnqov` zihK3jH^9?SO5aVqBY-MW)E-*L+)_H|sk&~ps-5rj_P9?eFD2;Pb#(fRHmF(HZ}zI? zN_qqbcV17zgo)W0|V@u$#-JJpy9bd z6-ynj4gHL#vF~mI$*5F@U(_q&bE9=wKfBcrqz0&{P%$4e9Rz+ZW`Lqai|T#P>4WoW zNxm;YRwH1XPR*KprMCgfBgUySidQMO(zgBWIyNJfy)M8PV zihj0#h`}D}Qh{BMgRTCOjoU5%w-a{A$sbVr1^^TAm!qAzl)7KE1Q`hbPT$LheN3rj zN>b%7WyzZDDf{7tDcRNx|0xO6e?si9O9i8LXM;f624*)OppY~0H&m~V?3(U&XmuIe zV$08X^Bx$kntGB3{Ie*p6S}kR>j$?c%e!8}k(aunaMJ1Om#1R&-xMOu8XiX<(>Lx20<=F6rEMrB7w@aMmIcde3DPO*{v;1y{GK*pyU13Zv> zB`MO*VC72!0IL4P5AE2VFhz2Z8cP5J%2Dir#-T_reu*DzUQeF!00_$+9OVyy zLxU8L_X@F^@3`n#pcAhXRN#$|*YnHw=*S5c%N|{Cp2Zm3?w*{U2&FVC@v|r1)sF96#>Y{$teV#I zQ4w?hqfvL1Y`8-_Gj#kt{nO3F_%IWr8Vw1n_Vu_oH}T%YQ)~|uUvdBBB)Q)2{NKfP z&48!4mkAO6@M*O{m}2t%tRn7Q4P{PROl9Cz9MYAvR&FIsdQ$T@k_KVIYIU?;Sr%2! ztGQ}x6MVnr<}97a74BaCx`e*IG7F8phnuc8aNqCDyxk@46~lJI?uy1N@v}8>=xg?P zYnDNHRG-HHDStt_P&xFnSBSFw01h9`E^jLs0|FVF7b+l33CBZql`@Ll6_x!k>z^hK zqvJ|}`BL11dRR_!0j@dS7dm0=Cjm?b=4j+hYCnL^IU7nYf-8qIE7be|=!ONwfM$xjDPpH-@O$90Jn;ilww_yhr<+KC>-XL z(G~{2IqnD^%)F5e5q&y%yWS5lUI`95%a&y9x^=;(!3DZI2@hI*y84s7?4yFf{L-71 z2bEE-5U0^NeLP?LI5nKiwQH6}1lJ*9>XxHK>vsgN3BXdi3l9z!OZ~t0t5L_yw?F?A zUB3PE{gT(Y)B*TTW-2_7x#%~(+6a#nv%+b4bv3`Q)x_+q-b28YB=hJlgWJzHfNFt( zTUW+h1}N|s!Iq^c({#GrMkj;ql?3B9TK^5%Q~nQb?hB`8!uTn!5V;ET_d2YNXUst) zgq_J?e(p`GhD-u{%k9w1X;!C z2p4WJ5iRTTb*jBsn$3F${0Z15;-f}HS=MvGexoklMfC@_=Z?V3m=Kic2pRs^8OEjW zNmeQJ{`)=Vh4tmVuUS#?`IcIFe&W)_-^>wo7r5;5l5*`z+!g=3^sEI~=J2iaKT zP8iK|on97`$r9V7eTo-3scrw7AAdVMIE^~CG4Ni>EU?@1XjMiCFp&96mg&R~xy~*+rOm)Bmxi0qVXxrJ9j@nbd}!9B@;P9ESh7RA z8KZQQ_{?3+W#%c>!0;H^SQ2CSg$=RTlc$Jv#4K6XiFFO~rlMbt#@RD89&BYbZcG?} z_~2Rr)?xHnmhF3XwfXDvVJ#hjDt`Sm`&_aLfr00&;l6r@ngPD7=y*brAe&u&PE#Gl z@Ux6tx{-cent4Q@f~PT9Xj_iix$~djV+M`rl0iSEg3pEnJ) z8E(zhG5D&u1y*bJRr_30`P$ro5rwN&GXIqL_;|+i*S8FYHzAXlfZh@u2I=!>lTJ6L z_4ND8RI}k{`?unq`c);x(S8s>7I9)?d~Z$Q;+y;PUfZLqiID;`Xtz6do;h?TG5Fv1 ztEsQq*(FsRm0ELo-viSQELUt^j`U{(CywkdKJCqeSB0K$yRqj{-G-vA)>3}v+q$T( zd4`+g$VMoQXMU2t`>T7m5b*VH&rnNS^MrT2_KW%1v)0yvVB^e>y}EA|bAoTuCGW|B zplBjogH{RxoRFsKzIz$jM_J?ohG@9MwKIim(N_0zkOyKTu66c4j z9Lwr3dT88QA&g=>IAQex59i*OGO1211Q&*PR5D80gdj1S$ji=TMQ$J^63 zchyIyjZuwbtY%h_K%1?y5U5r_Tg@8+OfkgUF!9k1J=(g8s$lyd#(r2AEhY+c2@r39 zuO>pFOZW5_VVd8xD3WFke;Qe*el6@0wAM5Srd$$uhM5-*KDKNJk@NlhU7~D7zHY?Y z<+jom%87hCY)lv~0?Od%x+=eK@x{1S>7QYOo)(;drs=I4gKZ*^Zk-XHI1m|Q0w-c? zll?*>l8&mjo&l+qL#a(0c@+evJ3!Z!(xh4a6}F3oZBS-r+8HF}_qTd*=Zo}MC&c1Y z_)a1A(L=*y>p^Wa1!SxE#Q)Ll4G+=SznFDR=wgh=PEg*ZeHkYh?x+L=X~&Xy-=A#M zSf6VC*<$dqc)H(T7Tx&8Bo%eG2D5P{0mEsgnZXGa@2S_?e0Av#F4~E>4q0S|U|wFD`o%clj|}emJuven))aO0 zJUPBUJPZbQY$EH z8^yasXG~Dx-+3w+xbm$6m()5TyK-h`&5Q|uL(K)9Aq^Ih6$jz;quM{YXz48|)ru4y zZ_BF&{=v0%{AQJumCwFA(GA6O!>J6U}%X#G3172~9E5J9u_3{}~06~pu*z+dlRcAK!f5IZ? zKV9u)$4a%Zgi><#86AWXBqwoPd}kC`DTyiWb{J~GN@Y2ENoKt_()#DL6e-_{D1(ub zf*bTgsNN0ovGHPAKEj1^EGA`DX^*mDf;EjIkK^itKe`JOPKMKuCQ{ohvA3tCNgKUk zyCI)NPT#}n#hocXMkW%(%$sl~N}|~o=nAdawCZu*K(2+F7tx)VIQ~~Z5hn$LqSV%w z3ZNMi0k>!!Q=*8t{FJmpL{;#ms_&1tr$l^k5pmhtII@puKS}q7q{tuOXlTD*#tcXA zS`7W3TnD7K2TTpxTjP-U-SC*MTESgTE9SfdFLrr2%ClJTTkup|?v%jl^n=he?x-goE$Sa1_ zrydki3|+!32NMRf+U)yE!xg^60|0^*)qF4!hUnx|B^Eorzu_uRNGy zA>x}=yGf9rN0Pw?pNqgvEoYJ*>x`iEPg~dS%IkrKbmSqJTv!DmD{*DQXP;`6$&jkm ztfcKFHgLMP!njfEUq782CuAfKEez9!XWD%SHTai9>qlkz{JPEDI2DVSHggRwV-c75 z__iy8cC%PauBa^@6Y|2hWNwwKGaQ|Ou*kPAf|2Az745-K4xW$Uggaj{QgY=9o%$w; zrRhikc#IAiFPlI>*v4@u)$NpcZ4rJ)&fH6Y!L-1Cp8&%wC!f*8H3}n?YTzFN1Sx@k zl@+oh0nARmnh1s>?(qo{^|-iH>E|mr1iUE+frBs|?Cs0EeB}i@UZI&^(9^rW6m&Xq zx3vjPFG-VGMn+8SL_0yf?lAgm*fiI2$iyfc`{cNWT8L8wZ!+VM*0jKXU9g=LcD?R@ zrs#juRi7fSh`}X0n3IfUXMcOP!J8nNKcy6b6@e`$PFB@SFCq9Ewc(hw;JEUF}KdXw00f8UbR}2fE4ZZZaqWSxP}(eazQ}8 zPCZt)peiW!Kf^hD^Xum3_jD{jLzIr!ZUNz&&w={l$M}vSXS}W6Lq<*X5#bAJQ7;q| zM09|=T#VK5wn!1Z*&emYvD%1$>&4wcYNut&7V9|;V|CcM=xh`>s6NCtF+vE%tz%V} zvy+z?v}s)g-wMO@R2(^)sSkvaO~z&p}&=MY)2r75RM`7!CsWS0s&cF)lk^mP`j1NP;cozcYC zje7OT9o3Dh%?kmq;I|I(>Skh6OqKl33m5gXCnwfh*3M${B$5!yZPvkfRPFGo#&RGa zM6ysC^ueTXf$VprGgs^{`Yk+PyAZ*43&E$faM>dJ=B!phfQhf4FA}- zzw)F0>#A8`6w~m&DGCUjtgk_VbQB5I#IY{uV9FWi93+J-t3aWeT3QW19vK?pB?7o! zv9GwgncMl_Ei|3m>GM+6WN;SwREofU1OjJWhp0m9 zzF3GMmM676kJ;U&MwNw`^@3`fR#Ui?Y7oy(dH{Y7HJA?A5~(ED%lh9ifGq0~ngk9} za*MdY4=M~jE{`WJm%M)T(G=dTNENK0OU;jAR$J6W@vxonCLZ3bDYzpIn!FeG*3K&C z%w;N&H^c-@O1~ClN?1j6Aig`R3b;;wgwg2_B^puGC=6h&TqWJNRJqio-}KEZE1qX) z%54ev^IK{xapYHEI;aEz3rY8U5+%4ir>iYh)GJ1qyWyA+Ncwqh#+S(FVW30z@K}?1 z$iRGAz2$$TxlvPFZu5_lbSujkMss;XR>?XMxq0(F0{?3`uwv^@nVN<~@rzJ%O4_}B zfJfguI6HgYw$L^P^SPuac6+^8AZ85(#U+&cOOE0}->&re9A1tXLjonMqhrdHRVeKy zOj`wB66K-T*j&lEcIAd>tM>+`$B<@|Y$GN8u21+DKHC z=R=7jF#y`TG(Rps=@TOy7pE=c3S%ZX@D-z`k(7%?C`%lqfj%WC`&Xnl0&UJUQ4WC% z0On@Q~bUd$!Bm=vd7v z1XXbM=p4;OGrCCRl1N)8Z9E~KXSKOUGBYw_{Q^4E19>@FjD%qQ{dS4&4Nmb4Q%c_) zi4WSJ2l_e#2h7#sh>c;9LuYvC{>}d<`%l3yES__aaA7v!LQn(-SuO!8HNPtD8`|0f z8Ifi!%IHvlu0h&?5_91%me@{KxIv!F4cdJ9$6Fx3nXPb0Vq2kXOx`e>)gnwW05oE*GV`$>8f4>XleCIIURtfZRZg{f-1!#|?#xbFezSo$qZm?`F=*%uG@iqCZ(^ zR!X)*JMhikKa4$HZJt4dVV}IZpem`DbN9ZqS+boHZTSuVV%2f#Xz2L9MPrDL}zT&81*P|X2LrlUK zbfGd0Q#%ixo&F!!k9kupr0n6TjNU^71GVet2#Eo(bn!XYJ8KIS*E!2R+OhW1b?yp` zLu{W%n&XI^iJDVqrfM|1YBbiNhX%)WkV9w9Mwi<1icnp+kCfGxRB`-j+sRoX+C0mjeVyMW!j#Bdh2#hj3!uPh z+n!-Voo|~i=L}C9hY44EdV)fZ=6`-u7BUwu8)3%SivP2&w@dqx103RKi~X6mNh!>F zrui!B-GK1`+mGcYRXhN%gOT6a=%|7`l|i~@t4s>^H{vF9%&A5^V#7@TsX}}lQufAb zt^L`&-=?sGC;Yckw*d=Nw4RuhaYVT4tibTTu8P*%Q@W|&SL3k~8UDKJx6r~n z#CC#p9KmBiX1vm?QQWdVTrEGm+T~b%0&M**jZGwm9(d)xI6ueY@ENyB-z0`SFaZ>G zN&b7L2aTr!6k?6xw3g@y9m^BsDiOXano<&5)E}|0>7fxgFb5#HYia5lGoqt>D<0Td zx)tX3y)AiYXy`#b1w=eIu$W$hOse7Duf!r;Ox3BZ-YY8&U81w>!d}q*dK69X4_UZ9 z9eb1}bE>KA_PWp<5RRd!M&$CUD}*LYif*-f=#-_4gih%wa z{xSN~9GAbb_b+kS3}RBb!IdJ4{qV^9zD1}~cZSiZIkT1G}jDqAKA2(NH`DjI4M$~Kn_&Wnb!Q;H)K`jdv8Br8f& z?~RO_83=jI0kG^0V=#|Ah0IC{#s?@rUN7JORTN|LpI@|(Cx~$0rj#T9J3&!Z)KaLF HGY|WJ9yk$X literal 14390 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 literal 0 HcmV?d00001 diff --git a/tests/TestFiles/Skia/Media/GlyphRun/Should_Render_GlyphRun_Aliased.expected.png b/tests/TestFiles/Skia/Media/GlyphRun/Should_Render_GlyphRun_Aliased.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..0075bfcd3af3613bdf8358ee8bfd682b24180af1 GIT binary patch literal 1066 zcmV+_1l9YAP)VCzX`>B{wbsfOFvh@AM!mq#U^i>K7HkUOqFe81+J zqWAdd^RoWn>^NCeLVxxBUmyRzl{xrI)6ZM<7PZ&N2|N3GkD`MAQ)s;#l~GiGGTmvv zm3iW$-Kwi&iO`$n5B|y99W&uznRaa>23%87yQNq?(9_cxLid~eDrJn;|I8>as#Uu3;w_N#}_*63Vy^hCP!+hgcG1c)`^dM zoB$2jz zd2D;WSv~O;1FcxoDuj6uTb=w||8`Ur1Rr-wUrkm9UwNV^*S5mRAHyEP#6L^QknTY6 zaimqj&oD_c)Ceb@@8k2Kw0v6c6{NdQz*YxGS`mDeNqf>~cQDCo;-|U{;){|u$k^)O zNVCCDb(a5;vF0q&^wwkIdv0^sQteUhW6*4MYEXKJYzi~MPjP17$Xt7rQd58T#E+OT zr%g50kg3*XW^8q`^ZtwDWq#*(H2AUy)FJyZMAbhMez{)nocNJjj>_AeksvAb!#n(s zug7zB@)!-yj?j-jv3looKfCG~3BKHAYr>9C6;|rcliA0$&zuC)J>E6(6)vqjM}Pl1 ztm?7*I`OVfU0%aSVaRps4SvN5TJe~?!y8r+H07*qoM6N<$f|{NVK>z>% literal 0 HcmV?d00001 diff --git a/tests/TestFiles/Skia/Shapes/Ellipse/Should_Render_Circle_Aliased.expected.png b/tests/TestFiles/Skia/Shapes/Ellipse/Should_Render_Circle_Aliased.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..c8b579f821a0efdb3d366153049a1e11ce15df99 GIT binary patch literal 1655 zcmY*a2~?BE7RH~n1QiGZRw&D_DFh7xgF;hkf2HMr4G!VAk&wnijc@~{Sxh_cr5@_syh@0@qfnYrKGbMKvRX70K3 z-N7)L*+#pKMn*mL=Fd<8shDC;F1v;Z(6tz@w=k+QMF9Zk8wdn3 zX!JU~*P?McYE#xLd}OFhh-=64N|FQ8m+oQ(w@?|BMv$AcTtz)CfXtQK6pk&|j_iJG z`ma(vz3mZ9^VPmF#Jfq0D{Tz==S8ZUg1vikGZf8yu6q-E@iG)*-ypxs<$O`da6=`QPnDdtPL1^X5f+D4#Rs z?w>hInR4`=)l9Pha)y}~rI1)*+dRJ8DygU^eqi%(5)3Jb%@43aXBDr%lKerOY7Zq- z0%8yDXJ@~Zg_pN+;A3Gz|8h?Zt3T~}AY=0UP1^(&di>J?l`8-r#qP1z zxIaSa`$CA6zovcTTXHLo-ZI%??rn?J*##E82X<=M*N=dX)33uiX!qg(OA~%5f3F4A zewOcCUdw^cV?C)47hU4)^M~1Gdp9Yxv4b1s)UNcv{!v&3MFiFh&r^9I&os@`h8U5;A2~(M}Mn97?ErcEc`_NWn(C&*G*R6j&qQL={~%1 z{_zrC&x`o3jF6+}pr;J*)L38bvjtbtYZR+L(Yw-^=&x+}RU`S@BC%xs#fA>}9BRmt z)o+1mcNWf!3y_l>Bw!8|#wYteDu~QF2N#abeJ`{|Xhc{jtbe*B7t?mSpbJl#Dy)A$ zMX06iG{eDxb)pD+(c^7!cH8CqO;!qe>7$siGKQVKljvcZG4ByGUOww zOhFIsWn=iS!fHvuy8H`s^BzwYG}y_6?B$ip1A1JfKGWj5HJ`VK%LrZ_eQTUABSckv zJLRZ8yRG&zD9ShA{uap4h*N5G#Zy|`uy_?aabfe!htqcADsX5YAeeAvT`b?rV^BRC z`BSdWEKmd|c?)~!!4KKI&#{mD=hez_k42O^r`xNUuXR1ngMuyl;D9pWMG7~ng&DO{ zHIP|Qgyagn(8Vl4tT^QjwY##8dE5LK6Grg9Ph3{=>Id#D9YV>f7R6DKc**i%&P7i{ zc-!X47_AOaOEN8wM6(Wv&5~|R`8Vk%F5Fj-r~e5BtCv@@Imbzg>a`9k_~8d@pQbEy zihx`u_OITU{Ek$x=Jwr!YiU)HYZ@BCN%>5fvP=+1ik2Kh;hg8aj%&3;GE{RezR?h^n2 literal 0 HcmV?d00001 diff --git a/tests/TestFiles/Skia/Shapes/Ellipse/Should_Render_Circle_Antialiased.expected.png b/tests/TestFiles/Skia/Shapes/Ellipse/Should_Render_Circle_Antialiased.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..30df84a1944c8043744cdb938a30e4de8fd49eb3 GIT binary patch literal 7173 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 literal 0 HcmV?d00001 From 6017011b2cb3ed2b3a25ea7f8b3a09f1617325b8 Mon Sep 17 00:00:00 2001 From: Benedikt Stebner Date: Mon, 24 Apr 2023 17:27:51 +0200 Subject: [PATCH 2/2] Use try finally block for ImmediateRenderer RenderOptions restore --- .../Rendering/ImmediateRenderer.cs | 134 +++++++++--------- 1 file changed, 69 insertions(+), 65 deletions(-) diff --git a/src/Avalonia.Base/Rendering/ImmediateRenderer.cs b/src/Avalonia.Base/Rendering/ImmediateRenderer.cs index 4e264f6951..3462b1008a 100644 --- a/src/Avalonia.Base/Rendering/ImmediateRenderer.cs +++ b/src/Avalonia.Base/Rendering/ImmediateRenderer.cs @@ -44,95 +44,99 @@ namespace Avalonia.Rendering public static void Render(DrawingContext context, Visual visual, Rect clipRect) { - var opacity = visual.Opacity; - var clipToBounds = visual.ClipToBounds; - var bounds = new Rect(visual.Bounds.Size); + var currentRenderOptions = default(RenderOptions); + var platformContext = context as PlatformDrawingContext; - if (visual.IsVisible && opacity > 0) + try { - var m = Matrix.CreateTranslation(visual.Bounds.Position); - - var renderTransform = Matrix.Identity; - - // this should be calculated BEFORE renderTransform - if (visual.HasMirrorTransform) + if (platformContext != null) { - var mirrorMatrix = new Matrix(-1.0, 0.0, 0.0, 1.0, visual.Bounds.Width, 0); - renderTransform *= mirrorMatrix; - } + currentRenderOptions = platformContext.RenderOptions; - if (visual.RenderTransform != null) - { - var origin = visual.RenderTransformOrigin.ToPixels(new Size(visual.Bounds.Width, visual.Bounds.Height)); - var offset = Matrix.CreateTranslation(origin); - var finalTransform = (-offset) * visual.RenderTransform.Value * (offset); - renderTransform *= finalTransform; + platformContext.RenderOptions = visual.RenderOptions.MergeWith(platformContext.RenderOptions); } - m = renderTransform * m; + var opacity = visual.Opacity; + var clipToBounds = visual.ClipToBounds; + var bounds = new Rect(visual.Bounds.Size); - if (clipToBounds) + if (visual.IsVisible && opacity > 0) { + var m = Matrix.CreateTranslation(visual.Bounds.Position); + + var renderTransform = Matrix.Identity; + + // this should be calculated BEFORE renderTransform + if (visual.HasMirrorTransform) + { + var mirrorMatrix = new Matrix(-1.0, 0.0, 0.0, 1.0, visual.Bounds.Width, 0); + renderTransform *= mirrorMatrix; + } + if (visual.RenderTransform != null) { - clipRect = new Rect(visual.Bounds.Size); + var origin = visual.RenderTransformOrigin.ToPixels(new Size(visual.Bounds.Width, visual.Bounds.Height)); + var offset = Matrix.CreateTranslation(origin); + var finalTransform = (-offset) * visual.RenderTransform.Value * (offset); + renderTransform *= finalTransform; } - else + + m = renderTransform * m; + + if (clipToBounds) { - clipRect = clipRect.Intersect(new Rect(visual.Bounds.Size)); + if (visual.RenderTransform != null) + { + clipRect = new Rect(visual.Bounds.Size); + } + else + { + clipRect = clipRect.Intersect(new Rect(visual.Bounds.Size)); + } } - } - using (context.PushTransform(m)) - using (context.PushOpacity(opacity, bounds)) - using (clipToBounds + using (context.PushTransform(m)) + using (context.PushOpacity(opacity, bounds)) + using (clipToBounds #pragma warning disable CS0618 // Type or member is obsolete - ? visual is IVisualWithRoundRectClip roundClipVisual - ? context.PushClip(new RoundedRect(bounds, roundClipVisual.ClipToBoundsRadius)) - : context.PushClip(bounds) - : default) + ? visual is IVisualWithRoundRectClip roundClipVisual + ? context.PushClip(new RoundedRect(bounds, roundClipVisual.ClipToBoundsRadius)) + : context.PushClip(bounds) + : default) #pragma warning restore CS0618 // Type or member is obsolete - using (visual.Clip != null ? context.PushGeometryClip(visual.Clip) : default) - using (visual.OpacityMask != null ? context.PushOpacityMask(visual.OpacityMask, bounds) : default) - using (context.PushTransform(Matrix.Identity)) - { - var currentRenderOptions = default(RenderOptions); - - var platformContext = context as PlatformDrawingContext; - - if(platformContext != null) + using (visual.Clip != null ? context.PushGeometryClip(visual.Clip) : default) + using (visual.OpacityMask != null ? context.PushOpacityMask(visual.OpacityMask, bounds) : default) + using (context.PushTransform(Matrix.Identity)) { - currentRenderOptions = platformContext.RenderOptions; + visual.Render(context); - platformContext.RenderOptions = visual.RenderOptions.MergeWith(platformContext.RenderOptions); - } - - visual.Render(context); - - var childrenEnumerable = visual.HasNonUniformZIndexChildren - ? visual.VisualChildren.OrderBy(x => x, ZIndexComparer.Instance) - : (IEnumerable)visual.VisualChildren; - - foreach (var child in childrenEnumerable) - { - var childBounds = GetTransformedBounds(child); + var childrenEnumerable = visual.HasNonUniformZIndexChildren + ? visual.VisualChildren.OrderBy(x => x, ZIndexComparer.Instance) + : (IEnumerable)visual.VisualChildren; - if (!child.ClipToBounds || clipRect.Intersects(childBounds)) + foreach (var child in childrenEnumerable) { - var childClipRect = child.RenderTransform == null - ? clipRect.Translate(-childBounds.Position) - : clipRect; - Render(context, child, childClipRect); - } - } - - if(platformContext != null) - { - platformContext.RenderOptions = currentRenderOptions; + var childBounds = GetTransformedBounds(child); + + if (!child.ClipToBounds || clipRect.Intersects(childBounds)) + { + var childClipRect = child.RenderTransform == null + ? clipRect.Translate(-childBounds.Position) + : clipRect; + Render(context, child, childClipRect); + } + } } } } + finally + { + if (platformContext != null) + { + platformContext.RenderOptions = currentRenderOptions; + } + } } } }