From 53638845a64510c2afb505432b5e97e2029de6f1 Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Sat, 24 Nov 2018 20:54:57 +0000 Subject: [PATCH] Add more visualbrush tests. --- .../Media/VisualBrushTests.cs | 153 ++++++++++++++++++ .../VisualBrush_Grip_144_Dpi.expected.png | Bin 0 -> 177 bytes .../VisualBrush_Grip_192_Dpi.expected.png | Bin 0 -> 161 bytes .../VisualBrush_Grip_96_Dpi.expected.png | Bin 0 -> 152 bytes .../VisualBrush_Grip_144_Dpi.expected.png | Bin 0 -> 177 bytes .../VisualBrush_Grip_192_Dpi.expected.png | Bin 0 -> 161 bytes .../VisualBrush_Grip_96_Dpi.expected.png | Bin 0 -> 152 bytes 7 files changed, 153 insertions(+) create mode 100644 tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_Grip_144_Dpi.expected.png create mode 100644 tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_Grip_192_Dpi.expected.png create mode 100644 tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_Grip_96_Dpi.expected.png create mode 100644 tests/TestFiles/Skia/Media/VisualBrush/VisualBrush_Grip_144_Dpi.expected.png create mode 100644 tests/TestFiles/Skia/Media/VisualBrush/VisualBrush_Grip_192_Dpi.expected.png create mode 100644 tests/TestFiles/Skia/Media/VisualBrush/VisualBrush_Grip_96_Dpi.expected.png diff --git a/tests/Avalonia.RenderTests/Media/VisualBrushTests.cs b/tests/Avalonia.RenderTests/Media/VisualBrushTests.cs index aee83d5e0b..7c53f4516a 100644 --- a/tests/Avalonia.RenderTests/Media/VisualBrushTests.cs +++ b/tests/Avalonia.RenderTests/Media/VisualBrushTests.cs @@ -450,6 +450,159 @@ namespace Avalonia.Direct2D1.RenderTests.Media CompareImages(); } + [Fact] + public async Task VisualBrush_Grip_96_Dpi() + { + var target = new Border + { + Width = 100, + Height = 10, + Background = new VisualBrush + { + SourceRect = new RelativeRect(0, 0, 4, 5, RelativeUnit.Absolute), + DestinationRect = new RelativeRect(0, 0, 4, 5, RelativeUnit.Absolute), + TileMode = TileMode.Tile, + Stretch = Stretch.UniformToFill, + Visual = new Canvas + { + Width = 4, + Height = 5, + Background = Brushes.WhiteSmoke, + Children = + { + new Rectangle + { + Width = 1, + Height = 1, + Fill = Brushes.Red, + [Canvas.LeftProperty] = 2, + }, + new Rectangle + { + Width = 1, + Height = 1, + Fill = Brushes.Red, + [Canvas.TopProperty] = 2, + }, + new Rectangle + { + Width = 1, + Height = 1, + Fill = Brushes.Red, + [Canvas.LeftProperty] = 2, + [Canvas.TopProperty] = 4, + } + } + } + } + }; + + await RenderToFile(target); + CompareImages(); + } + + [Fact] + public async Task VisualBrush_Grip_144_Dpi() + { + var target = new Border + { + Width = 100, + Height = 7.5, + Background = new VisualBrush + { + SourceRect = new RelativeRect(0, 0, 4, 5, RelativeUnit.Absolute), + DestinationRect = new RelativeRect(0, 0, 4, 5, RelativeUnit.Absolute), + TileMode = TileMode.Tile, + Stretch = Stretch.UniformToFill, + Visual = new Canvas + { + Width = 4, + Height = 5, + Background = Brushes.WhiteSmoke, + Children = + { + new Rectangle + { + Width = 1, + Height = 1, + Fill = Brushes.Red, + [Canvas.LeftProperty] = 2, + }, + new Rectangle + { + Width = 1, + Height = 1, + Fill = Brushes.Red, + [Canvas.TopProperty] = 2, + }, + new Rectangle + { + Width = 1, + Height = 1, + Fill = Brushes.Red, + [Canvas.LeftProperty] = 2, + [Canvas.TopProperty] = 4, + } + } + } + } + }; + + await RenderToFile(target, dpi: 144); + CompareImages(); + } + + [Fact] + public async Task VisualBrush_Grip_192_Dpi() + { + var target = new Border + { + Width = 100, + Height = 10, + Background = new VisualBrush + { + SourceRect = new RelativeRect(0, 0, 4, 5, RelativeUnit.Absolute), + DestinationRect = new RelativeRect(0, 0, 4, 5, RelativeUnit.Absolute), + TileMode = TileMode.Tile, + Stretch = Stretch.UniformToFill, + Visual = new Canvas + { + Width = 4, + Height = 5, + Background = Brushes.WhiteSmoke, + Children = + { + new Rectangle + { + Width = 1, + Height = 1, + Fill = Brushes.Red, + [Canvas.LeftProperty] = 2, + }, + new Rectangle + { + Width = 1, + Height = 1, + Fill = Brushes.Red, + [Canvas.TopProperty] = 2, + }, + new Rectangle + { + Width = 1, + Height = 1, + Fill = Brushes.Red, + [Canvas.LeftProperty] = 2, + [Canvas.TopProperty] = 4, + } + } + } + } + }; + + await RenderToFile(target, dpi: 192); + CompareImages(); + } + [Fact] public async Task VisualBrush_Checkerboard_96_Dpi() { 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 new file mode 100644 index 0000000000000000000000000000000000000000..d530c7251963cfb32eaab6c1021bf90f819793df GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^DL~B5!3HG%HN98>q*#ibJVQ8upoSx*1IW+tba4#v z=zM$Ckgq|3r}bg_jVA(gSop5#=@dQIQ;Sd+z98%QV*ZAjGr5XNzie2)s9d^s=J>AU zXFbcLlucOn7|TDN-SNVG?foKmO-Y7zQ+D;=t)9_ee%z&U+s4?Nxv9Qkb)cOLp00i_>zopr09)=snE(I) literal 0 HcmV?d00001 diff --git a/tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_Grip_192_Dpi.expected.png b/tests/TestFiles/Direct2D1/Media/VisualBrush/VisualBrush_Grip_192_Dpi.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..a209dc94cc9b721670d928d6f842bf71b209a74e GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^DL~A{!3HFqWPaBHDVAa<&kznEsNqQI0P-U|T^vI^ zI^SM3mLjB4k&yLu-XeAu&N!n0T7J7B+lDR8`m$J?Oc$JxvKPlagx8~YT y0pms8FV7yR=Wi6kjKY<(f0&D>XFZ$0zd;;mG=rzBpUXO@geCyONHeAY literal 0 HcmV?d00001 diff --git a/tests/TestFiles/Skia/Media/VisualBrush/VisualBrush_Grip_144_Dpi.expected.png b/tests/TestFiles/Skia/Media/VisualBrush/VisualBrush_Grip_144_Dpi.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..d530c7251963cfb32eaab6c1021bf90f819793df GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^DL~B5!3HG%HN98>q*#ibJVQ8upoSx*1IW+tba4#v z=zM$Ckgq|3r}bg_jVA(gSop5#=@dQIQ;Sd+z98%QV*ZAjGr5XNzie2)s9d^s=J>AU zXFbcLlucOn7|TDN-SNVG?foKmO-Y7zQ+D;=t)9_ee%z&U+s4?Nxv9Qkb)cOLp00i_>zopr09)=snE(I) literal 0 HcmV?d00001 diff --git a/tests/TestFiles/Skia/Media/VisualBrush/VisualBrush_Grip_192_Dpi.expected.png b/tests/TestFiles/Skia/Media/VisualBrush/VisualBrush_Grip_192_Dpi.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..a209dc94cc9b721670d928d6f842bf71b209a74e GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^DL~A{!3HFqWPaBHDVAa<&kznEsNqQI0P-U|T^vI^ zI^SM3mLjB4k&yLu-XeAu&N!n0T7J7B+lDR8`m$J?Oc$JxvKPlagx8~YT y0pms8FV7yR=Wi6kjKY<(f0&D>XFZ$0zd;;mG=rzBpUXO@geCyONHeAY literal 0 HcmV?d00001