From 5c88cf908614ccdf1b8d56ffbb3392f571e2bb7d Mon Sep 17 00:00:00 2001 From: Sofia Date: Fri, 12 Sep 2025 20:34:10 +0300 Subject: [PATCH] Add cat to sheep.qoi and render it --- images/sheep.qoi | Bin 446 -> 1077 bytes images/sheep.xcf | Bin 5562 -> 5102 bytes src/qoi.rs | 10 ++++++---- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/images/sheep.qoi b/images/sheep.qoi index ea32e1226ddc216fdb6cb57d983765af1a9bb235..ad150929b61099cd561e8c08b0953a2e2bb2006c 100644 GIT binary patch literal 1077 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 literal 5562 zcmdT{Pj4GV6raSc9oxhyrmobgMO!z>=^xu`w~#b-95pRem8cr^k0??uTYK%Suy>8U zDQ*vVj))Ty65_-GA&%TQAR((CfD?QH_y&A~<@a`H?XhDg8&f1Y(QkflXWqPh@6Ehf zr*1S`O1Dx|o~eZbL;G8RElE5h;lU|Ck$XW1W9j3Dt ztJ%~|8_$d;legNsX6seuGsE6h?%ch%O*1E4RimlZ^=!RuRA~&_bEj82_Vb3WbgYI^ zy%<}m)hkxRYR43`6<1W!4>ET$TbY|mtzl_)S}DAzq<7Q<{)(!)v$~pA)Qd3q^auvM zg|6j;L}9txX=xS1tSbc-?|DA*Bp$MRreQ0FS=rS)(CJ#WT1U6x81yCC6GxRPL09e| zzuRrAqF49Y`Yp?>8TAKyX0~QD^z5gWk=45`t8Hf+T4#`c+5&b`%63z?wW?-oG>*yR zmC|On*-)P8?T%rY8<|2*%_zEAv8sq=BlGyt2idjEW;s^!7nZRZC0na2rq+6N0QnGEnZ zUpPenw}J;|uA~Q#I>KtF70J?nb&rx$W#)t+cY&ZfvA?ZM(Ie&zqf`R<)k$ zIoyZ&fleOfl~0#T`GK9W+IZ4z5}02m3N{ zGfMg4eMwiX)FNL?556dWgyUOU<&%2b+B4nn;=IragX#0@0Ov{Gx_frz`Mi+kfIQ6~YpCoNx7empf-gwj${KDh-ZyqNEFa7B~pI8z6g~!Qn1^?i2 zigJOLstIlj{#@{vg6X%D+j=LMGZAx}NJv>=)rl|}SDiSU6?tcg&5H4N%07|o`%Byl zAu@`hk0%$<=*xh${;WU*{aG>oPT41teSe7uQ4C^(#_PEk?4@&-B?nk$F-Jy*MI0HI zS;%=+knN7kvJWIHEHQ#8i|>Tt_b8ur;yV|PfYVNo;_oAVf#p8pmyqcrehHWRi2oHq zwmUA%K9H>R5x<0JKVA;Q=TS!dWyBvCBL3HN|5IZBB}V)y#2*-lKm4l`VmBmQagxl( zvU7&XNI4gojD(}&Tn-U(ZlFF0y<;Wj+UBr50PJ!fu*+q@E|&qjTn6lN53tSuQ@@XY z=bUHf2Ixh*c#5+gjdP3(U>s7MyW`OC*9`PSe>rb6MIh{~u_1b~U+^u!Jjc8X%<&;G z&)xY0)<;JwJ+Y%W!Ewr2WU-z7eG+>|Gm|*VU_UT$6XA~X(K~*L!C$E|6J_`t81R(G z%KQ5y&IHX&;wXpxz<_Uj2>8q4uT)8i6#NYgH?yhzy~t~75+lDUpqrO!qAtA=DIn%M`gxL@=X&u?1IOf?I=iC_g7XDxPBu*4J& za}~cJ_V@Gr8peb5Yq-Vc`FKw@6B6j8kjKD8DU5NNo5mq_&Yhpm3J@a^`2S&#-808t@` Ltt&usNr3$W%( ufmt::uwriteln!(serial, "Successfully read QOI header").unwrap(); + let scale_factor = 10; + display.set_window( position, Position { - x: position.x + 191, - y: position.y + 191, + x: position.x + (width * scale_factor) - 1, + y: position.y + (width * scale_factor) - 1, }, ); @@ -139,7 +141,7 @@ pub fn draw_image( let scale_iter = ScaleIterator { qoi: qoi_iter, last_row: [Rgb565::yellow(); 64], - scale_factor: 3, + scale_factor: scale_factor as usize, width: width as usize, counter: 0, index: 0,