From d07c77095dee7e32e3e58a23a276eaf49fdfe2f2 Mon Sep 17 00:00:00 2001 From: Ryan Oldenburg Date: Thu, 11 Feb 2021 14:56:47 -0600 Subject: [PATCH] blend + rotation mat test --- tests/images/rotate0.png | Bin 0 -> 9990 bytes tests/images/rotate180.png | Bin 0 -> 7878 bytes tests/images/rotate270.png | Bin 0 -> 8553 bytes tests/images/rotate360.png | Bin 0 -> 9929 bytes tests/images/rotate90.png | Bin 0 -> 8555 bytes tests/test_images_draw.nim | 51 +++++++++++++++++++++++++++++++++++++ 6 files changed, 51 insertions(+) create mode 100644 tests/images/rotate0.png create mode 100644 tests/images/rotate180.png create mode 100644 tests/images/rotate270.png create mode 100644 tests/images/rotate360.png create mode 100644 tests/images/rotate90.png create mode 100644 tests/test_images_draw.nim diff --git a/tests/images/rotate0.png b/tests/images/rotate0.png new file mode 100644 index 0000000000000000000000000000000000000000..79829074d272fe42e66bff8689972f850715e137 GIT binary patch literal 9990 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 TE$*kt8et>HkJ$Txe98X+{|6wS literal 0 HcmV?d00001 diff --git a/tests/images/rotate180.png b/tests/images/rotate180.png new file mode 100644 index 0000000000000000000000000000000000000000..bfda507c7f1cd403d40445277137456b1bce7e28 GIT binary patch literal 7878 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 literal 0 HcmV?d00001 diff --git a/tests/images/rotate270.png b/tests/images/rotate270.png new file mode 100644 index 0000000000000000000000000000000000000000..8cd7328beacabd346c873a4952f7379a6c3da6f0 GIT binary patch literal 8553 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 literal 0 HcmV?d00001 diff --git a/tests/images/rotate90.png b/tests/images/rotate90.png new file mode 100644 index 0000000000000000000000000000000000000000..4e40c7b79e6584146f336111386345493db71320 GIT binary patch literal 8555 zcmcIp4P1@)9{-(Fr&kq{LQPy#({2pAdZA)r4K>pXVV$tNwH3XNLr=Dkn0dQqS)yDf zJE^?&F|vAg-OKigoU2=2F7Ts%);7|#6|_@W!X^0w2V&|%D1}*ZZ5bpB-P7MXx4W-1*D$b zjv6g1hd_*(Q8ZQJp(?rEU+guqbk9Wdd&be{1&*7)Q_Is2$NVxXL5e!54o)lRQdvDG zSL-v#zs?HBV{!RA=KXRg#n+bN z5BaW-OWd(8;6{#n7l)3;_VL5oB|>evBdyx!+pUXj`ZCvTCniB>?Z8H~qG*Qvu)cNt3&h$t=;G68$T^q74Ah)?n z5{d90M9<)igpn?h-A=0S zp0itN`ONPWH)cfkhYfI+8RL@T?0!Nj94g5?|d2baFS82+#?!I?2406uM=?C z_jWR=#&9%rev_7{BhX_SPgEtYd}T5)j!c|ba1LG+dn+yC&Q{eusFG6&PWNp3CJVk-GZbo6g%D;juA&nDgu9^ug5^hWl zsLC;bT*@E!B3X}>Q0*dez6RjXBsqX(e|p*;l4C0&GQvXA%1}Z5>z7>eM6y0SnTWRq z2j+qH5Ut-ZX)Z?xZt;UpsD9v64{v?z@7+uC86!2Oz{E3aOLpQ)9E)1lhKA2PB+1kf zI{HD~Wp{f6A+6^G8cKdWh|1a8lNARb&3z{9?HMgiG@<2JpsIBZ3rx`qN$@x@q@Aru zJq;IK7{^?++?zL|M5=clZUhBAd-nmbp?~{?dm`&Mif-BqOza}muEJR?;G2JAc6%o3 z{4BhwAaOgUw)z>2^4EEpOHGI6qy{e4h$$PwO(5y6iS#Y3OtxUWO@5u5LBa$_k61+V zzY~BH3OYhPquPx)l@P+9Zp!IifS>5bm)YiBCKG8c?pFs^Spg>MD#dgCiMv?JrDw^> z0HaXvL$BeLc|P1ESldIKiYhldh_P-`+bR4^g5cg&f#FxD1}xl^3$J>;*&*r#1+Xt> zU(N^`Ww{C95RccvDm9sh|xvrv^Ah1Vh|DYi^a@9qFuH=7Mki zx&yZxBRNlrM#h}-*Aya#gW{6C3|t2{09gTLJ-f!5=M71httZWzJmZ9<`!7u zb}gO(EqEg;6`GLXiI!3~cPFbOA^mw1MbcA{HA-I0j@bwZ)o^Dt`Rj-fAZr1WszTOv z0eWP2ZvTq)gGBgO90{0mVF&yxc-=h9((@eB^FvQ2b;e(Lt5-n~sQL|9d*(xZ0Gs~I zOCvGFk))-Nn18<~fYPP58haacR*%F_dx#ONb%p_lBLZ$9X{Y@20f5^gTo}-SABf?j zY#f3)}{)O3c7YKY*e!X5*CGzDTGCw z#6d|$QWm*lyrcqFrStmXN+{IDO)1Hcz}fNEY5O1Tnl*$dE};z_J;J=&)R$WxMb59o0A5;^#0W5fn*h39{TgbJmmZ3jS%opg z?&KWX3~lycXh)J|Ufv6-N*i8nMI!~BhIif$VOHXZ73kJma69oy8KnFQ)S2vrU`WXRrCx56VTl!a2$Awt#DU@>;1I6OouLteO;l~xJgU$>-tNerI?S(UO&?Vmd@ebHd?;J-FMJXE?;K7p?M82cbzja!C;Xq zo$d!5C37EqNjX-ex&u4!B|~RQ;NQt3mn&4~ATh3-?HH-ays8qpBsFdW`O3|h#HO$L ifjC2$&pfp9h`}1mpT?xG8D4<@$Y-ptclH?NivI(b7ar;W literal 0 HcmV?d00001 diff --git a/tests/test_images_draw.nim b/tests/test_images_draw.nim new file mode 100644 index 0000000..5e3f46f --- /dev/null +++ b/tests/test_images_draw.nim @@ -0,0 +1,51 @@ +import chroma, pixie, vmath + +block: + let + a = newImage(1000, 1000) + b = newImage(500, 500) + a.fill(rgba(255, 0, 0, 255)) + b.fill(rgba(0, 255, 0, 255)) + + a.draw(b, translate(vec2(250, 250))) + a.writeFile("tests/images/rotate0.png") + +block: + let + a = newImage(1000, 1000) + b = newImage(500, 500) + a.fill(rgba(255, 0, 0, 255)) + b.fill(rgba(0, 255, 0, 255)) + + a.draw(b, translate(vec2(250, 250)) * rotationMat3(90 * PI / 180)) + a.writeFile("tests/images/rotate90.png") + +block: + let + a = newImage(1000, 1000) + b = newImage(500, 500) + a.fill(rgba(255, 0, 0, 255)) + b.fill(rgba(0, 255, 0, 255)) + + a.draw(b, translate(vec2(250, 250)) * rotationMat3(180 * PI / 180)) + a.writeFile("tests/images/rotate180.png") + +block: + let + a = newImage(1000, 1000) + b = newImage(500, 500) + a.fill(rgba(255, 0, 0, 255)) + b.fill(rgba(0, 255, 0, 255)) + + a.draw(b, translate(vec2(250, 250)) * rotationMat3(270 * PI / 180)) + a.writeFile("tests/images/rotate270.png") + +block: + let + a = newImage(1000, 1000) + b = newImage(500, 500) + a.fill(rgba(255, 0, 0, 255)) + b.fill(rgba(0, 255, 0, 255)) + + a.draw(b, translate(vec2(250, 250)) * rotationMat3(360 * PI / 180)) + a.writeFile("tests/images/rotate360.png")