From f2378b035fc906ae17f60fcbe136b25b149b24c8 Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Thu, 17 Sep 2015 20:25:05 +0200 Subject: [PATCH] Initial implementation of ImageBrush on D2D. --- .../Media/ImageBrushTests.cs | 395 ++++++++++++++++++ .../ImageBrush_Fill_NoTile.expected.png | Bin 0 -> 118742 bytes ..._NoStretch_FlipXY_TopLeftDest.expected.png | Bin 0 -> 3242 bytes ...h_NoStretch_FlipX_TopLeftDest.expected.png | Bin 0 -> 3612 bytes ...h_NoStretch_FlipY_TopLeftDest.expected.png | Bin 0 -> 2767 bytes ..._NoTile_Alignment_BottomRight.expected.png | Bin 0 -> 3085 bytes ...retch_NoTile_Alignment_Center.expected.png | Bin 0 -> 4712 bytes ...etch_NoTile_Alignment_TopLeft.expected.png | Bin 0 -> 3611 bytes ...NoTile_BottomRightQuarterDest.expected.png | Bin 0 -> 1421 bytes ...Tile_BottomRightQuarterSource.expected.png | Bin 0 -> 3528 bytes ...Source_BottomRightQuarterDest.expected.png | Bin 0 -> 930 bytes ...arterSource_CenterQuarterDest.expected.png | Bin 0 -> 1795 bytes ...ageBrush_UniformToFill_NoTile.expected.png | Bin 0 -> 14445 bytes .../ImageBrush_Uniform_NoTile.expected.png | Bin 0 -> 11325 bytes .../Media/ImageBrush/github_icon.png | Bin 0 -> 17661 bytes src/Perspex.SceneGraph/Media/ImageBush.cs | 44 ++ .../Perspex.SceneGraph.csproj | 3 +- .../Perspex.Direct2D1/Media/DrawingContext.cs | 5 + .../Perspex.Direct2D1/Media/ImageBrushImpl.cs | 93 +++++ .../Perspex.Direct2D1/Media/TileBrushImpl.cs | 135 ++++++ .../Media/VisualBrushImpl.cs | 45 +- .../Perspex.Direct2D1.csproj | 2 + .../Perspex.Direct2D1.RenderTests.csproj | 1 + tests/Perspex.RenderTests/TestBase.cs | Bin 4598 -> 4616 bytes 24 files changed, 680 insertions(+), 43 deletions(-) create mode 100644 Tests/Perspex.RenderTests/Media/ImageBrushTests.cs create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_Fill_NoTile.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_FlipXY_TopLeftDest.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_FlipX_TopLeftDest.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_FlipY_TopLeftDest.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_Alignment_BottomRight.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_Alignment_Center.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_Alignment_TopLeft.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_BottomRightQuarterDest.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_BottomRightQuarterSource.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_BottomRightQuarterSource_BottomRightQuarterDest.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_Tile_BottomRightQuarterSource_CenterQuarterDest.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_UniformToFill_NoTile.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_Uniform_NoTile.expected.png create mode 100644 Tests/TestFiles/Direct2D1/Media/ImageBrush/github_icon.png create mode 100644 src/Perspex.SceneGraph/Media/ImageBush.cs create mode 100644 src/Windows/Perspex.Direct2D1/Media/ImageBrushImpl.cs create mode 100644 src/Windows/Perspex.Direct2D1/Media/TileBrushImpl.cs diff --git a/Tests/Perspex.RenderTests/Media/ImageBrushTests.cs b/Tests/Perspex.RenderTests/Media/ImageBrushTests.cs new file mode 100644 index 0000000000..21a3047529 --- /dev/null +++ b/Tests/Perspex.RenderTests/Media/ImageBrushTests.cs @@ -0,0 +1,395 @@ +// Copyright (c) The Perspex Project. All rights reserved. +// Licensed under the MIT license. See licence.md file in the project root for full license information. + +using Perspex.Controls; +using Perspex.Controls.Shapes; +using Perspex.Layout; +using Perspex.Media; +using Perspex.Media.Imaging; +using Xunit; + +#if PERSPEX_CAIRO +namespace Perspex.Cairo.RenderTests.Media +#else +namespace Perspex.Direct2D1.RenderTests.Media +#endif +{ + public class ImageBrushTests : TestBase + { + public ImageBrushTests() + : base(@"Media\ImageBrush") + { + } + + private string BitmapPath + { + get { return System.IO.Path.Combine(OutputPath, "github_icon.png"); } + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_NoStretch_NoTile_Alignment_TopLeft() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 200, + Height = 200, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.None, + TileMode = TileMode.None, + AlignmentX = AlignmentX.Left, + AlignmentY = AlignmentY.Top, + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_NoStretch_NoTile_Alignment_Center() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 200, + Height = 200, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.None, + TileMode = TileMode.None, + AlignmentX = AlignmentX.Center, + AlignmentY = AlignmentY.Center, + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_NoStretch_NoTile_Alignment_BottomRight() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 200, + Height = 200, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.None, + TileMode = TileMode.None, + AlignmentX = AlignmentX.Right, + AlignmentY = AlignmentY.Bottom, + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_Fill_NoTile() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 920, + Height = 920, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.Fill, + TileMode = TileMode.None, + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_Uniform_NoTile() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 300, + Height = 200, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.Uniform, + TileMode = TileMode.None, + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_UniformToFill_NoTile() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 300, + Height = 200, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.UniformToFill, + TileMode = TileMode.None, + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_NoStretch_NoTile_BottomRightQuarterSource() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 200, + Height = 200, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.None, + TileMode = TileMode.None, + SourceRect = new RelativeRect(250, 250, 250, 250, RelativeUnit.Absolute), + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_NoStretch_NoTile_BottomRightQuarterDest() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 200, + Height = 200, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.None, + TileMode = TileMode.None, + DestinationRect = new RelativeRect(92, 92, 92, 92, RelativeUnit.Absolute), + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_NoStretch_NoTile_BottomRightQuarterSource_BottomRightQuarterDest() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 200, + Height = 200, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.None, + TileMode = TileMode.None, + SourceRect = new RelativeRect(0.5, 0.5, 0.5, 0.5, RelativeUnit.Relative), + DestinationRect = new RelativeRect(0.5, 0.5, 0.5, 0.5, RelativeUnit.Relative), + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_NoStretch_Tile_BottomRightQuarterSource_CenterQuarterDest() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 200, + Height = 200, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.None, + TileMode = TileMode.Tile, + SourceRect = new RelativeRect(0.5, 0.5, 0.5, 0.5, RelativeUnit.Relative), + DestinationRect = new RelativeRect(0.25, 0.25, 0.5, 0.5, RelativeUnit.Relative), + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_NoStretch_FlipX_TopLeftDest() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 200, + Height = 200, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.None, + TileMode = TileMode.FlipX, + DestinationRect = new RelativeRect(0, 0, 0.5, 0.5, RelativeUnit.Relative), + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_NoStretch_FlipY_TopLeftDest() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 200, + Height = 200, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.None, + TileMode = TileMode.FlipY, + DestinationRect = new RelativeRect(0, 0, 0.5, 0.5, RelativeUnit.Relative), + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + +#if PERSPEX_CAIRO + [Fact(Skip = "ImageBrush not yet implemented on Cairo")] +#else + [Fact] +#endif + public void ImageBrush_NoStretch_FlipXY_TopLeftDest() + { + Decorator target = new Decorator + { + Padding = new Thickness(8), + Width = 200, + Height = 200, + Child = new Rectangle + { + Fill = new ImageBrush + { + Stretch = Stretch.None, + TileMode = TileMode.FlipXY, + DestinationRect = new RelativeRect(0, 0, 0.5, 0.5, RelativeUnit.Relative), + Source = new Bitmap(BitmapPath), + } + } + }; + + RenderToFile(target); + CompareImages(); + } + } +} diff --git a/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_Fill_NoTile.expected.png b/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_Fill_NoTile.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..73d147bf77c6b43937da7483431ba8d13a012e61 GIT binary patch literal 118742 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%0AYg# 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≪Tsb$e!c={#?1p9oD*E7W_tg8Hkgl z&%NKA*!!@#KCj~0pEX8=gS}L{Ed#9PBpgDOE|@%fC=!!%l(9Y58L1msE0(KL*yikY zRS&MAq3tz5QM!6XSUdjfs#gL1I^Ab1n)Cbo-sU1Y?#yg(kw@Bjy{56WstSvD7W+bh z+ZT%?OM!h?YeJVw<}@uvr&gj)qT>WQDUPJ+ohgTjG0-BfX?8vluCc?I!Hsqelmv`- z?5y_f#Hmm_w(hd|?{@OMd)+#Afj;rId||9PuvjfHor|`S4qRv?1gs@ zQGsZ;Yu^3`GBQYaiI-d`3U)6y(k(~hjjDs;AEL>yL*}(}TEaJY_pEus=u82Ge`&>Sk1v&I_}w(Gow)85^K*8idI*==1=m~L13 z(T_1J_@A}uPeP=KC%YrxqtYIx6_i>}BAunTeRK+J84$44c%EG;jvv>;;NrV=i!` zd-YeTBLGj1xJn}n{~cP7(4rrUWWpj;-F-xk-JfGaSeyNidt&ttK|&{6rg}Gmgn;g) zub!{e$iguVar5snCpxH|Z0Gu9H8giK?NSz#@U^JgwD7e@PsV%}!+yr=1Wu*dq#o-G zIlG512{CU&Ynm&q$bJA)?1EIFf8Kf+^Kf64m(!@UJ)Hha z&~B%n7Vy;<`Yz-A3IA88;P?xspEM)x7FXmcKC6+{b6A?+y@yj?>G)`rL7}o9>)4*< zhnRe>Hc9*~W&WM}#=XJ@qvRCPoQ7K_z(999$O+fQ*KVziL#=+QgDm>|486Q2RkST=r<6F(wk?4`QH{r%Sx zYaUKIycl*MmuS%rNHBPIs&iP717?yk`%;>DCHOHAxJ+8wI6EY=+~&;MB$Egx#&>Yn z*3}7DhVbgoHQ~NP%ge@H+ZsL_I4wPD`8~r{TU{-!ybIN*gcum)W2d3bG5ZdVu3W9X z`@2D@O4oWY!7pCnG!({nBpdZMx8CNUhZbr2SMtRPRF?mk6a;1K^U<++oE zqbu2Y&qt2zlnEmdEk;-W7S5qm5Z>u0yzM<0Zu%<90SPdzX9I9|mtQ?A(2Nl)0L@e* zPB_U07YctAO?a4gUE1h>5u1N^jQ?-tF=ZzM8CkCf@^+7u%8inslrrQ9I(tMc?{<#X z(`&$W8m$DWhA+LT;wC;kTpHzG?Aki?O`Fxyg_^#-*crKNmod2!JVsOR4PibM-``)b zXga8zs+z>=F3!@vagik|>K&o->0zn52b@iMTPnKQ7_Iq4LNHhR&jXq28RIxL}1fNDPb$CncXf!Y@ z{AIZ!o8gONB;xDB*RCo5!;b?lNoy7vGxUDGyEV0{C+=;pMi%U3hZ|8!LU*ix!2*Zu zBy}gqj~DBIJzbomc=qR9C&F8kMjs}>TFU9tsAW2uy!`z|@zl*DB|0&V2g`V%qUCA$ zqG{Cm*+(BA^k`nDle7J0v~c;%7--UMf?CDL*Gc)cI6yzG-2Tg`@3QtYf1<)YhfI&m zZF$CunF$ZXF8kj7gD+;}#~Bq(<0sFooR*2rtPduwHodDOKJOPvR@H~M`Y@=iQk9AM zX3MoPt26jjArN0@)(7w}XqnNKGT1GjjH~@U}{5*iO~f&k{e<7{B~&|07y* zh0L2P(f~5z8*T5F;m~LGv-~3&J6qa3WKCZfvNrOfk~D$2>#7-W`GN3O@#({fxxizg z8j(fS0-|QFuOzFSTZVqIE2$pi6;{tnm}&DXxdkawkBj|hlu5ZAvd>Y==p6nNtH(b) O7Bgcjqbfs0#NPozu-#Pv literal 0 HcmV?d00001 diff --git a/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_FlipY_TopLeftDest.expected.png b/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_FlipY_TopLeftDest.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..75c53f0c2839cf6c33b6881581ad582611da1db8 GIT binary patch literal 2767 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 literal 0 HcmV?d00001 diff --git a/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_Alignment_BottomRight.expected.png b/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_Alignment_BottomRight.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..a13b34ba2da477314dbfe9a45d877263def58453 GIT binary patch literal 3085 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 Hr;`5*+IO!% literal 0 HcmV?d00001 diff --git a/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_Alignment_Center.expected.png b/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_Alignment_Center.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..14704f751c71c35acf731829cf41604593f76abb GIT binary patch literal 4712 zcmcgw=Q|s2)Fy)1iLHd#D^a6=S&5emkik0gG2!a?VmwF`wv=#N2QE3T(=&( zqWjaOa6ktek9})OI{C{w}wbHonX+)@@Fx|G;IJ-Hai{6lCjx1QWoh|1}uQ zj#-hhmzV$Bn#zQ%^jzNSC`H+uQLLydNGzBYK#f9!*g=AVrm%#B|DOj_;{3coThwf% zsloK_+en7edC8-J%ZuaZm)!ltid&W6!>wxV_Xowr%tsEy%FDV8vt=qcZEANAd%Ja6 zUyp9vxBuYx|2rQ_QrS`7IU=;*kDgV084?=m2xBNw@E*6B-)x$yzAvPLkbLsw$wF4L z7zLoxKfYl1#X9zK*Dn_xoEnD-5ndF?%ZkkGZE4vp+Sg4s{FbrLXq@ls55Fm`e;2u9wb#lvFy?3{M0Tbs>XGqiLFKJ5Xjg6hn-yaHYZ2LYqvN(DK ztp)*QCaED0Ewgdv>4^+n5ws7Jy3_@tU-!sm1Y%*qk**ODABs5yy*74#9VFd2H)r^FbQ<->9)}BaP2bWK0)8~K*A>3-eadpuz(mHTdVSMILYMA5139(A2GIefbi4<;rI$(QAY0a~xUW!%b6<`?sxuR|6D5pqvmY=Yv=A6*bMJ$Jn zq~+QV?rG<_IGC(BLDX62Kd(liTwr6wq*R?{RRyQuPQ3*%j%UqgSOi}a6;-L5Y}bo( zUd^a3N!R2=*sk5FEx^hp+bMk#aJ$Epp$}(GYTzbt{Mw(iathD?&-Zs>mdZt`^J6X&QK{8CJTxnP~uq@z?e}4^Bf03)I4Y zhupa%?$~N<_%Q1^ro^lOgACc33-5gON=xQ#phj_!!D%+Tmo?)2$4CE@zcf0v2;N80 zhl$yam{u`?PlETn8Vs|uMldDI(URaW{V8w7_N~F=ZnKSSA&$H2FSB$%2AHnpHGcl7 z$HKx=W#?X0Ln58%iOM8G^fhCZIyySm9`i2l){jf;NKL(u_w~JBxLiy;a)0$XSv*lHrX%H-9arx+uhKp@c&u!qETSW2`QFLS_Pg3U&CI*QgIfZBM-)E3wsX%; z<+`eS)*gsEkkhA}Y4tC%_g+2EFX<&^;`Z-_Ep&AjE}scaLkw2nmcB>c7EL4h{yoZf z#E-7QIu*mq4KT4jlbxHM@zt<*9#jSN_-824+Czcpy>zH*neEqD!eNlVqNbG9P%3>I z`gGZ3QUXmXhg#f}!Sj_p4sR8nEsjdB*NV=v^JjFb_+vXE(w?+XUP{{>+P(*|koxKh<1jqdR z6aK5=vz&*E&*3rEO~gaeu;7sP4&os8ETL# zyWvV{HSbVP?fNYa92%hLvho0Lf-d~W&18U9jJLC{^o{*QFNm-bPn43Tx3Dc^1SX@m z)y)M@{bLO}t+SjSkUaxI@E5P?uWF|ve+Fb9Ry|)4O6AJ$wkvb8^eUQjmzg3YRDON8 z_EQ~!eqdw^Ho_`GebdY5%168y07k)#-+?(TH`f8APcEKfi6bO(UbY_}D)Q9pA-QxC z>1*umSH*m-!LqlNpCp>d?SF4<;qNeVrZt=|zB5ML@hkJ8bNBW(nB2lL@dg2krgh7+ zm_&?K6tCuKY0PkMH{RCN)vcdckO{lL(Ja)=zwx={m40ju)3s_FyqdfXT5hvZDC{!O z>dE1fN2zqv%+&$QO439ZA*17FN%a-qTE!?*N99*4o@+TL)vr#)OO>F-<@T-4Y@>~i z4X%marBqj?Mkn8_IO^MsFGQEiF$fO{@SUICwP>O(Q*k~og4a%&NRB#s&`K^wo&Tw@ zy!R=7#;bSAs53KbimK#H;~-g!LWPDQbUeAlirzsws&{>Rd%(e%`A>hNGCDs5FU#3< zEUy#pIn3H(c=twudgOnn$PY)&I&=+RpCBzoPi{UiX!NPUiLY z4xQ6j==WF5etmvB;X&v!405j@ry>s2<6jH>t37p~iJ{(bUahM8N6Y5Y8sM&X+gBo& zsgK5>i=3xNC=*@nR?e*9Vf`2Zg&2eJ$lcS$zNe_UJJJg|WAy}qd^r`}Cbp$mNKHk46i8zFB4UP|M5K^@3Id$zhml_a~g0!FK$uMUbJybec&8U3JgaEXQS*|H| z*b*Qi-IqO;9(t)rihE;2@<#N++O+TV(mk8_VfQ(!_zOfLmcNfZ&^68-xR=UzMkRbg zw0GzXF^*z;v=6sb4`?Z5=9v;Fh;)YRnuw$;c^;>T5yo8AP(Ja^JJ_2V7KkX%;D*hH z8?k7v5d{1XZCRGu*~w}}^+OA;D*n-8f{_8rD6Va_l!>>w(~?rR$QhTAb9*)&s(by~ zwTnZH2!XxMcVP=k`fWHVAOBRGOQ_FNRj{L8klA^AvZu3j;G>ywH{H@}ZnB57_){jzJZM{iHs zm`qU=@P8 zKc2T+KVe*0G^kvgo`7)uL;GxqSwP*}oV)%?JQbB=j8oCs_e*XzG{s8NTYX0C7_U*2 zrFNqUoc?`*jt#kCNI0a8^Cxi6Soa0p_TJ7@Tv$+#%qu+bvxiXzv@b>E26b-c3UiXb zzH&&b4Pn34sEM+IR&bfO z${%PheQB2HeW{b$)fc+39}yWbaedjEgN){hgAi+*(;K*fI%p8aSx`FN@*w=y!KMf` zC+G}XuDslvm&qYr&AcVbp^KCO(1GAM z&Q?BzVt4zUJ3Uf=XLXR!4HOo!2?tARI+>p;R)hT93qO`gnOJe;X?V7yu;cC39g412ggFJ(?4p(w#;nMe1@fUD{4Ww#PgxI_fD zx4+J=b87b6^c@0DRT>}R{4FEJG(Fi=f)ikft$=+rOlfZ8kt8RgBLJ-6TR-6#e!RBk z6y#-Z`PiENGEknk%>~RLFWM}#4g&)LJ`eKVu)452!j52mSW_c9nv2?WEvw4@Zq|qP zEHOO~@HibDbQSXkq0L^(iWY`(mI&)j)g70WmB}-in8Ai~ps(G!O{?d8S!?s4?#I@hGoSnmYCh)ogxqsB;-6QkM0 zd`!_-U%iSFWFB@v$*RtNUxzC0qjMlLf(WhmWD1fL3>xlskQlf;yfkE#01tioBxrr< zYFz|I4=t_qy_ z_&~o|U;bj4RtuVswbM>Cut7>3oR+9Y+G?_#(#vK_E4aMABey6DL6_RYeXbvL5TNXO zDzY^t-s0R=1~4T()eLC=2=E!qT+%ZmqycCVoSzJ1&8JtJnkusuVaTbCUjBQ!=TQeC zEz{q78r0DH2iHy`hE2seK&p_Ua1f_M_uRKiTW#7*%MvM0piR-s`0n@=$4XZnA&-ml z^PNuUhJOe0$#qVewnCRJ7a*Lax9Ky!(i+?)DeD)@?gi??=nh*hc&^@U(tcF4n*fGgX+vCVZ-8PYYb zMk!S)Jz{Ag+Dt&&v*fix&%0uzYhx>L1%!lyvJJ0$jJlh_@|ke{3Y;U{_0p{ zP(QXG_t}gR`;&2Eq)jXVKqol4{ItYen?6C4uR=Z(pnU)Anx4JBM+!TrOr(GZdPK7j zZ5O454o-%~Gcq%Vz0x49)$s|JNQuyoXDSRezJKxY#(@J)R-bNR=vjx2z-&(Z?ulX*QM zX!RD`vDx#_dOaSwJ<;=AqlGLQhdQs^w5}0uoIu&F5$@A_=ZlM78;=Zfdjhpc`lv>> zc5vUCWNS_*+ne;Si>lH)N%w>AO4-iNS|E6-6ciSm=i09xX&#AXLLL zVQk90K2*);@hs-jyrJ8V27F^0<2R=2mBw%%=DF$q&n||%m7y#=))*edE6`j5OV OqR`hd(XK@~$Ndk4)RJfb literal 0 HcmV?d00001 diff --git a/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_Alignment_TopLeft.expected.png b/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_Alignment_TopLeft.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..7ebac13d30c4263181ddc99ba576ac5b4094f8d7 GIT binary patch literal 3611 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 literal 0 HcmV?d00001 diff --git a/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_BottomRightQuarterDest.expected.png b/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_BottomRightQuarterDest.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..dd41cb98c3c754ad6a3a678c15797bce4d19a04f GIT binary patch literal 1421 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 literal 0 HcmV?d00001 diff --git a/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_BottomRightQuarterSource_BottomRightQuarterDest.expected.png b/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_NoTile_BottomRightQuarterSource_BottomRightQuarterDest.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..fea4a2a8e95b9d9c792662848adcd17100c8d10d GIT binary patch literal 930 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST_$yF%}28J29*~C-V}>VM%xNb!1@J z*w6hZk(Ggg*~inxF{C2y?cGM-+YS2Db#J7c4Jj z4OeJA^uA+p@VQO@FYe_*Yc-ySbNanH12mI*;6ZoI>pCN$&)4mlXY=nrt^YCi$KkDS z4BvgJ{w^Hhq#(e-!qn(MJoR7^ud=cJuCotw9wxEJCu#Hh))m+^lVAYxRv}bYzkd33 z>Fr;09BxFXr>Eb&_MGKV+^!uvX577hzkGX!+uwO#4(jep-1ArR#MP^zH}Ag5UDR1~ z_)p0d);DJDllN=ymu0pwDK9VIJbCiuch^?`cu>)K^j<|pMa1jxefulfBqh%)9AxA7 zwM{OqsIaK6s(SVB+1zx2Z_&MvfBdM3l+osFIk`H0jhwvv?&!Z9EuO0j@7%dlvOOd2 zuWU*|cli6a{{H**^iSJY+t2-d^TMRO-1g9N>(-YK=YO}l1mxC&xsk#B7O!0VKKJ=V zZk*bEE!uX^vV`8tSFfkm>6u*@E!UbbQP5+9(u8&+d$HNIN9I~}A62)24_<*Gb0`B z*DwEnn9=sjg-M%|PV;~AU1oUx{Q1w9FJCUYZZC7@_KXwDE8Ul^xpB(%_1d&c9oxBe z{=EOM_@CeIthe;5($%k)R+dSyuU&awq1m4~FF*e|J3IT+cl-8#xp@_4VA_*yHB#jW z?vb*RWm>$tn%dj`DBMqRTQP5?m6erN`TN6+yI(Vclm89p%{S$J+m0UO)1Q|N67h8P Kb6Mw<&;$V4cxa*k literal 0 HcmV?d00001 diff --git a/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_Tile_BottomRightQuarterSource_CenterQuarterDest.expected.png b/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_NoStretch_Tile_BottomRightQuarterSource_CenterQuarterDest.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..afd39c2360afe675194d905b2bad7f2755a48345 GIT binary patch literal 1795 zcmbW2c~DbV7{wDnpezPw1VY<2qJq4n-Bzz3KfWKQx+pjLXcMKpn`yO zhz&agSyW_Sk|$Uc!~hax(Lh`<5Rp8arGbP%U*goM)3JZ}X5Rbe{^rfO-@S9ry_bBj zuKGG#bYL);zPsBIKdAOAUu{k3+YofC7%K1tKi9*sTSH&-p@Bw(qn9HL)|jKaa(W#M zrrF?r#PR5P{Ni+mFK7Qo%~SFEBRV*^4?Gbzaj(iWGDC;5zElHEsiWi@MVQ0?ntG6T zhrzW?zWQ5Hq_wvw!m-On3sQxiostT9Dt&@g@(91+;Jm>h<#~&qjB&mAo3uQj6Ugw^ z*4EI_P*YQb!!sxp3V2Fm#&3NzAG70*G$hV?1!r!noVo>Ppe-6fdHJ7T}B| z>RXReOAfCa(*{6>>j&EV>?6fEZQ6-5Oy*dRVdNvAmDFd=1`IF0u0J`{g_R6H z=c5A5rb`XI=B48~l?N4L+th@)Z^1TpkA`U}H-rQ)QtS!D*XOtSZy5m{SO-vm(E`BQ zewGd9gc}=VKP@Du#}>jHgJSs7*e2ay`_6g-VNE)!DrcFYjOunPkl{w~fjEyhBx3f{ zi)4g!5#GUMA|+RMv*(GYmuceQ2WjIG(N#{%!TS}fJ6I%Y?C-BGrv04ap+pvn)#FsT z)%1Sn6UUFwUJ7VP+;LL3irZDy;my9{|A$ByjI%ir7&AqRhdorJA?`1o5DtT^pX=%U1pKXB$3T|&6 z1qq`ZC)T;f!*&yH!!DVDR%P6fY{1Nfng1W#ea4NS;(35@pXYtXvtx6wU+lRNSD4Kec-4`^(sZmdFqmmo3 zSgidnqoj9Xz$OzYO2Vb3NxSk^C^Vt!d7Bn^ylSW)8N*37WSLGp*5)FU&JBx)Z5)gj z>(RpYsG4g~?^aU63?it?Wr+mZ)vD-*@tJ?9=9bQ&j@tg$x5_l1WhtANwI$n%>Z9+S zn@OropTTO~wB&0xL>>m($fnbLy3vN*tfT1wZM_)^u9$hN+y9Q(C=8`_(?%)eHNrT2 zxg}^V2I+f)oNo1;5>($RmM1jnsZv3_aRRd|Fhpi@BS2NB<7_^}$D&EwjqHyGyF%)1 z#HsCZh<=GgQbUX`ashM)!O96sUXy*;PRNwKe5tF-lpAelw~zTNeR_c}og3xQ`47H( z`|8y;@A|XK={g{|TX9Lr$>E_PVP!22vg$8SKr%s47GAOaK4? literal 0 HcmV?d00001 diff --git a/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_UniformToFill_NoTile.expected.png b/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_UniformToFill_NoTile.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..e173fa6cee18cee4282eceb0ac3d81421aaaa3f1 GIT binary patch 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 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 literal 0 HcmV?d00001 diff --git a/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_Uniform_NoTile.expected.png b/Tests/TestFiles/Direct2D1/Media/ImageBrush/ImageBrush_Uniform_NoTile.expected.png new file mode 100644 index 0000000000000000000000000000000000000000..de73af81700872b7babfcd99189a66ea47db7eed GIT binary patch literal 11325 zcmZ{KWl-Bs)GiLeHMkbH7I!U_;_e#UrMSCWOK}ZST!K@eKnSj-IF#bw)3OJY)meS_-lV z^;1-b@E<64GO98N2#u*&PasqT1de@0IT;;4v(o~sAY%EpR}OkShH!jogE$NVxjzhy z-AJ_nZj1;9%!p5GBJjQ(YcX) z+#BP*pw*Po(r>`1QSa>#TS6y8*1wxU*|KDCwObqu6 zcdSRDgd<~?wQlBSjUS`RW*bHx9681E8e90yX7=9Mquakdz^IJE@^I6o5ZFQ;+S=Nx zZmZ-r?Sz>92xtsE|B>Z=x}y7>r+(pg(P2$@EI!)lYOi3gP8f&aH?!~=MmUIw>x4|) z9)=s162ToFAp?uSG2EXjFifS9SOUvLF8wTiKMEorV8b2f0mITtYB}X8j2?yFeAUs> zVMWKI(XpM%ui|%EA@=zudiz;h`=`oJ84XknGkz9B`_t8=e|NiLEx7qC{c3aXfX$em zvATwaRVszNs4s@9!}w~sNYyAZgB{kzt!{h_u}mtA>x6>Le0*PRtgRuP-p5U%-bWCB z&;6_3sJHhxM`1@1ywW*z{V$(kO>B>Mr&e!h{ZWPmm%kQ`=7_n*fp8cZkNAc`~jF z@&>Te4nem+DqOSg`gxkIpp3f)He3^4>zEX%>{?E(>X;a$b6$wv$n)r%#F2g)#2=Yh z6xQGi4k-%x7q6?Q*TkV;4|yMp+xSKy1pT-6pW01rT=7c z(fJT<+ey?T9m^yylP{c$r-bw!SE@q^RTZrcJ-l>IT+$SvrK3|;Yu;;?BktdnmYa*& z^;5E5nw^bJaddimU!e@STR*{mi*+-RV#rcY#@%2SOhC5?LN@~d07~$fZn{kt;!hn; zXKWN;l2?pGDaY#SUA?d101s>dVVLzoxKfsU-M#EH(Ud#ln)X#03LLSYx-i84sSC=Etci+bmOE zhY3VGfkp*9AQ2JFoB*uLF~qF0L6WFaFop$$ZbP>TQN%pX`yPTd7d+ev2?-6Rnrx1A zFvh{u#S)5i3}SiZ0!x6!pJgcGXyKENY#4ZonI$sU(i)A-@sWMG@M8+V6WN>0tB_Mr zfSt8W7m;(BcBY@NAraDk>f;eXIwC~NVUgK3ksr5kt`S-f(sof*`Se51{++`wM(>R$ zRn~13eextqp%jS+Ml)50Z1^!?5N7RO(ruYQIbh#Z71sTfH9WPEBfHOCH9HP`YgQ{c zM;C!EQcD-MY<(17n;HaCi{aPP(CGW)zfTP$SIkl;7PmSN!<7E_5T5iUD{J^@zGhfS zsd^Wi0SU!0C`<&k6V*$#E@wZ}*j4jA_4!I`qJZn~>|Uj8)aeaw{20BVW2B1xp&=rsO2Fy2|9-*A5>NM$9GEVa zgw7o(_<;{1tD{3K=COrh-0s5_8jV5h7o#3lU80(e@^xU#5sBd)e4+?W((k493I!@E zDw?mZJ}vYF2fknu*k7n*MgE%46(N=fy^p~LIW2%m@SEsknaKHPV@>2|IgMK4TvpqX z7vn4>Y>-FO9XW3mqDlC@w|)LY%wx{l(_V{pEH!L;K#|Ueo3F zOaKPoXBaP(_a~vgCRvc#98{OFKO2`?G&|&9yY(nxn=`o)0X?P&r_4L8%4I)2VRuSa zyLl$&5Azb>FEcaF{?^ugX@*f0WS9X%6FIdC(}lHWk!YNquBN(HLn*uG7}y6b6O!+s zen#^0#c32-7$U#Fkk?fbS_?}38Oz|9r~5h|wrFENKTOM^+1Qxd`7I=PH$&fCm;31g z`Bj5jR(vw6!Zqv#NM6P07-XjoN*S&WWx<*bj?jx}ssAnok{lTuQ|i%n>U+TuL)34H zDUN4H-C4=VW>(D|m>k2p&%+*!+;m#2{iEdkOKw!kHzl+K4YUENj~J4dcLo^|v6(=Mh{ zM*c)D3sWOJuV3rKknPu+5P#0QkWr3HR$Gbxyv(FS6&c`gw*7Pn&w0z4T=u3>1S24F z1lW-!uDGWAcU3S;bUly9dmu5edRwBP%LgaXBYj;?zOi$o(g)^C;-d6~Pf#q{Wf7*o zGQmqTL83Tnl)RbGZ(h&b!S?P=vwfPjiESibo_E&j$B*{^l$TyH!-28DuV#MXKO~)i ziNBH8c~zy{-FYezQXUzc6D=x@7#>Uefm&>Cm!(kY|`ia&!p3q+!DQ5J>m%H z0a0~CMbs;)bHkUu8HMtgj0o0~0ikXAn^>dY?04V#*IH5-X1GDj6UtC1t=Jw!a{s+@ z)woTkVDHTvh3bak{_kHiTD;!0n4Nj13Xb+oKMaiykipE;PfnZ#1bWCvK+D+t`eyt| z%jU{Sb~dbXNhp*s{v%#bg4F6->vfoijm+P1Zjlr_T^$JNW+3V~i2gjX(1QfWs#5n1 zxk8we0`?0r3lt~Hkwi=};iuPBFvf1LX|pn7NWYYfBWRCU@6mdmRljcz%z@v9UQJl?hU+M3odE2FRypXOCcFVKvqao6p2{M&Y9FQzfc> zE0aSmRt+^w8AB=oMi2!!parQ`M(;)+02Gy#wP%O(WcyPsud~U#8CW*+EYzsxk(*WQ zz9+=+bgFzdGQhP)T~B}n+&Y?7Q;Wt(AJfk@w&6zlBcQ{GDRvzypwXCTeF=yr)MSqRG}-DOp}X<%pJm!`Ila2gd=3)`g#!~s zSd`wA$I|fHPcFt5XpJ_Ksq8KL{HH8@DB!zatK6O~h{I_jo2R=R#~VOBgwi80#%aRo zJZPvG(HZp*9NFj5qk+g}n+abv=TRc={Mr6r(SH3b}RD+sa!49nGoM``NjPdkJe-s9J^kKf0K`ky|#`8#-&-I$?U& zNVlPn}2DZ1A{gAA9@n zxZygDN98T_%g2Age=i9^z7%-x+L z&SBh6J9v$My4rr78(RG$QVt!P^2w-U5cZ=qZRdVV!0Xpl67ftLqXv}!1@3ZG5U~`xD$X2~Ah}aJagtQu6k@Nq1Zh0w9O8DSKLznE}XrxX;V!Q3mS|@?{{x zs8BDOQf?h4NFaSnZ6Zv=9%n#iRA10U5x?;!WCKGYE#oE8yZn=>GImVZ;FyO+7E`O8^lR zk!Kkh8L~OvzGuHj|NT9mc9Q18=|p$z`@ux@-tB1S0A+>z*(W!iq z(jn58`UI!=GoQT!gU93XhNU9ADeG8Vs*Q&1_eyjh;^PeRJ(Szn#D}n-8sX5x;DeOP)DAQPHEDPEGC>}tKT*!k`XWtOaWc2@_p0l*0JTwTzh8H^ zB>|w0mPDLJoSQm<+tgBuQsmbSQSTLvgx@G#1PBxq;S+VY18r;K71W@k!0_6hcaigH zdvj*9FU@KJEJHc78LWveUh?Ha5}3UNbY}6 z7&@rrZs z(lV1}JDk5d3}Ksn!ac{dE|EDqTgk|hjYULGGG0ea#G~%VQ4rz$GViw++kyO^1RiQR*z zGJK#_EDwt*whb;uhJ)+kuhRMztwsLIh2pn!+KwI6Tziob60|heax_vQ`HPNCU)^rW zxZUdm;-;VsjwHjvwXh({`W7O4P%@1`Le^8W^D?j5uRY}+9N-IDe)2$afAqZC*2SiK zyX&^_5GY>mE9PL!21BvJFKo3Je!>U3rE#fuqER%jTgDP{TG4VbKaFJ7-+jy1^buy& z%eA6fFzXSJJ&-u?0r9h{Yho7;8O-;+#C+%Imhe5#lv7Gt<4Ja^|?0k|mqUZJK0E?+tK?8*yxO4We`;E3oo9 zsA=$1EYd?m+Yh{QfmCwPYZTAS^z0V~XJ*Ob1!*}FV^<##Q#D!;h7a|oO^?6ywO&aU zQ7aleB@u`#D=8Tqy0r87a_5)CVcf>&i}Cb>Qd?_T7~bS`xp)usQ7qE`U7ubEx+8Bm z+;*Gf^Z|%dww95^*#KZlT|%CU*o-9?|U*AKVPLC%Y;i& zHdHSQYMGO}ZD77=yeEf}pL`f@ggE6D6`jWgE)$p&5_lM(%SeW)%Ak5#~ zXqL^#)^fvgsOR-1@a|S<9im;K)_ARPHx&G46F9y4CL_a{%%pet#%NF!_ZZHCofHP1 zZ3+a#OUKV2+~1N-p7>(U4e8bb$P6TfqeQOv8rK5vAbb_-HJ91HZ;qC~dPkUV{rM44 zb$CidDX7EZ!OYBD4dAKdo}o$Fj)nJQ*<>opvmP(h5g8$ABiB7s{w{yrRLJ$+RHU*>$!!8Rf#uM$Te7Q(k0Js$WuJvtg5`sw=d7(fMd zrABOp@b|?&*O?CH-X9VsXdv}=FIohmwwXuz^fmCP&57f#o(;z6FjypSmscX|z#|(zt0R?(FV1&L1A0^yE`5eCf4CX@=si@jERft$oR_ zjTt%1$Q=uit@-Y1k}qnCVqD4t{A(Vqmi10ZD2oZkLk3mk;)G}QdlKHwyb7QfPJ z5tlZo1L`z`(D`uCtrc)%@rE`eTjJkAsiVFLMgc~{cRH&xrDvX@SfP~fS=5Mbf|P`U z!@*lDllmaJs4GeSM+KSYUh?yhzPCNR2%QMC$8(wsed}t_z`4K1;O=gdc(})NB@NN`BRctc0|b^~e`+ zb5d2#uzK~d|5O>Yk+CyT;h#HF`>w%sN4>CnFQSCvq{TTQ`lLLEF^SoN=ix@y+Y_ z&yOR|S#(^Tg^0)+!M4h62sj#@(uyJ0=6zaPnxl!mdB1gyWO!Zxx-eop{ZJT9Sf&ci zli2;RWm+Fc=#$laqkUE5$3zDB0FP<~{L|sa+VaNvJ=PJ)d4g@V8<-OSghVEzSUZJD;@~X+@R!u_Fb}0bgkOHDVeWje9YO63Z$dFDx0{l^<;X z#g_{Qy0)LKEho;FU+OzXuuX*shyFPa7}by)Kzc7gr9}rH8cvy!zI|ZHhj}N()NlGO zHZ-G9b$>9sUci}@GWF##}8N5Gveon8pFN%L~8ypCop-8`}C`a{=6-em<6o{^Q=lvWgC$&vYXQRT&vRE~4nflZ%!7b5zI5nnUd z=92x`;qxFVwQhGai9;#WG^Cn$l`EhHHFQC&@V+Yy)TwZQKw}1jS zZ=DvGtRx9bx00T$BQ@FNEA<;_oY1B&8fQwEZQYYnQ>n*a358vw7q*hdlokMO$;D@7 zqo4o885GW5>4}Yja45vH;q{x_x};fkaAwFo{iFM(rCH6?al+lb+4k}>2=+OpeLsrI!7v9fM>K;p>G~m_$eGoP zsC9|YjpmsC^K?C$zkd>!0T}2p3EDqljKjFk?f4Ux4m~>TO4b}RD znmT-v%_!sa3dL75tz^JvIikoM8jHBO@w)%oCJ|8MFkAj)zIm1(4hJ41ayl2?mcDPre4OxGL2zj_@#5|GPj9`!NAZz^$mo_=-AtLC#>PTuu-;3oR=V}}Do zo^2|sxbCtxpDuDO^bUQfRdyZgw@&fn_AXYO8ZOg3`djTV;2xp3qV4LvF6C z<`}*Ddvq)KZjg?yn}o7&D}skp9F+&LvzIH{mahj%yLYJWu+Yd)wpheIQ+wpY2wlXI zHdZyP!_`h|X6>dR9ru2B%XUSV`cIxm!?erqH8oE>0k}1aL=&^lg-((*oJ%1tZI_rH6x#LSEzsl+I zX?!*9&^S#YLpAmZpbwf4g7fD|3-MP8^fk}H%u}6si-UVH7bD2=+j~8F0`@%qW5j~K zQ&eWK_i5f5#mR4|fqym_dR6nJb%}0dCqR>7=F2%U*jkHJuC?mLHWgV*{c*4rWVM5B zbxDw?xT~mJ0w$(`xZ0g}7;L56zxkh)C9z8S*5O9}7KCb%N$x^9k&&_p+Fm^3_0D8E z>1R0FBGuTZR6aBR=&TmN@X|lq93EIl2B^lUOu&{U|Dg`?i=fu&u*=W=aXQ;5Xp)R7 zQ>)IC$Vx4KTs8rxTuJ0j#(Y2Cd#YoIoUtm_gCMa(=%VR~o2Wy*^^B}u));c=!$W>w zf3)SoZMC%1gsboZ=yuz-iWZcazDrj<116#yjf8KB=s1>Njm&Nky6tQQps`>42h z7mq0^Egib`Xx^Htsm&i(x4C#u7BfWjN4)LTVM(H}iHSsCT@(HT`q9_^A%}qjsKph2 zjpf$+?4$c1@7l0H^B)(%w9m5}V-Pe?YKGsc_qgd7JCDE^usT&FRg{HMGuO2XH2VZB z0Y*u2<4}NGMJXvVP~|F2dl>Nv(&$?7Tj^#Rxx2QgVxz54C8LNKD20YhxQ1BYzO`%i zILy@br;c@SfQ#aguEfXd!Sm4be~;fipHOK#QWaCvi5CNJ2qT?;A7DD2ycFu~KA6^h zbXrHsecsEP@Xb%o1>3ZJRQe?eY^OqMg$QH$ae9_^V-r$_L-6*eiuRdg( zN(X*Ca{?F@_Y(;K4^9h*^Fj6Nj0T;C`n&)zQ+WmV!(U8h3`y^t@7*`cDD1TyepGmd?S^)SiQbFW#L6DKPfE=H^?IU#Z}TcZGumU%t?b?_+Y+-({7>a_>OA z`WkClq2>>#;64TYEWAH@zBH02*Jv<{FzODze|xKL^L4;Nt^^(G;k`e|<;Kbj9?qlh zV<5*Mva7x4zw36Z?WF=_=v=DKH*@}<;fg}R{8WLM|D^DASU;N^PiIEdl7Wv}g}`-| z|8+G(cF6Ul(2-tZ(v6pyrE`7??4NmR?V!2r_!Q~4Z{Ij2>1En=NgX#39{HxhByr)H zz?T9GS|NuhavVv}}0uz7|Bs zYOf45dK3gJ6fS& z#Mcv75Y^76vdNgtwx3VMytimAkQ%0WxM;B{1+iahUC;xJ@FF6ZpdlDyP?s@6Ha0eU zvi@9@2wBxpS*LY0U8K$dZ`977fZusvG-2UjqZa4U^-aX}UgJ`M{8D35f&5J4Z>#Mb zgM))(yW?5&XPHd=cWz1)D!KfCm$KmJ+jOLe2peb*y!X>FLSf0TpFf8U(bs0svFc>~ zw{JWAV@--f__GeNP0KUaFm{Tn~+D)|{c zb{?}K>Hs1VY@l#?ax*x5@@T8m8&c)!_o3D2)W~&<%1<@HI(!OV9?(rUR(68X!Fl@C zmp$x`e5V_0Okmou; zReyLLYOyZxOTQ5fc@h@lK{(Q4#G;O6;xvqcz(jF>bq;-KAud}iAwj)6#IUEy1Qhyh z0q(}lU(yx_4(6(e{uA082sSazplbCc@9ag?I})Pk;PP>k-=*b3wJwJlAMOj8&&kpk znZKWVWuqwlc10s5_??U*fn5nvfDw=(9UQ!`S@JggiNurqIR38xb4HC`Bf7sKaZ5Ut z{+D+ExRgyyObq9JJJS6UYCc9GYL}~286mi$U1!R6(8t<*>F5x?tDCa42%SI{VY@f) z;0?NW7j&aBVwhd8yB7D<5t1t-G+iKSYeo8`1b@h5Gh954us*az(tHD!fk= zBAi;YAGwPIP@tZKhVamA6D8SnHQboxh&9e>4^UIqAhd@+hF0`q=wXEMK?`$#SOLSqy>6*2;9YA!0aIil_@N|~Kn zBsc|%5WWWc4-MvuK=>kL;t$y@H=sHuWJoJYr1(${wY9!J8C;IA4e9O-Hayph2jUc$ zQ!S?`6`#|UZz;O*pY%_PVEOyIqWJ(byl!Zoo|#C>JyL^ELX0#|s^46BLGEW^g?CLU9~l)PgrLo`|Ih zE}27WImPo9`ZxkeB31%OUtDQRKL60 zNd2@0G&Isr1~Pl_owrcV;@%Z-vOt46&~*d$r;8eTKFpy^V~hTU*SP=|!CO=_D4vNt zLtJ*~8I7$4gx{=XC<>62gTb+_s;Nn!9I^%QdAPE9Nub)3=CHI}?>WL@S23gEU)yPs z1dG7_zu%_Wpx1K)AyD&^a~FyRZvMKQ{yfG180J1Idrtf~!7%Y4XQJalVjhZ9S5=L+ zoQzA?L&>Zui-^)zP)rJ|`X0(hm~@!JwtSKQK~AnuYEe?kHhNzt8On_nPhhrrPlf0W za3Yu}dm1D)hj1CUUFh$GEp*`#V=19=p)40fW05xP>{tUSDaYZKHgw;{-+^Q-5hGrE^cybu%}_@2$}oZ5i_6NQ zY;0|t;GU|QI&Blxuze2v4U#^IbF>@^JVqoWky`vx^&-imWD&~&j29(~4h#x}e#KNA znU19ZV?**Msg|WSr>su0?;u#r(atI&G8!b2^zr~1z0lulCwPuRW)A6yt^zwE+lO6B z%3M)NDWd%k)jdw8`$oXk&gj^`+vALq5{3{tq&`VG9hCm`)2}kZ9d+I+;d+Fuv?wIO zqY-Fp(H>JRXknyvUoz2xQ5DzlBV%tujoX`MNrsD8g}dL)lKiB{=f;=BUctjebx%NIMj@|Uz@{5b*MTFk zG=$$H{B=;Z%3gb33`?x>uarWrtnf=IB2=&0Mw+)l6--H2NtVS~8O?;942lNaGdf>v zKrIR|jeCMbLNnfB70PsvqeoUc5K6)q{ryl1wefDpMLanOTU^^!K>%n@*N^+j0E8{d zJ(1`K9GjGx)2altspJW{O-&U_)a;=$Dv-b{v?fGFuqRjo<8i+s2YjNyOQovf_U-4szB!yVj70O(!{~xnI^|^%F96y7 zR-$y={?=$8Afh1@5o=evLJ|H~eZhi7MJXJ%)2XQ%kWP+yCl_986^1fsutN8=s{M1m#$ zQj-B+PN*fn0{@UZ-qO1T0#zo{o!C-7^1mB5z+kW%1%&|!WJFGG0|MESle>dJo@8W! zWMp9=keY^ufq{XMv9XPfjjg@Co4dQGmsfB|NLW}{1Q}T}2=t1KEC&S2B_%BffhtHz z>qtpkK%iC<5;zD1Cn1>vflwgOCJ00Tfg+wiPfkvL_4;*APEIZqT3%jWQCZp2($d=6 z+TPIt2YwI;6biMuxw*T$i^Jgv1Ypqr|M~wC_G8+aTdj~7dK`ZQzC)0Y%!q+hs;4C6km6%CTD*=K4W_L{L$w9 zr}I{2Gm`$Rzn-0aGiE=+ISL1yFZV3*$#rc1Glu~hm1Fscqx>?Lzjs6R#veK_V^Q!2 z3fmoBTXOIvI(}My+RPXPqs>%GdaRM{xPZZ4hmSK6Su|TjB&+0nXouwJNE&-5qtq`wV~HdE%ym@a@>}|zw*ksV zAS8@JBjP?iz9#FZw@cG02P_94TeSamW^pKf}yx;xNuj&Z+ zr)nRUOaSBE*i#RuYIiORf4=4r6s!&zo7n4t-93&Mu7B^>wA@CgB22|494_Kf1#RKk z*dLNftyAk=V!c}7$*$IGqu%`+hvpAVey31K}g zzONZoNocsC@{A!n(=Tf-fM1f z{AXx>6`-B-Gi!?WJcTj%02OsWCoijof%PpKPQEBN-F5|(uOkMB(>h|oiz=)F>cky} zUhtW93&!wVERg_q40VvCmV7%-!H10l*bMuK?x#zU9b|8TKU6cNv@yso{U-p`_6#9W z4%s?NtyI8b@cVHJ;{5E3z5p`aj%oIgZaKM>5fE-bRJQeMoX1@GP3QFy;@%oSaJVjU zWMlc}CZ5BI-F;iOgY4giyYz1nk)Ff1+jW1pu-P>>d!?cdY;39C)3we*Ubn5t!c5g2 zwj@bxbQduG9m5*yyyG2U=JykgEr#9(_I}T3H1y`bs@XiH#b`FAXbll1!~gzQSksR| zF@1#5U4GY$HmT@SzX+MxM)UAQR$%TgRX_SKax|A4qjzz$>kA4Mp2Q7D8PC0#!()Ix zDF@{&I=W+e2UB?=l1Y-{Z8C8}TDxG$#ZSAkGtU!QvTXrMBBqGN%Li@P{l3O|bW(|`>b~j<0A7hbwQW{E zesXi?-8tnB71YUkbWh&`lZ^hO258HY#Z${u2zLZG-0@qs$$CsLQp)_dwX&Oab? z)z}NHf4HP2Us<%IY7}Pk0JOvQ1r+Y9(DEvKNR1}qs}r!V<46;0!Q=Eir>sHKH(o48 ztBmix`l@DB^<6#yMO=wi=}ypHPH}$wug_&7XJN9+IXmWvw3o&T z9J@D$H`e-djDw`4x)+}q2xqU7_ELw~VA|+0ThP};5fYV`9B*C5)oXUQA_}qBmvgT9 zLcu>$iq?C(RTX`;=@R&ksA{|a`}$K*Rh)R55|#S=&hy#cF+^e;X@0B(yw1`6S3%le zly+Q!dKEWW4Xh$6)lH@0H+Mm!|4=p-CnE1;eIgZ%E!#Jt^eFzMPoE^k~B*{j)taY+pljg@rIGh$wOBLk)Bl;Cyah+WF-AIYZbqDmrrBVCy z?0>{Z!Q>t1*tRp1m)#l%bxubWOB{dv_>Zpl%C0K;X$p(vU36Bx(`ok$3;*?yl!8sQ zv+PLoqa~iWmF*T3|LdS}^$ig4eMXbO4tpDjN6e_+|0jS;lL9I^3I*hvv{pUSo-1)x z|EOmF`18PJm5qf{*yqabkuI6x*;NHBMP~NFDO3ITwKwBr43% zr`IUktkUR5{!QmI@26UCsr>lcO`KyN53IiE!hZw~SgTFgYC;?n#S%R-2;)TjqWWsO zq^OxCuQd}IHft|#w?t6mcq-<$%rs#ne`FEEbMX&^KA0KSXA%PxXab_fk#}w^;s2YEF$(y38ku|V-EqGp$ zxZ&*H=i5+Cjl+fOia1h%4No|A5Pld8&PL!eg|WZXLzpR4LSStSN@1t-8(IE-J7)q@ zKMnrnV9#oBxEUWD<+Wr}9z(nzys<{C}w^SOTJc0-j#A=yPSw`sXTP3ZbM5c(w zBuJ`?@GL;c-BTQYO(WvB-d1Vu2TREIr5H?5vr`!T<*FS2br@*|RXc@$8j-&UeAbX> zh}vq80Ii1W%iSYih4xDV=WP?&8U?+>zl%M{!7GsvVL!rlHF5ykx;GY|N`NHE@k z9*6o1P6rq(dkGy?+5_g=WjO2M;Vz*wEMA1E_I&f+-Jv5daUUCZuK+$eScbBnWmf+{ z1J8YsQEp{$3f1|81cv5!aYJAAXpp$=bPCS{x0wo*SXn(}rx>8@7Gyz=`ijZ`{(^FF zyDvf9{vNt{SjR0wkz#teTpO06mp^XffUxQ>6 z)6|XoC%;FMuD()=Xz%$N{3EhKMetbJa^dkDXp<4?>j5Xs6wf}%K`uqwE4f7{H#RnI z4%IgP`2JS1h4g`r{8ap_fjKbGc%)O5>9ARL$ zo&~|_ADDqK?fTpw`@8ObEE<#9Wmye|Vh2STw2?u6kY|4yAOVbxvf z$5hlGt*&?Y1`f+pZPJA#=iTo~^(~o?&MNd;{7!p?cY?+ynuq_D-z~~X&2R7*J z2)hEVTkOKkcPB<2eiwYCe%4g+UGj_cmptI*b$iof9iJ#`=S~J>ZuK9G& zb?{y`>;(pXPIwi^472~b^wrNmN_dS0Qhg^0V1NG>1)OAtv+e>^QDQ+sV*Xy=PnhmN zLXeYh%mT<=DYSw2Xns%7#JfsjxT2RfWc$4tBQiVHvw!bi|4&%dj99QEAm$Lm&cTK< zIKo8T|Ax=_eV!h9^HiPB{rg-kXPByyzJD#^O|M6z2}fp1`nNA z-yt?)Fjm$EwLP-pWHR!l^_YF%c|L`92Bx^6*6){Gt2kj+BhnnHxgRrX z(aqiNZ9vBdsvzsK36Xec2EA1PMn-%RQSSd&cM#E1@b3izJDeiQg^AfZf@ zE7MJm{fg2Npeuular~pA;c)*$?C*J=cSN?yEGLY&3Rpb^e1dwGr74sQM;MPcOuQ>s zepZr^4>5RbzZU6X8)%J2^v7VDuF0qwft{s<{awR;LZ_S`(CI1j!9sp-4fJXhuXYF9 z{VtiEsZy79d`i1K8;o|~yY&q1gVA@WsoK;xAoo+M`d+%q zwO&cTaL{pU>|sx`j>*Pr`jCN#w?)>j>^_J!?pgX>%NsgDrN88y^$X!{%Qkosc5pkp zs(UP=P`c>5zK5L*T)fBcN3>frkG2bXl4GT%YS~9RFg>1Y|2ao>i2>@(*d>l5*3%H? zN~n&_Z}?;;g7r<2b)cQ$_jA6!( z?$i_UqDSg`*61<*Ci9mOqN>{pYtx8m(SZG!aC@k+d+`h%{sQ5X#_seb-3XJ$frqj_ zP%=1%iTd@;XN@_}4A9YT^g|ho@6t$1{Id4k&~Hqgrz#Z5pFd8Vl)1M-gG99KCTn*D z30wZ}JkGYe6gAM{W$S(K^v>U@x{f#8bxkH8#kY-=VQ6MJSiF^z>Y~=&NtEVH1+h ziJJ!lyv%p9JyGh8p@lrKo6_wYENP@aKYLInVP;MhgEaU9$Mo)Q9H#rB#|E>4_@yXb zo7y5Ds5@-$p?(RH{;ZB!-B<`x#B!a4MEqRazfQpvpBd2{q`q5W#_IP1l;=6Rc$M%4 z$`13r@9U+dPzbV1sm)2h+Yy^!UZF$IRN6RdVf?%lQCa|hqc|-^9R0!==6#xFbt(KQ z56VIZY5@h$yVL2~6uuM_vr`m~H9&((&2XVb2PhX=-LKD8z?3>)7F@;6 zc`LxrDh$Y(`WKE}5HfT~&WiqQp=bc@e0T_e7vicJUGhH6Wmo%K9mm)oHgKrw)Gv$FgJ=1uC<#g3Mzh8w~RlU__5TwsZ#?>b8Vc{hXw z=BXXl0d{T$WOp5R9X}sA_RQ<0{K1Xv)EiC-n6Yg87tdV|Ghq#PDl$(gt?Or{Zk z$GL;q*^EJzt(mwA{CHDXxE;}cOlgmlpKP@6(+ni(ptKM9{rjT|kytpT%Qcpxrc(v4 zmw<|>Wcl=dyVY67RQZy|~X8E~qxTse2wL{%*J=KJ_)8iq5H{N(TPhG;=) zO#r}kRx^_9ySLCM-K5pmTMS+c_ualIB(pM22dNtRUBLny(R0H+ zuOG4kV67+$a}_t!>^V$zX#@_=q~BG z`NVE1pM`aT%2+mwvkw1xkC@X$JBmNZy7z9bf~P4z(eSq!s9j?^{w?KW-+5b1S#az< zFfScms#e=jm-t3+Rj#X{jJ^u|;YkW*kGqy@m$%nFQsW-t99M9KiSDZ!>Pt3)?2Hew zip_ux#XqoWA@{w5O-#-;HP7Y|zHOO31bDuNm3(_u?QDrzl6aK>Kpl{$TF4U(OVZIO zH{FSS8&Vb>fX)fW*pcF-u}goD&Y^paib-q9nS?o6UHh4_H<7?fCE!7hOH{YYy z_QK6N+*Sd#5+&)N(KIMCpPP(wo4zoZgVC>LXVR%qzv^OqHXb;^(j0w{!)p(4a+m5z z`?Iw5(0kqQuzUharvp`rs$db5h=;@t@#KqXIA3pay^8R-l3X!O(@Y@WHxB-H4^+i$ zn=cU*e4hby1Cr^}lKI+E8D(w5HRyxNK&;VyrgZ#9P2F!@)#v3;#q8W^4O+I&##Ub(bZUX!!g4nJ8N0~kaJkN}(E=y&Ofae4nayv>e6Z1#+DWbBqL5M4 zM5Qu!En|99Y?1$j{Tn)N9keD6?|%--S!o2JtOZU~&i?ifzMB%O*rFuNY_VeR&EQ64 z!jU0T#UK&D$IR8`A~1XuSBeWh00EvA9W!IEz5F1;)Au2I!3@Dv_}+K#ScC8;PYh%e zm?3!c8QZ?|YURljF~_flfP*nX#l5LFNbca}%&r23ON_T=dyu%$h-nnJ0eTM;#91AU zSo3e9Pk!?DysB86gs35ynSq1e<*nd~D#@F^_&dE?Z;tLFS5qj91;gd?RgOw0O5#ThqDGfe)@nxv8pMkqz2+jNhtwN?lGZc%a_a&~$Avv93(n$L#M<~oj3Apf z9sl_f#u3ri!pEQY_ZEvErGzYaxKo(NPx^cIwIu;!j0WQAPv{D70 z)SRan8;(A8n)s87`T*LJ{tgA9-(A#5&gz>`uKIcgi!(Y*g21E7?+iY+tP3(;5!<;& zAK&tMlJP+PinF06$TPFKGKS$)CP?kE^+q@QSST!M^KC`$_mi>47+Qs9rG!5%0((qo}@d+Dml8y4dy)m_Z%O#0||sm18fdA-Kzch^^a5uf3?uoLt{_j50)a41^I6H?n=Uau_ z1?e+8QoWS{U{yd|GA{NJEz7@4aEnpayfyceUq)Np(8`PvR|>c$t(+xd(5~>nkX%GC zd?F@MY-^ZW*}v&!8)@7NJhoL<=l!t%a-yzIz_ODyUesQ2_zB zv0XKLtQgPL8DF22F@m>rvc9qX%)cH|lD6UEtqbM5c^8bFnR)EJYw0o>6l~k2ziTyX zFJ=*}WL!)3cFmFlUT+0#qDDjW<~-vM4wEN)&O2*a-yUAt7UY@Fzzw*hqAYx`)DTP$ zy9`EUbQthk%Tnh_l!Qp^~%D%%0&Ti_53~lm#EUy+Quv$X#EtVG>aogdp7XB=5qy!eSe##pP|VG zQ4-H53ewYqh7*uOnU=2eT?%>Jdb}4Z?$dvys!B$^Vc15lrZvcA1S==~_@LtUA^e)m zMc^W-GcQ4?Bg*Z1CZ{t))Rc}+x8~YYXXL+-e@bnKOY*7&TO?X$Cex8+byHE-CHm#(}!=ntk5dQa~E}`3_(m~s@Tl}&(Kkumw<=RQ^AT-n$ zH{Z+|_N{r_YVJ}Za%7w6cJE~?%(n_jENt|4_jo=P3VC!p8MP#*jzS?1%kdda0mm}~ zjaH(s+7#tB3X>!Oi^=RamBm#4PEv_LSaK*{E?}ndLnZ#iA}}|3V(F_I<3{5}@qsl!ZhY&*pea)lF=OQ zjFY%?8p6>MTZ%8)RnG&)r?eLjAulYy-laoM0>=)kF)vr-QqVao_NuWvo~;>lEm zO#{xs%T<;!FSUDQ!;X8_lPJDjwk6Ilf+l>Q-W}{NZevey2RiHHf^|}E_cJ81Sx&R# zyx*#iMdPfKb{6WKO?o4*5p7Ok6d5}srfk#mU}NR-fkOn1UB;8Bf#LINv(4pE=p}>Z zL6cY&q7ygHoVNYu_AKU<7uwl}5&}E<0?6`m)WBb5Zbym|u`OIDD2_rf^dq}l z3x|7awoI`T4wZ<;@?L|eyyMARbVj)zwVz%qoJ9p<+Agd}<$)+Dn5IT-(p;jmt$$2L z1BWnaf%DtN5oRJs(n?Q`Vbe-#Y`M80JFd2CTc?@6)l*EgKvbEnT$jW6%%9Kw8XoNZ zk*tJ{Jgr ztL~^Q8MmZ0{*EEeG%1K@8PoQE^VMPa0|i0j)X_V&_lX?v%dE4%Pt0yXrjKh9gC0@f z!?opQSqt2Z01yP=ue)CMBx7Fj-FhGgE4vze@Nknk?H}DnJclfLTA`3JM|X}i-r6( zNNDLaHoAw^aN<6bRL;j|#5k_AT17N5!IZ9OIT2ryGRLFKGFFOPGh*Oq7-<+|i?W1J z=qY6BcIz26(qCvAgs|(z4TZr)*mHo<2&5AHYBY7)h}eka>+0v{DPDcD*&jJ?r2H!W zBx--uBCofaS>4ppQAC`$sE#duuaaHdz_^)HEximpA#7(N_R>`Jc!=>WKn$KSH)V&T zti#v_S+(K0HGr!RQvztAL>lBq>x`glPr7&se#|M8D0j60`Jvj%Hi5@Or}6i%0#Eiy0mU4mRfP zSRw4t8Z!%rh;k%gieEUrVZhcu{U+Y*5kYTGt?#u+Y$!euZ_-9dofdCJ#v}wJ;B{GKoBc?V$n(ZN>si^Mtvu zc1o30UTC)rQ8D#Pk|#b0FUvs3sa7K~L03z|Cj^6xe>hyk^TU3H+zgQ0PJ_xSH^kTb zUrmk_Xd8(f{pK3<*5ASfeuk^1` z&(v$2ueVL?_!W^HBeUkErTHyUYQTCWZoAA! zJ~J6q`LfVdYh}h9;|sJA&a^d5Nsr^t8U_Up)=UD51Oa?x5I z*ZLC?@1Ti#z~3AqB=j)sC!|G~gNXPicD{ePYY%Gjcu>VMV_(6!hp1n){LcrI<2EE(DWY5<%UtGk~4eSrHD0OjJfbEWB^ zO&{UoSA-hoZl&b~Iw|wLWIW3oQ;j-GWLSy*DT+O!GY|6i0$e0tQtn!<^%)6UI7vAe zJSV!lh&(}6_)@LYGS%QM8h+Y17Io}prqAc5ipJ9O`@RZeJFw&3#8fe$2_-BufAlvm z*mpaJZruDhUro-mw&ejkKO6*BHoRi&U|Z5k#Wh&S7BX1IgLsd7T~ty11^2t0Mui z@>ky!4meU@HXvpg8Es}2yg9s#Jp%G}Y!$D(pp83!+)fd9N;ff5EMb|&^+6#=;FS^u zaG1q;UWl$`jtb2oJj~rae{}gO|A+OeWXAyOfp;SJIVr4j(^S+20%?IQo3cs%VAlM| zG|IY#wJ_+OK^|#dzsK#yM(I>qG3S!U55J`Xki?w3IOc`71Io{$+^|^1^2=v%r&~(` zgx)1CJ|~}{2OaQNaUaNm82!iQY0v-mg?#LF!^%Pur2r}!{_`(XFiwWd1xCidu@2(} z|HW#N6)g5#YIy*I!{aVbW{D>Oyh0>00C$#fDR zW6L?cEByaYc;Sp;(xrM_kZxE$#Al2Cn*D08+9vk!;Y^Ve;NI12Q zF&V6Sl3n>TH)R5Q*)W|W;PQO~vGh!71#&D>R$8fql96JpBTY|crp9Vs*F@7gO|b#m zMAk)HykghwgzmcAbn|IDn<~~Q;5ynnzcOqxsN$P6B=p{y1~7 z#+H`|1n(A-dJ8ECV0{+uiz`lWDJzv$qLu*#SJ&0IJm;a(`BW3T9! zFb#g*_dacX#->q#sL6W=SU5e~9j;>FVt6`Ja>HU&i4K_-nq%bzP~vlMGs)Er41UTh z^hQpObNZ{?W&ep(b;)o01N_7kO292n%f-4GVUF&?9@P(mMtcn} zC<3~WAvNBxu?k&we|1^V>KSRfe9$t@1g;mh;msj6&uvVDDW=qF%ME;{JKf;K4-P%-9QYaR}8H}Sh+ zNZ<5-L0aR#-+I#te*uJ7-pMSTVZJ`re|J0ESQ#sLig4&umt8_C)))G!)hBIkzwfp` zy0kDI!x_H<5Egv!EY@v0U|JsLuU;>-IFx6m8&Q0h+$mugqErAlEtb+nKJ&mT&($55 z#Q+|Q-AK4=M+Pqtl5%~~b#YE+*P&JB0UB;9j}^4<*TtF7AQ6f0*qlNx7pi^{XRhru zHt@dyXND9WH#hY_xvpIbVvJvnapOTP*greN@mo9-0ufxhK;3j&Tzr}l0E1d|2A;{Xn)%TACFIvHk6OM#nGn*4lb~E+NXzcj1U}2NUb2l=7)z^|`33 zD@jL3eFGmlSW`{5toGc@FoF>YYldL(+p)ZMIlCjFGHS9IPc&HM87FK{_ocVL!6mH6 zE6J9zy64Ogw- z^lGU3m{pt<1z?xS&5oxoM_RCzxw`}J`>Nw@)-X3uAtE3LC5{pZZWh_eeq$t0zXil9 zShU1~+_Szs*H922P(vS&1-Ks6P1~Z!43&4YpU_?ut1L1n*DWz&C-25~3 zec(zYvN)!UmA7zQD_cB2w!wmo?fhT}Btbr{b7sE*Q=`Sgq&}9aaB2gdbZF1)^s^99etyg-qDcQRw+n!m5{-D5g|A>)NlVqev<*|_O>&|nkFRW zlX5Zez&Vp&7gTacs28f(195yR^7o?=10JG`?aMDVz2@U>T{w368gxnz|Jr*(lbAb9 zTs$wdr%)3&B$OBY;LV**HYWO{zQFX!pY<%T{1U}j*AXCeM9s2NV>X4@n0vS}Z9#{0 zTP+aH;XUgZ+InB_OOMRHUbw1e-b^QlgcrRf0{=#M zyW3iCBb2H9y|YKoA+19k`Sgn~19JX2lwc`^)vfu=3tO0VD>tuIC+L@6>>|n5{;L&> zh+(?=1NDqi2BfD4824WL$vT2Z`oYanchg zJ=D>9SPPv#PGUWsJbL+_6h#O3{*mc&Et3Jd%w}T!{**f4MHYD#GH3w7QieSp=Eg;0 zW59LPMVJ`>lgj=`Grddf#;Sd`%A|GQeMg7cVMUUrie-kkL4)v6jMHmb`_gGEy?#%y zS^BRFYVf`7fw1^JHXwqR_TBsaUa9+5G-jpuehe+(jQ6PyOSDw@_{s|^+l}v9NEVmq zg5;*VlVre~pb<75f_gEf5~U&jInCcJD~&uK)2R zHcN2NM2EyPd^rkZRgFG}l$JDADK%CH4gTzQS@Kyp4V_CCpNB)Gr17<~m5-ZCa!?-& zIRGtS*vdpS;gW;Yak>=jk_-2M5#1TnhqBFg#9yzBf!$7n@*R$xS8A>2&?)7gvc^lU zgimx=R(!9m5tye(jwXui@rVk9qiw-cmxqhRcG3ulOF|qQx>av(8I+On1$wLfJkF#%52T8b1-J<|CDt-tA!p)YW7t@B*RTGmJK50^4_V@nmTz9B^r4rHW>tJg z&eV9a571VhO$|L}*g9k^d=ARfn?r=2ibkt3#u0`t;h$io;TN?fpSp^CY+eC(7~cU^ zMt=U@z=+XCHue_$ z!gniLBrd4ecS(dl{AtQcu&hfxV{3c9qVhMBOVVI(Prt86X$@OL*A)Xtpb3D>%2aqD z%p+9|$204lB_B+p5jpKube(sNJ0vzAyGE{=LO6hn3-KJZp6Z{TqzE1Bo<&JUU$8P@ z9uf&#S{S5YqW7Y2;tF)5=zLtPmokl5=Ls9H@R#IjbZ^zC2f|{_g+koZorq*5Y4UUl zB^W60`&PnfO-|=lf{HTI`1f$PZ83-9oA~4M7{Mq#)OHpv;5D-3@n4yhh&jc{<`_9v zP)q-E-wl{jfc@pGlyyz2-K+xw$bbo3oE{Hw9UNJfD{f`bvOJB%sll z50PMh%ro~?0XqK4_2#J;-;UlnL$o5Tr^R;193M{}DW87opDDLNF)%QM*4VH-2^S5g zZnpot6Hren<%2>)TOhQ=Eb+?roQF#r@Ch#7mZ_pW8o+8Mjhi*+TWrczP^U-wRu+Lh z+S!Tk18JqY`k2ioIOi9rQ{q(NpU0hL^qeKQDQ*;ew)M0&o3IH>Vg08acDKy8qsG7MM+dVLYGYyvI5D5_lt>zOK0o&9ei$##BFt)M4#Kl77C*7`44eM4rY6EwvO~F zwHP<-x+O=9+sGd$5u56b?c~T9StcX3N85;kk*2Hw?LR&iTKM zG2HL|v9QJ+C}~grAN(lyWh*E28kMl4e-hEPeb(+rNm%Za-@OoFq?URQwUs$hLiF_$ zo7uu=kIX*5m&JnD^#PRGtcp+mVZ26Nw5z6-rba3lT~-h}`t9)Lr+@fvGvJ50BTl4V z-y^jLI-6~gp|_3x^3}nDdZ!-b)T$#MF{n0vuU?|ji0J$yw#sk<@yM|0|gZy~_GuglF>0g_ttl>H(zW4Zj|uSCH8D<%S?0UBTyXQ)n_+ zeTa1zx#9QeU!R{*MxaA;6a9UPE(R-oWz>WyF$ag(CNy1_9xQ!kg8AWd1;!_Ud+hIb zHP@wm_N%l&br7uTIW30aqT>H5hq&(=Z_w`#scF-R31H>#@nKDfHqcptx@%`g(qF`c;ZL_1<`f?)=*6O9k;rLFFajM0s=a1(K@SkuWW`Cag?rYDq zNAaEwrl2?MQR16W^zyI1+0A~QjG!}#T{Z^Fqn<>UeObw>y1CJ9tnpX++netA9~f(? z0WE4VacoP=BF1u7qR8*rAGeede_$+xPuOS9GM5bg7RP$lr6pR9JJq-Uv#o;5Z9F4#L+CFV#CtH3AiJIt(GrtU&0UW+}fvqq@JP@U`bZe9s5_I#3_Y_IH3S=12eN z92rpSW>1aZgzj1~sY|qMHSJ2Y5(_5*7aBNIcE?+`?^u-*n9lp#KqQZ0vB@nVw4Saa!xu^@v*-6Jixplo89O%r1!N zJx&5+Jue2$4&nV+&uXpg+To6ZAumq*Scyle{v|9$_qwQ2SZ-)9Y8!1V z_m=D^ZSOk#b$s;rZMEF*O$EmVA`&rdih_@{1Q@dYW=Lg1j&GB1CjHpUDZ6c#bAnjl z`i3rK#Qr3T%Rq&IwSMlnAhwTc`KE|_9)77oFer++z;Ztkgj2lA%wc8cqJ?C$!bN2+ z(>eTFtc76xW=Fx!4kuB+W*@6F;t!+@Hh3haAv^OyrN62@F94`Q0{nZAk95)#ZF52> z&kAOTpvj@n_&g5B@;RW31a2&L;;U%Trh0E^fTO%?1YCRF@3-Ss zY&BD(@Q(EPBUm>k{-iIud7v^#5F80DcV0jJ0e_4Z*k9mkDz1m))Kob3Zq+${IsBQ-B&I0vs|K7WgcACly@O8?+sCM*|3*JbI_jnAx+G zeK9bqT!47URm?+UmqI58F!jxKWplfL$qp#U0~KuR%!$FSoSQ@o+PZF;>+EC$ip$CP zFgefLPof=%+mFa)&VmH9Z=-kv8YhczbOz1U8?F<6#Oozum=!X+foE49unBz+)B?wx zU5lBYhzR&lJwn2=FK<&me|2MLcNL-2)nF=}$FR za#bSxiMAx0Tmh77-x{U-UHW8E*hbkOURio}(-p~LW8TorTnHeWI=iPlVCwD@K|uu0 z<#jjZV+{Sbe--?AsFun%?mdZlG1JXZ3IAcbza{_9ERd4~luZuuVNYI0V(D>thSo&E z|Nf@{eW+FvP@C=PT$5od>8c!j7z#UzPX22FnKdHj{C}Jdo@|8Luj$`uB!p`}`)dV! zaYnN;gq;R&&;Kg5C@UDXu&}`KsRR>FFY|Gp2_FOXKe#YgIQrA-v%qi49uwg0ab}Zb c804HvnrZbQa>Zocf`Fg9xAis3)E+(mKi!q}$p8QV literal 0 HcmV?d00001 diff --git a/src/Perspex.SceneGraph/Media/ImageBush.cs b/src/Perspex.SceneGraph/Media/ImageBush.cs new file mode 100644 index 0000000000..1b3fd07d28 --- /dev/null +++ b/src/Perspex.SceneGraph/Media/ImageBush.cs @@ -0,0 +1,44 @@ +// Copyright (c) The Perspex Project. All rights reserved. +// Licensed under the MIT license. See licence.md file in the project root for full license information. + +using Perspex.Media.Imaging; + +namespace Perspex.Media +{ + ///

+ /// Paints an area with an . + /// + public class ImageBrush : TileBrush + { + /// + /// Defines the property. + /// + public static readonly PerspexProperty SourceProperty = + PerspexProperty.Register("Source"); + + /// + /// Initializes a new instance of the class. + /// + public ImageBrush() + { + } + + /// + /// Initializes a new instance of the class. + /// + /// The image to draw. + public ImageBrush(IBitmap source) + { + Source = source; + } + + /// + /// Gets or sets the image to draw. + /// + public IBitmap Source + { + get { return GetValue(SourceProperty); } + set { SetValue(SourceProperty, value); } + } + } +} diff --git a/src/Perspex.SceneGraph/Perspex.SceneGraph.csproj b/src/Perspex.SceneGraph/Perspex.SceneGraph.csproj index 660cbe38d7..fac8cf2924 100644 --- a/src/Perspex.SceneGraph/Perspex.SceneGraph.csproj +++ b/src/Perspex.SceneGraph/Perspex.SceneGraph.csproj @@ -64,11 +64,11 @@ - + @@ -97,6 +97,7 @@ + diff --git a/src/Windows/Perspex.Direct2D1/Media/DrawingContext.cs b/src/Windows/Perspex.Direct2D1/Media/DrawingContext.cs index 53f5ff3d5c..d0c2e4c254 100644 --- a/src/Windows/Perspex.Direct2D1/Media/DrawingContext.cs +++ b/src/Windows/Perspex.Direct2D1/Media/DrawingContext.cs @@ -303,6 +303,7 @@ namespace Perspex.Direct2D1.Media { var solidColorBrush = brush as Perspex.Media.SolidColorBrush; var linearGradientBrush = brush as Perspex.Media.LinearGradientBrush; + var imageBrush = brush as ImageBrush; var visualBrush = brush as VisualBrush; if (solidColorBrush != null) @@ -313,6 +314,10 @@ namespace Perspex.Direct2D1.Media { return new LinearGradientBrushImpl(linearGradientBrush, _renderTarget, destinationSize); } + else if (imageBrush != null) + { + return new ImageBrushImpl(imageBrush, _renderTarget, destinationSize); + } else if (visualBrush != null) { return new VisualBrushImpl(visualBrush, _renderTarget, destinationSize); diff --git a/src/Windows/Perspex.Direct2D1/Media/ImageBrushImpl.cs b/src/Windows/Perspex.Direct2D1/Media/ImageBrushImpl.cs new file mode 100644 index 0000000000..c1d4c0e0b2 --- /dev/null +++ b/src/Windows/Perspex.Direct2D1/Media/ImageBrushImpl.cs @@ -0,0 +1,93 @@ +// Copyright (c) The Perspex Project. All rights reserved. +// Licensed under the MIT license. See licence.md file in the project root for full license information. + +using System; +using Perspex.Media; +using SharpDX.Direct2D1; + +namespace Perspex.Direct2D1.Media +{ + public class ImageBrushImpl : TileBrushImpl + { + public ImageBrushImpl( + ImageBrush brush, + RenderTarget target, + Size targetSize) + { + if (brush.Source == null) + { + return; + } + + var image = ((BitmapImpl)brush.Source.PlatformImpl).GetDirect2DBitmap(target); + var imageSize = new Size(brush.Source.PixelWidth, brush.Source.PixelHeight); + var tileMode = brush.TileMode; + var sourceRect = brush.SourceRect.ToPixels(imageSize); + var destinationRect = brush.DestinationRect.ToPixels(targetSize); + var scale = brush.Stretch.CalculateScaling(destinationRect.Size, sourceRect.Size); + var translate = CalculateTranslate(brush, sourceRect, destinationRect, scale); + var intermediateSize = CalculateIntermediateSize(tileMode, targetSize, destinationRect.Size); + var brtOpts = CompatibleRenderTargetOptions.None; + + // TODO: There are times where we don't need to draw an intermediate bitmap. Identify + // them and directly use 'image' in those cases. + using (var intermediate = new BitmapRenderTarget(target, brtOpts, intermediateSize)) + { + SharpDX.RectangleF drawRect; + + intermediate.BeginDraw(); + intermediate.Transform = CalculateIntermediateTransform( + tileMode, + sourceRect, + destinationRect, + scale, + translate, + out drawRect); + intermediate.PushAxisAlignedClip(drawRect, AntialiasMode.Aliased); + intermediate.DrawBitmap(image, 1, BitmapInterpolationMode.Linear); + intermediate.PopAxisAlignedClip(); + intermediate.EndDraw(); + + this.PlatformBrush = new BitmapBrush( + target, + intermediate.Bitmap, + GetBitmapBrushProperties(brush), + GetBrushProperties(brush, destinationRect)); + } + } + + private BitmapBrush CreateDirectBrush( + ImageBrush brush, + RenderTarget target, + Bitmap image, + Rect sourceRect, + Rect destinationRect) + { + var tileMode = brush.TileMode; + var scale = brush.Stretch.CalculateScaling(destinationRect.Size, sourceRect.Size); + var translate = CalculateTranslate(brush, sourceRect, destinationRect, scale); + var transform = Matrix.CreateTranslation(-sourceRect.Position) * + Matrix.CreateScale(scale) * + Matrix.CreateTranslation(translate); + + var opts = new BrushProperties + { + Transform = transform.ToDirect2D(), + Opacity = (float)brush.Opacity, + }; + + var bitmapOpts = new BitmapBrushProperties + { + ExtendModeX = GetExtendModeX(tileMode), + ExtendModeY = GetExtendModeY(tileMode), + }; + + return new BitmapBrush(target, image, bitmapOpts, opts); + } + + private BitmapBrush CreateIndirectBrush() + { + throw new NotImplementedException(); + } + } +} diff --git a/src/Windows/Perspex.Direct2D1/Media/TileBrushImpl.cs b/src/Windows/Perspex.Direct2D1/Media/TileBrushImpl.cs new file mode 100644 index 0000000000..edd31ae0b6 --- /dev/null +++ b/src/Windows/Perspex.Direct2D1/Media/TileBrushImpl.cs @@ -0,0 +1,135 @@ +// Copyright (c) The Perspex Project. All rights reserved. +// Licensed under the MIT license. See licence.md file in the project root for full license information. + +using System; +using Perspex.Layout; +using Perspex.Media; +using SharpDX; +using SharpDX.Direct2D1; + +namespace Perspex.Direct2D1.Media +{ + public class TileBrushImpl : BrushImpl + { + /// + /// Calculates a translate based on a , a source and destination + /// rectangle and a scale. + /// + /// The brush. + /// The source rectangle. + /// The destination rectangle. + /// The scale factor. + /// A vector with the X and Y translate. + protected static Vector CalculateTranslate( + TileBrush brush, + Rect sourceRect, + Rect destinationRect, + Vector scale) + { + var x = 0.0; + var y = 0.0; + var size = sourceRect.Size * scale; + + switch (brush.AlignmentX) + { + case AlignmentX.Center: + x += (destinationRect.Width - size.Width) / 2; + break; + case AlignmentX.Right: + x += destinationRect.Width - size.Width; + break; + } + + switch (brush.AlignmentY) + { + case AlignmentY.Center: + y += (destinationRect.Height - size.Height) / 2; + break; + case AlignmentY.Bottom: + y += destinationRect.Height - size.Height; + break; + } + + return new Vector(x, y); + } + + protected static Size2F CalculateIntermediateSize( + TileMode tileMode, + Size targetSize, + Size destinationSize) + { + var result = tileMode == TileMode.None ? targetSize : destinationSize; + return result.ToSharpDX(); + } + + protected static Matrix3x2 CalculateIntermediateTransform( + TileMode tileMode, + Rect sourceRect, + Rect destinationRect, + Vector scale, + Vector translate, + out SharpDX.RectangleF drawRect) + { + var transform = Matrix.CreateTranslation(-sourceRect.Position) * + Matrix.CreateScale(scale) * + Matrix.CreateTranslation(translate); + Rect dr; + + if (tileMode == TileMode.None) + { + dr = destinationRect; + transform *= Matrix.CreateTranslation(destinationRect.Position); + } + else + { + dr = new Rect(destinationRect.Size); + } + + drawRect = (dr * -transform).ToSharpDX(); + + return transform.ToDirect2D(); + } + + protected static BrushProperties GetBrushProperties(TileBrush brush, Rect destinationRect) + { + var tileMode = brush.TileMode; + + return new BrushProperties + { + Opacity = (float)brush.Opacity, + Transform = brush.TileMode != TileMode.None ? + SharpDX.Matrix3x2.Translation( + (float)destinationRect.X, + (float)destinationRect.Y) : + SharpDX.Matrix3x2.Identity, + }; + } + + protected static BitmapBrushProperties GetBitmapBrushProperties(TileBrush brush) + { + var tileMode = brush.TileMode; + + return new BitmapBrushProperties + { + ExtendModeX = GetExtendModeX(tileMode), + ExtendModeY = GetExtendModeY(tileMode), + }; + } + + protected static ExtendMode GetExtendModeX(TileMode tileMode) + { + return (tileMode & TileMode.FlipX) != 0 ? ExtendMode.Mirror : ExtendMode.Wrap; + } + + protected static ExtendMode GetExtendModeY(TileMode tileMode) + { + return (tileMode & TileMode.FlipY) != 0 ? ExtendMode.Mirror : ExtendMode.Wrap; + } + + public override void Dispose() + { + ((BitmapBrush)PlatformBrush)?.Bitmap.Dispose(); + base.Dispose(); + } + } +} diff --git a/src/Windows/Perspex.Direct2D1/Media/VisualBrushImpl.cs b/src/Windows/Perspex.Direct2D1/Media/VisualBrushImpl.cs index f7e12187f6..2e4622b5c0 100644 --- a/src/Windows/Perspex.Direct2D1/Media/VisualBrushImpl.cs +++ b/src/Windows/Perspex.Direct2D1/Media/VisualBrushImpl.cs @@ -8,7 +8,7 @@ using SharpDX.Direct2D1; namespace Perspex.Direct2D1.Media { - public class VisualBrushImpl : BrushImpl + public class VisualBrushImpl : TileBrushImpl { public VisualBrushImpl( VisualBrush brush, @@ -59,8 +59,8 @@ namespace Perspex.Direct2D1.Media renderer.Render(visual, null, transform, drawRect); var result = new BitmapBrush(brt, brt.Bitmap); - result.ExtendModeX = (brush.TileMode & TileMode.FlipX) != 0 ? ExtendMode.Mirror : ExtendMode.Wrap; - result.ExtendModeY = (brush.TileMode & TileMode.FlipY) != 0 ? ExtendMode.Mirror : ExtendMode.Wrap; + result.ExtendModeX = GetExtendModeX(brush.TileMode); + result.ExtendModeY = GetExtendModeY(brush.TileMode); if (brush.TileMode != TileMode.None) { @@ -72,44 +72,5 @@ namespace Perspex.Direct2D1.Media PlatformBrush = result; } } - - private static Vector CalculateTranslate( - VisualBrush brush, - Rect sourceRect, - Rect destinationRect, - Vector scale) - { - var x = 0.0; - var y = 0.0; - var size = sourceRect.Size * scale; - - switch (brush.AlignmentX) - { - case AlignmentX.Center: - x += (destinationRect.Width - size.Width) / 2; - break; - case AlignmentX.Right: - x += destinationRect.Width - size.Width; - break; - } - - switch (brush.AlignmentY) - { - case AlignmentY.Center: - y += (destinationRect.Height - size.Height) / 2; - break; - case AlignmentY.Bottom: - y += destinationRect.Height - size.Height; - break; - } - - return new Vector(x, y); - } - - public override void Dispose() - { - ((BitmapBrush)PlatformBrush)?.Bitmap.Dispose(); - base.Dispose(); - } } } diff --git a/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj b/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj index 922f67391b..0fa382e99d 100644 --- a/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj +++ b/src/Windows/Perspex.Direct2D1/Perspex.Direct2D1.csproj @@ -82,6 +82,8 @@ + + diff --git a/tests/Perspex.RenderTests/Perspex.Direct2D1.RenderTests.csproj b/tests/Perspex.RenderTests/Perspex.Direct2D1.RenderTests.csproj index 6a8b105dc5..7956643dca 100644 --- a/tests/Perspex.RenderTests/Perspex.Direct2D1.RenderTests.csproj +++ b/tests/Perspex.RenderTests/Perspex.Direct2D1.RenderTests.csproj @@ -75,6 +75,7 @@ + diff --git a/tests/Perspex.RenderTests/TestBase.cs b/tests/Perspex.RenderTests/TestBase.cs index 36a34610a200f517544c38d5debbd1d0f7f58e95..46083fc5b3d9a6a0851f1fb8bcafde739843d352 100644 GIT binary patch delta 19 bcmeyS+@Z2z3&-Rm+#-{BEjGX7;NS!RQn&{> delta 15 WcmeBB`KG*K3&&&uUaL)<9Gn0!bp+@D