From 4243a36c242977ebb0b448f6f715c7a5aab966d4 Mon Sep 17 00:00:00 2001 From: Laurent Le Goff Date: Sun, 19 Apr 2015 23:00:53 +0200 Subject: [PATCH] format && add images --- GettingStarted.md | 74 +++++++------ Samples.md | 143 +++++++++++++------------- test_results/TestAndroid.png | Bin 0 -> 4597 bytes test_results/TestBigPicture.png | Bin 0 -> 1883 bytes test_results/TestBubble.png | Bin 0 -> 4317 bytes test_results/TestCurveRectangle.png | Bin 0 -> 9670 bytes test_results/TestDash.png | Bin 0 -> 4835 bytes test_results/TestDrawArc.png | Bin 0 -> 5332 bytes test_results/TestDrawArcNegative.png | Bin 0 -> 6539 bytes test_results/TestDrawCubicCurve.png | Bin 0 -> 8271 bytes test_results/TestDrawImage.png | Bin 0 -> 23445 bytes test_results/TestFillString.png | Bin 0 -> 3267 bytes test_results/TestFillStroke.png | Bin 0 -> 5887 bytes test_results/TestFillStyle.png | Bin 0 -> 10021 bytes test_results/TestGettingStarted.png | Bin 0 -> 603 bytes test_results/TestGopher.png | Bin 0 -> 13826 bytes test_results/TestLineCap.png | Bin 0 -> 2234 bytes test_results/TestLineJoin.png | Bin 0 -> 3710 bytes test_results/TestMultiSegmentCaps.png | Bin 0 -> 2228 bytes test_results/TestPathTransform.png | Bin 0 -> 10413 bytes test_results/TestRectangle.png | Bin 0 -> 2295 bytes test_results/TestRoundRectangle.png | Bin 0 -> 5122 bytes test_results/TestStar.png | Bin 0 -> 12855 bytes test_results/TestTransform.png | Bin 0 -> 6210 bytes 24 files changed, 116 insertions(+), 101 deletions(-) create mode 100644 test_results/TestAndroid.png create mode 100644 test_results/TestBigPicture.png create mode 100644 test_results/TestBubble.png create mode 100644 test_results/TestCurveRectangle.png create mode 100644 test_results/TestDash.png create mode 100644 test_results/TestDrawArc.png create mode 100644 test_results/TestDrawArcNegative.png create mode 100644 test_results/TestDrawCubicCurve.png create mode 100644 test_results/TestDrawImage.png create mode 100644 test_results/TestFillString.png create mode 100644 test_results/TestFillStroke.png create mode 100644 test_results/TestFillStyle.png create mode 100644 test_results/TestGettingStarted.png create mode 100644 test_results/TestGopher.png create mode 100644 test_results/TestLineCap.png create mode 100644 test_results/TestLineJoin.png create mode 100644 test_results/TestMultiSegmentCaps.png create mode 100644 test_results/TestPathTransform.png create mode 100644 test_results/TestRectangle.png create mode 100644 test_results/TestRoundRectangle.png create mode 100644 test_results/TestStar.png create mode 100644 test_results/TestTransform.png diff --git a/GettingStarted.md b/GettingStarted.md index 8d0bc44..c4b636a 100644 --- a/GettingStarted.md +++ b/GettingStarted.md @@ -1,7 +1,7 @@ ## Getting Started -see http://code.google.com/p/draw2d/source/browse/cmd/gettingStarted.go -Writing to a png file +Draw2d Hello World, initialize a graphic context on a image and save it in apng file. + ```go package main @@ -17,40 +17,50 @@ import ( "image/png" ) -func saveToPngFile(filePath string, m image.Image) error { - // Create the file - f, err := os.Create(filePath) - if err != nil { - return err - } - defer f.Close() - // Create Writer from file - b := bufio.NewWriter(f) - // Write the image into the buffer - err = png.Encode(b, m) - if err != nil { - return err - } - err = b.Flush() - if err != nil { - return err - } - return nil -} func main() { - i := image.NewRGBA(image.Rect(0, 0, 200, 200)) - gc := draw2d.NewGraphicContext(i) - gc.MoveTo(10.0, 10.0) - gc.LineTo(100.0, 10.0) - gc.Stroke() - filePath := "TestPath.png" - saveToPngFile(filePath, i) - fmt.Printf("Wrote %s OK.\n", filePath) + // Create a 200x200 RGBA image + img := image.NewRGBA(image.Rect(0, 0, 200, 200)) + // Initialize a graphic context on this image + gc := draw2d.NewGraphicContext(img) + // Create a new path + gc.BeginPath() + // start the path at (10, 10) + gc.MoveTo(10.0, 10.0) + // add a lineto the path to (100.0, 10.0) + gc.LineTo(100.0, 10.0) + // Stroke + gc.Stroke() + // Save image to disk + filePath := "TestGettingStarted.png" + saveToPngFile(filePath, img) + fmt.Printf("Wrote %s OK.\n", filePath) } +// Save image to a file path using PNG format +func saveToPngFile(filePath string, m image.Image) error { + // Create the file + f, err := os.Create(filePath) + if err != nil { + return err + } + defer f.Close() + // Create Writer from file + b := bufio.NewWriter(f) + // Write the image into the buffer + err = png.Encode(b, m) + if err != nil { + return err + } + err = b.Flush() + if err != nil { + return err + } + return nil +} + + ``` -# Where to go next # -Now you are ready to start using the draw2d package. Go to [Samples](Samples.md) or [GettingStartedGUI](GettingStartedGUI.md). +See [Samples](Samples) to go further. diff --git a/Samples.md b/Samples.md index 910e709..7e723fa 100644 --- a/Samples.md +++ b/Samples.md @@ -1,24 +1,15 @@ -# Test results # +### Test results + -You can find samples here generated by these program: -> http://code.google.com/p/draw2d/source/browse/cmd/testdraw2d.go Those samples are largely inspired by this page: > http://cairographics.org/samples/ -Please see the corresponding HTML canvas, Postscript and svg results from [ajstarks](http://groups.google.com/group/golang-nuts/browse_thread/thread/62288215d63e263a/6d1159b2f965289c#6d1159b2f965289c) (for comparison purpose): - * http://draw2d.googlecode.com/hg/resource/image/Tests.html - * http://draw2d.googlecode.com/hg/resource/image/test.js - * http://draw2d.googlecode.com/hg/resource/image/Tests.ps - * http://www.flickr.com/photos/ajstarks/5207943227/ -There's already some bugs please refer to [issue tracking](http://code.google.com/p/draw2d/issues/list) +## Test Rectangle +![test_results/TestRectangle.png](test_results/TestPath.png) - - -## Test Path ## -![http://draw2d.googlecode.com/hg/resource/result/TestPath.png](http://draw2d.googlecode.com/hg/resource/result/TestPath.png) -``` -func TestPath() { +```go +func TestRectangle() { i, gc := initGc(w, h) gc.MoveTo(10.0, 10.0) gc.LineTo(100.0, 10.0) @@ -26,14 +17,14 @@ func TestPath() { gc.LineTo(10.0, 100.0) gc.LineTo(10.0, 10.0) gc.FillStroke() - saveToPngFile("TestPath", i) + saveToPngFile("TestRectangle", i) } ``` +## Test Draw Arc +![test_results/TestDrawArc.png](test_results/TestDrawArc.png) -## Test Draw Arc ## -![http://draw2d.googlecode.com/hg/resource/result/TestDrawArc.png](http://draw2d.googlecode.com/hg/resource/result/TestDrawArc.png) -``` +```go func TestDrawArc() { i, gc := initGc(w, h) // draw an arc @@ -63,9 +54,11 @@ func TestDrawArc() { } ``` -## Test Draw Arc Negative ## -![http://draw2d.googlecode.com/hg/resource/result/TestDrawArcNegative.png](http://draw2d.googlecode.com/hg/resource/result/TestDrawArcNegative.png) -``` +## Test Draw Arc Negative +![test_results/TestDrawArcNegative.png](test_results/TestDrawArcNegative.png) + + +```go func TestDrawArcNegative() { i, gc := initGc(w, h) // draw an arc @@ -95,9 +88,10 @@ func TestDrawArcNegative() { } ``` -## Test Curve Rectangle ## -![http://draw2d.googlecode.com/hg/resource/result/TestCurveRectangle.png](http://draw2d.googlecode.com/hg/resource/result/TestCurveRectangle.png) -``` +## Test Curve Rectangle +![test_results/TestCurveRectangle.png](test_results/TestCurveRectangle.png) + +```go func TestCurveRectangle() { i, gc := initGc(w, h) @@ -154,10 +148,10 @@ func TestCurveRectangle() { } ``` +## Test Draw Cubic Curve +![test_results/TestDrawCubicCurve.png](test_results/TestDrawCubicCurve.png) -## Test Draw Cubic Curve ## -![http://draw2d.googlecode.com/hg/resource/result/TestDrawCubicCurve.png](http://draw2d.googlecode.com/hg/resource/result/TestDrawCubicCurve.png) -``` +```go func TestDrawCubicCurve() { i, gc := initGc(w, h) // draw a cubic curve @@ -186,10 +180,10 @@ func TestDrawCubicCurve() { ``` - ## Test Dash ## -![http://draw2d.googlecode.com/hg/resource/result/TestDash.png](http://draw2d.googlecode.com/hg/resource/result/TestDash.png) -``` +![test_results/TestDash.png](test_results/TestDash.png) + +```go func TestDash() { i, gc := initGc(w, h) gc.SetLineDash([]float{50, 10, 10, 10}, -50.0) @@ -209,8 +203,9 @@ func TestDash() { ``` ## Test Fill Stroke ## -![http://draw2d.googlecode.com/hg/resource/result/TestFillStroke.png](http://draw2d.googlecode.com/hg/resource/result/TestFillStroke.png) -``` +![test_results/TestFillStroke.png](test_results/TestFillStroke.png) + +```go func TestFillStroke() { i, gc := initGc(w, h) gc.MoveTo(128.0, 25.6) @@ -233,9 +228,10 @@ func TestFillStroke() { } ``` -## Test Fill Style ## -![http://draw2d.googlecode.com/hg/resource/result/TestFillStyle.png](http://draw2d.googlecode.com/hg/resource/result/TestFillStyle.png) -``` +## Test Fill Style +![test_results/TestFillStyle.png](test_results/TestFillStyle.png) + +```go func TestFillStyle() { i, gc := initGc(w, h) gc.SetLineWidth(6) @@ -266,9 +262,10 @@ func TestFillStyle() { } ``` -## Test Multi Segment Caps ## -![http://draw2d.googlecode.com/hg/resource/result/TestMultiSegmentCaps.png](http://draw2d.googlecode.com/hg/resource/result/TestMultiSegmentCaps.png) -``` +## Test Multi Segment Caps +![test_results/TestMultiSegmentCaps.png](test_results/TestMultiSegmentCaps.png) + +```go func TestMultiSegmentCaps() { i, gc := initGc(w, h) gc.MoveTo(50.0, 75.0) @@ -287,9 +284,10 @@ func TestMultiSegmentCaps() { } ``` -## Test Round Rectangle ## -![http://draw2d.googlecode.com/hg/resource/result/TestRoundRectangle.png](http://draw2d.googlecode.com/hg/resource/result/TestRoundRectangle.png) -``` +## Test Round Rectangle +![test_results/TestRoundRectangle.png](test_results/TestRoundRectangle.png) + +```go func TestRoundRectangle() { i, gc := initGc(w, h) /* a custom shape that could be wrapped in a function */ @@ -316,9 +314,10 @@ func TestRoundRectangle() { } ``` -## Test Line Cap ## -![http://draw2d.googlecode.com/hg/resource/result/TestLineCap.png](http://draw2d.googlecode.com/hg/resource/result/TestLineCap.png) -``` +## Test Line Cap +![test_results/TestLineCap.png](test_results/TestLineCap.png) + +```go func TestLineCap() { i, gc := initGc(w, h) gc.SetLineWidth(30.0) @@ -349,9 +348,10 @@ func TestLineCap() { } ``` -## Test Line Join ## -![http://draw2d.googlecode.com/hg/resource/result/TestLineJoin.png](http://draw2d.googlecode.com/hg/resource/result/TestLineJoin.png) -``` +## Test Line Join +![test_results/TestLineJoin.png](test_results/TestLineJoin.png) + +```go func TestLineJoin() { i, gc := initGc(w, h) gc.SetLineWidth(40.96) @@ -376,9 +376,10 @@ func TestLineJoin() { } ``` -## Test Bubble ## -![http://draw2d.googlecode.com/hg/resource/result/TestBubble.png](http://draw2d.googlecode.com/hg/resource/result/TestBubble.png) -``` +## Test Bubble +![test_results/TestBubble.png](test_results/TestBubble.png) + +```go func TestBubble() { i, gc := initGc(w, h) gc.BeginPath(); @@ -394,9 +395,10 @@ func TestBubble() { } ``` -## Test Star ## -![http://draw2d.googlecode.com/hg/resource/result/TestStar.png](http://draw2d.googlecode.com/hg/resource/result/TestStar.png) -``` +## Test Star +![test_results/TestStar.png](test_results/TestStar.png) + +```go func TestStar() { i, gc := initGc(w, h) for i := 0.0 ; i < 360; i = i + 10 {// Go from 0 to 360 degrees in 10 degree steps @@ -413,10 +415,10 @@ func TestStar() { } ``` -## Test Transform ## -![http://draw2d.googlecode.com/hg/resource/result/TestTransform.png](http://draw2d.googlecode.com/hg/resource/result/TestTransform.png) -``` +## Test Transform +![test_results/TestTransform.png](test_results/TestTransform.png) +```go func TestTransform() { i, gc := initGc(800, 600) @@ -472,10 +474,10 @@ func TestTransform() { } ``` -## Test Path Transform ## -![http://draw2d.googlecode.com/hg/resource/result/TestPathTransform.png](http://draw2d.googlecode.com/hg/resource/result/TestPathTransform.png) -``` +## Test Path Transform +![test_results/TestPathTransform.png](test_results/TestPathTransform.png) +```go func TestPathTransform() { i, gc := initGc(800, 600) gc.SetLineWidth(20) @@ -486,10 +488,10 @@ func TestPathTransform() { } ``` -## Test Android ## -![http://draw2d.googlecode.com/hg/resource/result/TestAndroid.png](http://draw2d.googlecode.com/hg/resource/result/TestAndroid.png) -``` +## Test Android +![test_results/TestAndroid.png](test_results/TestAndroid.png) +```go func android(gc *draw2d.GraphicContext, x, y float) { gc.SetLineCap(draw2d.RoundCap) gc.SetLineWidth(5) @@ -518,10 +520,11 @@ func android(gc *draw2d.GraphicContext, x, y float) { gc.FillStroke() } ``` -## Test Gopher ## -![http://draw2d.googlecode.com/hg/resource/result/TestGopher.png](http://draw2d.googlecode.com/hg/resource/result/TestGopher.png) -``` +## Test Gopher +![test_results/TestGopher.png](test_results/TestGopher.png) + +```go func gordon(gc *draw2d.GraphicContext, x, y, w, h float) { h23 := (h * 2) / 3 @@ -587,9 +590,11 @@ func gordon(gc *draw2d.GraphicContext, x, y, w, h float) { } ``` -## Test Fill String ## -![http://draw2d.googlecode.com/hg/resource/result/TestFillString.png](http://draw2d.googlecode.com/hg/resource/result/TestFillString.png) -``` + +## Test Fill String +![test_results/TestFillString.png](test_results/TestFillString.png) + +```go func TestFillString() { i, gc := initGc(100, 100) draw2d.RoundRect(gc, 5, 5, 95, 95, 10, 10) diff --git a/test_results/TestAndroid.png b/test_results/TestAndroid.png new file mode 100644 index 0000000000000000000000000000000000000000..ffa068bbfaf0c68fe2479eb60bdc3d73cf820cb4 GIT binary patch literal 4597 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 U>jIUYf9KGc8d@4OLOf9a0kFr%o&W#< literal 0 HcmV?d00001 diff --git a/test_results/TestBigPicture.png b/test_results/TestBigPicture.png new file mode 100644 index 0000000000000000000000000000000000000000..791a9dfc6db2e5c020768350f908b950ab22b591 GIT binary patch literal 1883 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&t&wwUqN(1_pK|PZ!6KiaBqt8VWKf@EmaH zJG}p?(qiX-qA90m&t!Huf0vITp`DSzMUuf`$|yA&1f!{7G$V|b1*65`h^P^+@G~&{ Z|KC{4&T#3s3aA=o@O1TaS?83{1OT+@O>zJL literal 0 HcmV?d00001 diff --git a/test_results/TestBubble.png b/test_results/TestBubble.png new file mode 100644 index 0000000000000000000000000000000000000000..29fff3fe60e616bf3d02df4794785d135c5bfdce GIT binary patch literal 4317 zcmeHJ`&*Mo7M?^9C>2Ck(W+pfmbyiy;ulaZK|!fS#o`5&KvGdIfeZi(gwRP?xw zi$?fPJAv-WPitMTK93d#a?wf6aGCMV8v0bEIkSK8HQQ^}d{I^-vD{gw4UYopM;j= z??O7ylTO~VboS~XKQV!egQIDqPC+=3_PpMPKTIpR6NmC8KzCC3gQcVe@919mJ9=)20TXJ6R);{AjF}wl>*x$Vr*p;|xf<^AeE#5bqVCZYEhjkGiI&-^&(BjsTJY z=k^}{bvUm4xg)F92E;^}#gbAv@_gx13 zqv|hZaYWVKzRUL*WvS_Rbp;D(A7PLkFdB49?eXQiI*PtJI6>_JPWziK1Y3@&*44Tm z+bMs;j*O}d&T#>fyES(;)6D3S_>-67`q%-EJ2oz5T$)u;c8v9Qi_S+{WSTN8F~Dl6 zI8gV7sFL(uw()O3dvH~2?SX~*l#&5ILVY2g@9+b`V4Mnq3}jhAmMge0*IPfo+|rq@ z_SmVfT0~7tIN=Q3W`1Py)^WqG)3*-K7sq261oz}%jo)vV$uhqj2e36RO7#GJX>loT z&{g1uQd~gdoQN5HCEi1F3W{E^4{Q}x`sNgoBJZ|ktCxY3V->fC@Hq|xanPMB*6rD1 z*4P<+w>fy5AmPkOQ_`^KRq%2pa1|O=`$~QHls~dpZw<_Ig zx57rv)(8BG+B2l&o=Ph?XbZWg z3xY7f9v2Ss9&X3p|6=n!-LPTnoY_FSWlEZEngwj=Yd&Y)k~J#;-x{RKb^r z&xhkjlyb7hdOX05`_*RmC^j5D4F3)vLY6O9VnAWm5kz?<{)8>}AzF^(B3R%!`VLq1 zan>`%?xRl~Al^}0J`%k|W($hP=OA8CPSJ{2p5sFhm3k-!!`~$pu*)#Ke6>eJJ&|AM z{+`!}evjVz29*EnHl=;%D_P%V?`ui@#spTpj_6}8AxXL4HmYq}|20Z`4P3&maIzA2 zdQVVovvvhMq@R#akb@s*tJc9lAHv56g&~ z(K6SN;{$R^3-m?#y$x*-Q4Ukyl>HrR{wxA~o(RaYXcfwQYp2{=LD!fC(u`!DyX~0Q z{G8{fcZvxg0rY$n;@&dW!Jr?L9&s$7=bM#eL1{5BO<-GU=I$@l_OAKG6?k8aAe-wq zW!eX}qivLSU-=QJRWul{>S0EUJFcT&b+s&7KX8*6!Y<^mptN_Ih~f^I!f9xuzB=HX zDp;WvjjI1<&a9!ocx!$qqvi>nCt%W)n6-G)5fsL#K};qcX-?hD(dltj+q5@uLmI1Y z<&x>O=rf8@8rhhAjK!(r1$(7y^WoSNZ_DzW837_xk5 zn|ue<-xx|Eyo_CDM{K#FT(o~ZsE1w$BSwv@v2kSUf8wiZSKTSQmQ$z%R)ba zxVFqH)zMnHh~2tsda!^CNE_GsE zdxOF3r8MpU_q9hy)-ocb8KqT?!+hmZ-WIt2?z4%}LFL-))md~1K}n{yRG)~1m= zknvshp%(3EO_ZvRNz0^o0+KjClQmu6y27-q)5J95ALUK}K+_sA58`l`}YW z4lss9O@GXfwCIX{n20n}DYAJx#%)pWJ6;Q#i__7njTq9Uj++#7AFr9rNncoQAPCvg z_rX(Nz-;%`+LOq?DG=uz0DW!(Hp|?hu(xnw@B74eqr}wB)hS+pgE2)E8f;ch#r z)VZ%+4EW2&3ytvY{a(hPq$$fplE#w3s#Y6Z3Mz13It>3CMWn*iPlx+06VRwIkBAV3 zlT^W8x?I@thaKbR(`2NipFpH#BC!J*cX&?*GQO&zck>FJrA|Qdl?fYUEe;N9ULxp4 zl}%l!Z^D~7ybkK C*vfwZ literal 0 HcmV?d00001 diff --git a/test_results/TestCurveRectangle.png b/test_results/TestCurveRectangle.png new file mode 100644 index 0000000000000000000000000000000000000000..2220ee7fda2fe06699a637cc71f60d53c0884a1a GIT binary patch literal 9670 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 literal 0 HcmV?d00001 diff --git a/test_results/TestDrawCubicCurve.png b/test_results/TestDrawCubicCurve.png new file mode 100644 index 0000000000000000000000000000000000000000..7cff37136a05b0293508720914b40d3925125347 GIT binary patch literal 8271 zcmeHN`6HBT-@gVYI;Wb-Nu7k$5rrrTS!P75>}&RuGuc8J3^HaqPP9_lvW`wk_NBxa z3~kDuZA4>~WiT`}3x=8dy)*Coynn&-{Pg_fa^Iit=ll77?rU>hZrWI#+W7O%p8)_H z&zv^513&_9N&uO4@DFZep8$Z}a%ap<9U`-5>FZPebdFM*cQY=&*n8*qKP8XfiI8*q zuI-}ijYe+{-7OO*DdV%@FZA&X`l@fP?YgrOG4>|WS|&o~;R$b(H0YIbwoefEQl#r_#4o!lS$Abptn_5$Fd{$3oOYVcG1xmT^-dVL0a#I4TJC+NJ z18MHqw-q(W-Nz8b#%CmKXOw?`(Jzz6w#EIuCqzCBgrIc z=rv}CB-n5dpu04NAX0XH{;KT?zoxv?aAmR>WWqcCQcP}S6lsWNSdBQ9nBx2-v5zw z3z+gu5JFL2!ElJT6sV(}5Wi`L<($}LM z$AiudMG)h?5kOnZfUt{bSeaIcBFIyPVLDA>7+n_l4Qq>)g|*24J}2)amYldAya+iB zhoCxPf)*(-r1wS~lCuT)wW)E}#Q2f)P7LWB5JD#>5nyN!=+50T4Rx(7{Oh+FNbfKb zbi*Aq?d}CJ^FZX@C*hBW#J%N=1SpmNC?>Xmwa{f2*N9!a~a_Nhy%_@|@UKqtn3KzpYkGbpm+X zsy|w56ZH(zs_eu*G_MC5!PmtF{v!)qKL0GvV7?Dj5ro4!-o0xQKsXrw$xnQ?z?)$i*Yu#U*TphYQwJoXb`Q9NGSCO~U4Dpvh>9m_7LZkb=`g*#qrYQeaYkP6TDTCv{Z&JdIVR8IX@n ze_(fo2bNLWcszGfTX0{vD=c;w+l z$*);Zdd>dE)GgUYQp%Cj{2y;P<>w8G?&t(}$5ZjLNZ;m^Ubb0BVjR zE+$QV+CqHV4lcj=I1Q!SFKcy$N0k|d;*Zd-7vc<|>)ENSnoztZEeY%KfK@n&Af}!K zqkgZc@TB5S>f|Lm%*Bv$0_h+&SOn%eMW`c zn8TWJP?#>C9_wPgkwsnUGFFQHrdeae9+pOSLWWf)prZXDViaLE1s5_=jBPkb+bftC z7%!5qvhiFqr}9|tnBJwOg)zP0)puIKgO__Ht>Nh>ZHq66>>d?B@>ro&8MTX-;GZ$O z>gy4)NS}Ur^Cn5yhF|fVZ!~1D@{ALZr1_>~xC+d1Fls7fL+ON&@^k(95g`^i9(8(Q z(oYL|TiA8#mNeFMZed}9@GTujUA?ui;1x6a3p~Wzh@dG>FbrwYK6+)bB*}^caWwg& zm_Ab3=Nk6=7K7hP>-dc;xuR=^?3e}XeX2DNVSSQ1VAsbM5!5vyc8QG||TSQgnP%bOQp;{qR12Lv!%&y^K534Ab%89e z=eay?nbqi{2zFqq{|Et(A2ni`AEKDh(6V(OGT(zTGSF;Q(!RA`g(h!L*e9@1+wZ(# zHnWgrS6$^*e0E9Gbaa2A>z~iKb4mWVy+;%8=F>=#7lwK&!oHh1mp6Wia;u3|Mv0b( zbZPD%zp*5^SvtTWnj(V8WRsMlZT#rzt7H=cdkQ6{^n*jrAvIpJ!`!NcjM^W0B|k^T zsB0ZIM9$C1TAlW(mgaDi_NjIWxXIBRXO~V8_9OvI)brd!89Y2WoR7P;iS;X8*wiv2*~-%*aB~sAziy5 zT45TSr1oT%&oQ7L3sqHyBP~?&arKMR>W!_TDYZ`9r;ySP?ZW4;I(B^098E} z4ZA~!!wF$4*B$6Xi%QJ8qBh!0^;W6YY_z}W>Xo9uT8*$YX}?M3zybHwH+SVx53<*T zlSF`46+(xNT%(0v?Y#E~3DN%YDHc)$1IOgm$0hCSQ!uyNGS}7Ut^9R;5^<}FMtGN| zsb%=brIHPYI#FX1+Gq*%Wd$x|eYSsE)Wc#=o_;xt*6QTdx;sZK9D8l^a*>G@Mm<;E zo++)?iiy+G|5nSS73nBut<>BEw`IXUf#r}_Vqcr?qV?=o)wDMDNJdd(G?~s0_4u9n z&3$`EAN{WN!6QhU?5bdo=*cuq>oz6N+<08E&u)Fh?z#a1G{HDS{YxOUW zN;05Hhtlqvttrm|CgMv7)1%_=t` zhj{}zhD!I7xFl`%&1hkFCY_?BlhZ?*=t`WMpJ>}J3RNOj-RrbAWVB-PrLqryfpo}< zsFl&X37hg2c6mdpq4K}kOyf04#=3pNOQmYiO%Nwc@FM%!@A=#i~6*UGbnPu@lmH!k-=sjQOb zOM5n_g3bNyJV=%&D6(KTuB21L=SP=Se%+OsYlX`8ySgk4O-294UAf5C3;U#Q0f{J| ztX*A{@?u>OjpyVNn%lMD;t&_ii`O~)_Icu8X8(BMex?V#yY+dPsf~2gKCB`oOd%?yr zwW;Z~dug0dyuQH%<5p z0(8xG)J-K;)VD(F&T{s`)`L3&yZ1fv@M=~G`zbwzK52m9GU~`7b;-q`c8)DBES)K9H zy%8icOJde(bZAVwZDnv?23Zsba1z?KPeD{I8p<*eeYMnGcL54*&`%(`ju|yI7Zx@! zP+?QfCbc-WirMgS?-Q)6;Qc8flT`P|>wY)qa+9i=&w|QI?(@KbCxL8Ad5mk~ISa$l zcd;R-&=cBFL!s*f{xt??@At&X_40b1D_?sc>gvc5C1e7BcrCqgczdPQ z(csmjAS=tL`vVfGdK@!}6;|kNb|DLP0#EGfLI^5IC|E4}P2Mmd347e6C!>UB(M8@B zpB6h+fSsFTzLc`>EQ?X5VRw=Sue2YU=JHrfyqSTJTKqHS#BcNJ)buX?75PH<9M*n# zB=D)In8=wy$KnxAF1&Y0Wm}%xwSymzP;HJpN;A zfG@@u(@NGmc&`6^YEDP)rALsL6Gt6awZbyFB+p5GuCCP?Zn^1=HS}YM7|d>zxG?1m z2GdxdCSFWB%k8*)pa!iOND3(lzF%idV`77*d->)zJKtjzM4?CXr?*y3gha1MAiOUM zp&quDv;XQdEw}f_V;>YX@%#S>k=cBTDuMoV%{?V>=Jwc_f0sn>L`#`#s%LG`@NB`v zrZ5b%e|4v>9B1Bv{@3Eh+j!ga?iYiSzffQI_V%JO9;zizV!SKzF#zE*B8d9Udpf8w zzda>AFbAnoQRjZ1&#kx2x`@&|MN+aHK!uz-e?P>zXx)MB{j&lnyn0Ba8Z^Z1ygB2^ z1yUc`;h@#h#>DxcCPgEGcwO!eNe5|DuT7%}>OIs=m+1|fjvQH}|AhR`70AuGv`(1c zqOf?sAY>>E!`4F*Z3o!EhQF-U7LJwYfVZsBhRUwtm)WU~zqWN?T2*2-g`4D8AcM;u zR~HsqyrN&t^sm5wWNYF-odqWcb~{PbtJ0oh=Yo6`^Ol4T*QFEr;|@9B2`3F1M~0y; z>U<#<-bTK<{W6Gh!Lsyd>I~0pTEHr0Avd?@rAZw8CD+LJSbkhkyJU(15jhb(;eGVV zcq%oCkj2unuP!6ForR!>u5%;5)C3C$;l*r3I9fcw@9Vix1Aw>6&hZA&8a|=5ilz}>-B-US+FuWJ=98y+aZ7FuI(gbOUtImZGuXZ{CwODLSw1Dv95K_DNTr)wF_5n|? z`x5D1^sT|`TN7>i)(uR8h*DU`ShY?vI(&4%2uwkef9t{ zHRM1y$Ec{`EHu)MMI;B!o1Y5}Lvu();L7;>M$gz5AD`i@*lN~~v=@O|>*gkGqrORO zcoqkoh??)o2oU_#hF)GFI2Oh4WuzR-o+sIM-b%3-IVV zY1{*cFY1UQo}bWY;uRkI?qSusUl1xcCM=}5DW`90RT__uF8Ve`I3gr~%pKQ(&8|jl zw7|JsQ3-kudwMaI@+B3X7xlwU4x!Yj_gJ?aJbIQm9*qNw_Tf5tRhPd1*<0QXN$1_P zT@OwOS<;(U-+9Q&Dh2Sz_i(`T*0WL20otNnxGUb0aP+wk=9EXoD&{vvaFEZMWao0x>Cz8>p>DTJwmX(>QY+{WY3I!x`Mlf4>ip`- zvMO#cIi_-Z(5A4Cv!4}AAha&Qx(ZhO|WNGDu z7VOJl;ZmJz5MhjC(Jp!9fUnd@auI^u<5{asi_Z<3jce6iWuNQc5^eAmn(L!qX1HVC zFRU-Dvl|tqQ7wLG>Wgnc+%9AfUTI$9a(^N14>HitV3ig3n4^NcV54m<<6KJ&tk#HbJ;jic@AVQ zv>B>q1-SxH8UB3!93wTy0ncbmD)33d3zPMN1fAzuG-&ks;%ClmgS~x{Mpsv-WK0xP zf6$cD>al2*TUZdWa>3)kTwK){WanHCAAuBSex9|3{Wt|){Zrt#A>P{T+vLN;wZ8NJTCjLZR1r(Ry+FSLXV zUd9$;k%~sV0$JIlhM1VuL$5z~%B2hoMYd(uPcx35?E2B4|DM3E+pS=X>|XlZxlulN z`Lllke)6qbO`}G2olWQHu1+4xUe`M^xU9{N8X>waLIDdGCq$lKwzR(B!_Z)UL2k62 zaP~PVwJ0a({1P+KG?=jq)0|t?iC+J^>ST0m(ZH@Lb=V8n%2|n~EgLytW1?lTGgaHs zaM<~2fNrB|{!AK~!Q!N)RxhJcSt^A?)9H@VsLUc$YV(ir`cvCsuxr{UJ&NcW^eF2~ zwj+v}&ADiD(3lVF}Ww+lbps8LBNf8C*G$P3-~)r0Jr%gT0l!#3=u<$Kfz z<4PbT`j?Z@Doy$0Ijb4Ve$ck%sR$9_RD(&*(*o$l%d3mIa-K6w4w@4b{A5=s*E1pw za~NvOK=~HWF11BNnEs}y=Q6LI;G>(b_0LgQkt`4L7_Kg6Ys!GM1Ppc?S_h-Jn?2w7 z02j&ZAXFVqb1JQS7R&#{F7v?Azt(hE`m@jBi;-Cd+DI4G+}dE#&Bp%1RDaX3%7?bf*Ljo-qH}1}_Tv1JVyOqzCm! zJ9h5)@i1|lEJ(azgv^5@<((XWjPbvkYOgva;px3Qe%p3%%Z~#D5O@)IVjXeso{qKW zPq)c~8wE#j;|wLAdA`WRv<=iOo+8_KQ2wgh_(M{Uic)| zetjO1=MpSVY5^WrXHO#FrEcm0(Dpemmac;EPQ-}0)1`>(9-FMC(UJijcfPM>H{K17 z9O_x4;1WRv@qUij4Q2_42(dNMK zV+C_9w+bRp;dS;JM}idb=!S4bH2et_w}PP~FT~)}V5%uk4Aw>D*~f{&EmFiy8^gq4 zSx~24AqJlVQ+8A_SQ?SHU0|@5TS*2OchlAo0yLPq-zY9tS^|yaMXzzhZUNDy>Eg0( zf^HvUaaq<MM{|+{wDPnLI z&{mrhgMB5Mh%dxo(t04-C$<#74{R8Gzya`CKnEfB6E{k1(T@1HlZb$7OG_mhY%pw& zvfm$yc^~wCtoDWyP4_emklm-nUd8);j3SUf`{s(ASjUE61 literal 0 HcmV?d00001 diff --git a/test_results/TestDrawImage.png b/test_results/TestDrawImage.png new file mode 100644 index 0000000000000000000000000000000000000000..c1b377dacf0a99a82aeb03bccca753cf1d2c5ff9 GIT binary patch literal 23445 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 z zL^leKVKhr8i5qY5)~26PF{lUn>--)wPHwUdkcOmC;}e!S}xe0>5P6?|H4T)V*TiGS`pgYhY%L;B^?a!GvTVJro!4AJ^;LnGrLply_a}jM{--kh; zYkHp46#ge?pB2Th(vZWFcPsAC$ICy@#@!lNIU77wyWD6M0px^N6bUx#mDBeK7NlBc z*RGY4qt9fne8nY@d_68j@tQurp6Et%GgR@6l)>2sy4J;$9Iel^DeTK!U)VA=!>BJ~ z76d9yke8wG;!F?HXq=#gN1KkHvHst%X8jZAYV&nm(=l_rMKE1+72E9fRv z$WqeeS|VHafKz0v^dZq=SmAL7wn1=GM|(@=ZSi_uZLPwoZmYnKywJnld}kk2yyOb3 zB{4+9W~ov^jVm{a7e}$yCI$NYH-kXj+wt^z^ zlkWr_)_yCB5z{BomJbxo(*920;ku{Fis^e1>!RE^4sLy{0?d{5)_z6=B-c>t#w5@0 zrdaekfOR%a?XkJQg_M<4$jC}XrU0D!x@{~G+}QCQ$LG*%3tg4%v&CBE1=0{be4Is? zCNCZQ<5`|HL$v~q^x$i%{F$b@nXy*Nhbjv)i9;Yz<33IfOlto5iC|;4>+-u4_C{D1 zG&FxIlLd3VF?{;;OIDRDcI|WyZU2ztJ~IdG?%zV^^yiUpl@MbP_Vg^TKdD+QpE5i8 z)3iy3J@d*NC9dya{QR`2daGc9m!0f-!n?%}1VjnzI%dvsyx61ab7BJZwo2UOp9MOA zKi*V){pEtvs9Q&3#?ea@Drch!SXDH?u0538m(7l}EzF`tqm2?KuYuF`?|nmNm)vC+ z_5M*Z#9Y?H?5>@(`ObgYEgz7bAx`+5%|CogPkE06McbIUPZdbWuAEYGRG%3HO~;RHZ6tn6-yZxto4^ChE;EX@mbEgF^@0_j4QruKpYHAHB~2 literal 0 HcmV?d00001 diff --git a/test_results/TestFillStyle.png b/test_results/TestFillStyle.png new file mode 100644 index 0000000000000000000000000000000000000000..ad23dda9f4464a266c489428367bba9b87734c5f GIT binary patch literal 10021 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 literal 0 HcmV?d00001 diff --git a/test_results/TestGettingStarted.png b/test_results/TestGettingStarted.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c532af63e05b4a49b375793301ee23fc89cfd4 GIT binary patch literal 603 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k4M?tyST~P>fl0~J#WAE}&YP=-Tnzy{td4^G z^A<;UwQ_TPnmyCXb=K3j(jPn&1X!3HQHh5Yh1T`92hXmlYv^WWd?3w@t^iH_C>J9L hhd_{=1E!Pz|1TRcP0SKfKLq43c)I$ztaD0e0su^7Qyl;R literal 0 HcmV?d00001 diff --git a/test_results/TestGopher.png b/test_results/TestGopher.png new file mode 100644 index 0000000000000000000000000000000000000000..aac6491b7073390c632c0ff3c1b5e02ae2d6a26d GIT binary patch literal 13826 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

WTzvbx}+k*el`VlTGvm!MmLL6d&#ZmpVU<4s&Z( zq{L*5zQp~1&f>s|P;v#XdCE+r%l#5+#~L$i=P?^}`t%S^btXHO#ui<<{k!8>2s5;Q wB?KD3U$*sQxM+Sz4fn7MJiNnv`0)Oopgpd}+YOTm{cqO?IVojum4tENf9P=mCIA2c literal 0 HcmV?d00001 diff --git a/test_results/TestLineCap.png b/test_results/TestLineCap.png new file mode 100644 index 0000000000000000000000000000000000000000..0474d9172ff5d5cf31d460383c6ab96e73f25e8c GIT binary patch literal 2234 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&zE~)R&4YzZe)e8a-VcLn`LHxp9z_$xwnV zaASkXWTh?t+ZNquNa3$Ov4`FMP3FVhyp?tg4Kj=j430n(nphYZSU7=tg%}tFR2Uc( zJQx@pCNMBGC=3||%UKTG+WTE1`|Qu%*T4ThWuF)Qeg5CKe;IE30sWQGJf!?GJYr;I z`GSE#q=IoMWtfo_Jwv>78;z_XR27Zj$a*2n!0`Y7=e&%FMS&URz%~hkr>mdKI;Vst E0P6Yj+W-In literal 0 HcmV?d00001 diff --git a/test_results/TestLineJoin.png b/test_results/TestLineJoin.png new file mode 100644 index 0000000000000000000000000000000000000000..f6605e56a636070acee339aeb59515891198cf09 GIT binary patch literal 3710 zcmeH~dsGuw9>?#5YzPBL4~SG3Caa}I z5a7CAfVahu~Z-}LMmbI-aDS2{kPltr~hQ~o!{f$ znfZS1ojD)4&u95k>!kpI<$L#d1p&Z9e_4R@20F~9_PhY#Ey-T5KL)23f8VdoiVuHG z846pM*)P4}y}9C4=^NhXO8rN9M{j&}db#zaB<|4DjZZW4LQ6T(hsM3k%BIdne$bg5 zT2g(pxi^x$*0m(v!9VFvO5dCA!$&*SmcYUX0MB&<0DoZvz+MS}#hzbxLIo!mL9pTa zGY@j+7@efi+L#J~?p#9re0K`mW$di^>A6|D2N=nV)Z4Rw>e3KCjL6EBS`Lt(Q*Nhi z0kB?u(j)=E+3AH*0YF9k6@wK40`JD-RN0r|?NT<-U5&LNxd6CE9LA~dAF0PVGiMJl zK~V@3%>9Dty5tBh%=~Nz>MakOU_=bAio)S_N?iG|BMv%HsI>)!M{VJu_MSYP%=yL1 zV(L74N-?JP9jG>mB0DSz;EbdPk|!xL2g%?V(-?~CKBUM_BnR&syVB6eMSSS8j|~#* zFB@Q@M*P-{0G*r)qM+-*B5Ykuk&kf+kbG%7oq=W?@*krW3cF3{rI`Rk^I!n#w6)79 z-M|82R}AD%E~u>yZMIRBJAo|=GR=I$f-y&Yh87JEO`SSW66bCXZNSXmf4VfR-M1*t z$eFzh>+(smlcp=#b}CG?RS zmW+HT^ww?EOO-s_;jwp?yqnVUHnEgq@SW0vD9<4scjI<9C;3EqF4--@k^8fm@^DH! z&c!vOIZF8>O6%r?BcHx&%ZgnCpJs9#XdtLQ%{^Hog>^^{j7^SdSwQ8#l0m+O_CcDfTp* zo=umxT@{YFCzfbt>Q^+JNzmkOY3kGrq}^_rzuh+6u#lE9os=V&Cd^kYlP-)u8HTr8 zCV{T>oy85RQ9C%DFkkZU8*Mn*byfP~nf&xm{IupXcWvYo&3s~ulAOfz->Mf7TK6gu zU1d8GYNuZTtg@ZxZ3vV`+1J>-5B^z!eX7dq#_sn#e2cNYZ|rJJ$j#T?Fh`@_OVm|!r3oqTNlqMhGKdKm5 zeBMLKz1P6#=N#j`6lukb2jP&HFH})RE44Q=EThesw{|Y z?b?D}*dGCi2p=WscnrJknoA5@@GjjJk5NeN_UAr`F)6|s6zci5sxhNgIfFv1&_~BX zC|F}#YqEKS5Wy6IJEW}M#PUXiUdDq4i*~b>?zCi@5q%<7EDx52;347MP2R?b=if@c+077)bkfOJ8T}{3YL- zB-%q-HQQW$GN&klNJ_U)pY1sI=Ohgoe0mLV>$pD5?lJufDi93^v}5U!hOtyr5hyVc z1w%#L+J6}Tss#EKI;T!<;zZxzymgf6PhPs*0LliuV|@hu2WUmhWH2brV=yoiF&JdU zT4M}Wb+};+QqY}1EB|0r1~zx%xqQ6h>sEyba85$q4-6ygqHs>r+eh%B*a>&D*v8c5 zz3Ls~B`6Ce$k~AuS&W=5XffuVLe9RSglO>raY&L#-c&+&Br95sT{wDB37e2?R2WJi zx^!1ZdJ@4hve{e@r=JZCPia=b!G(`djhJ-6_3<*I$Fk8n)3R7f-%|M&%A#;>$M4+Rw0chdeZoKmC%{i_nIn_R-liEcj>4o6FBvS`+oi``81X zwcpvQ=1^FI0FiypiF2XbHZx{FKF5heo51&si0Opt$grAM;xkzvN?l&1Os1U zm8~ov2^>)s^>b_cjaKzc&A}>8*h!Nj0(aw4L!7WQlcJdsoz2_}PITK#(Obp6u$^wJ zVj@HJ+zUJCwt6fIC_nB654z2d5uHisAbxfmUyuLf2{sSjTZ<C8APD$%uVb&`mF{(q-~3km`WC*vg}?2)>Qy*M1%C$sgw9~c VvRzI6PtbQI*eluRRlQqw_P?dYpaB2? literal 0 HcmV?d00001 diff --git a/test_results/TestMultiSegmentCaps.png b/test_results/TestMultiSegmentCaps.png new file mode 100644 index 0000000000000000000000000000000000000000..1ac6698a528b77e32ae1f27fe941006ac14cd153 GIT binary patch literal 2228 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&zE~)R&4YzZe)esy$sCLn`LHxpA@6RZ)cH z;NI?^%inlAStf+L8q7cY=RYHZB~Vin3j+fSCs4T%1A~AH1A~GG1B1f^28IR&Mg|7Q z;in+#GBe+;%ghy*%xxJSu<;Lw=Yb*I$WGOuAN3VggA*w)P(QAa3?I%JZPc41s$3n7 l?$PK5wHE4t&4&N~+0U>uCWh@61GYvOJYD@<);T3K0RT3$>7D=p literal 0 HcmV?d00001 diff --git a/test_results/TestPathTransform.png b/test_results/TestPathTransform.png new file mode 100644 index 0000000000000000000000000000000000000000..45bf578c54a5f2f93592b2aff6e294fb91492b58 GIT binary patch literal 10413 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 literal 0 HcmV?d00001 diff --git a/test_results/TestRoundRectangle.png b/test_results/TestRoundRectangle.png new file mode 100644 index 0000000000000000000000000000000000000000..9b5ef129666cbd2d1c684820b84059e92fe8d602 GIT binary patch literal 5122 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 FJ^i^GljJ;k()~~OsmbP1 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 GH~#`J+RSVK literal 0 HcmV?d00001