From 45e3eed60d2f2f3f2d4279d771d241ec45bded96 Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Sun, 15 Oct 2006 22:31:09 +0000 Subject: [PATCH] FlipIt graphics rework: * Adjusted token sizes to make them fit better on the various LCDs (4 different sizes, a 5th size is planned). Correct aspect ratio for archos bitmap LCD. Graphics work by Marianne Arnold.* Major code cleanup, use bitmap build system for all sizes. Info panel is now always displayed below. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11228 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/bitmaps/mono/SOURCES | 9 + .../bitmaps/mono/flipit_cursor.16x13x1.bmp | Bin 0 -> 116 bytes .../bitmaps/mono/flipit_cursor.25x25x1.bmp | Bin 0 -> 162 bytes apps/plugins/bitmaps/native/SOURCES | 27 ++- .../bitmaps/native/flipit_cursor.25x25x16.bmp | Bin 0 -> 1954 bytes .../bitmaps/native/flipit_cursor.40x40x16.bmp | Bin 0 -> 4854 bytes .../bitmaps/native/flipit_cursor.56x56x16.bmp | Bin 0 -> 9462 bytes .../bitmaps/native/flipit_tokens.16x26x1.bmp | Bin 0 -> 1302 bytes .../bitmaps/native/flipit_tokens.20x20x2.bmp | Bin 3654 -> 0 bytes .../bitmaps/native/flipit_tokens.25x50x16.bmp | Bin 0 -> 3854 bytes .../bitmaps/native/flipit_tokens.25x50x2.bmp | Bin 0 -> 2478 bytes .../bitmaps/native/flipit_tokens.30x30.bmp | Bin 8334 -> 0 bytes .../bitmaps/native/flipit_tokens.30x30x2.bmp | Bin 8334 -> 0 bytes .../bitmaps/native/flipit_tokens.40x40.bmp | Bin 14454 -> 0 bytes .../bitmaps/native/flipit_tokens.40x80x16.bmp | Bin 0 -> 9654 bytes .../bitmaps/native/flipit_tokens.50x50.bmp | Bin 22854 -> 0 bytes .../native/flipit_tokens.56x112x16.bmp | Bin 0 -> 18870 bytes apps/plugins/flipit.c | 192 +++++------------- 18 files changed, 74 insertions(+), 154 deletions(-) create mode 100755 apps/plugins/bitmaps/mono/flipit_cursor.16x13x1.bmp create mode 100755 apps/plugins/bitmaps/mono/flipit_cursor.25x25x1.bmp create mode 100755 apps/plugins/bitmaps/native/flipit_cursor.25x25x16.bmp create mode 100755 apps/plugins/bitmaps/native/flipit_cursor.40x40x16.bmp create mode 100755 apps/plugins/bitmaps/native/flipit_cursor.56x56x16.bmp create mode 100755 apps/plugins/bitmaps/native/flipit_tokens.16x26x1.bmp delete mode 100644 apps/plugins/bitmaps/native/flipit_tokens.20x20x2.bmp create mode 100755 apps/plugins/bitmaps/native/flipit_tokens.25x50x16.bmp create mode 100755 apps/plugins/bitmaps/native/flipit_tokens.25x50x2.bmp delete mode 100644 apps/plugins/bitmaps/native/flipit_tokens.30x30.bmp delete mode 100644 apps/plugins/bitmaps/native/flipit_tokens.30x30x2.bmp delete mode 100644 apps/plugins/bitmaps/native/flipit_tokens.40x40.bmp create mode 100755 apps/plugins/bitmaps/native/flipit_tokens.40x80x16.bmp delete mode 100644 apps/plugins/bitmaps/native/flipit_tokens.50x50.bmp create mode 100755 apps/plugins/bitmaps/native/flipit_tokens.56x112x16.bmp diff --git a/apps/plugins/bitmaps/mono/SOURCES b/apps/plugins/bitmaps/mono/SOURCES index 9dfc312348..75b85d1546 100644 --- a/apps/plugins/bitmaps/mono/SOURCES +++ b/apps/plugins/bitmaps/mono/SOURCES @@ -32,4 +32,13 @@ brickmania_powerups.112x64x1.bmp rockblox_background.112x64x1.bmp #endif +/* Flip it */ +#ifndef HAVE_LCD_COLOR +#if LCD_WIDTH >= 125 && LCD_HEIGHT >= 110 +flipit_cursor.25x25x1.bmp +#elif LCD_WIDTH >= 80 && LCD_HEIGHT >= 62 +flipit_cursor.16x13x1.bmp +#endif +#endif + #endif /* HAVE_LCD_BITMAP */ diff --git a/apps/plugins/bitmaps/mono/flipit_cursor.16x13x1.bmp b/apps/plugins/bitmaps/mono/flipit_cursor.16x13x1.bmp new file mode 100755 index 0000000000000000000000000000000000000000..38db15aa95f431d77c94bdea59f29403431422e2 GIT binary patch literal 116 zcmZ?rEn$EFJ0PV2!~#If3&e~-2m)q6EW{1LU;!ZU|Nnn5b5$rrqyeIofe;N*4*&^I B33&hj literal 0 HcmV?d00001 diff --git a/apps/plugins/bitmaps/mono/flipit_cursor.25x25x1.bmp b/apps/plugins/bitmaps/mono/flipit_cursor.25x25x1.bmp new file mode 100755 index 0000000000000000000000000000000000000000..5445f8b01d929bb44d09180328c3482452669b95 GIT binary patch literal 162 zcmZ?rUBmzZc0fu4h$W$zk%18`kpd)zxFMJcECM0^|NqbMr(V9{= 200 -flipit_tokens.50x50.bmp -#elif LCD_HEIGHT >= 160 -flipit_tokens.40x40.bmp -#else -flipit_tokens.30x30.bmp +#if LCD_WIDTH >= 280 && LCD_HEIGHT >= 234 +flipit_cursor.56x56x16.bmp +flipit_tokens.56x112x16.bmp +#elif LCD_WIDTH >= 200 && LCD_HEIGHT >= 170 +flipit_cursor.40x40x16.bmp +flipit_tokens.40x80x16.bmp +#elif LCD_WIDTH >= 125 && LCD_HEIGHT >= 110 +flipit_cursor.25x25x16.bmp +flipit_tokens.25x50x16.bmp #endif -#elif LCD_DEPTH >= 2 -#if LCD_WIDTH >= 150 -flipit_tokens.30x30x2.bmp -#else -flipit_tokens.20x20x2.bmp +#elif LCD_DEPTH > 1 /* greyscale */ +#if LCD_WIDTH >= 125 && LCD_HEIGHT >= 110 +flipit_tokens.25x50x2.bmp +#endif +#else /* monochrome */ +#if LCD_WIDTH >= 80 && LCD_HEIGHT >= 62 +flipit_tokens.16x26x1.bmp #endif #endif diff --git a/apps/plugins/bitmaps/native/flipit_cursor.25x25x16.bmp b/apps/plugins/bitmaps/native/flipit_cursor.25x25x16.bmp new file mode 100755 index 0000000000000000000000000000000000000000..faa81518f8fd140edc46f82dddc2c06fd381c81a GIT binary patch literal 1954 zcmeHIJ5K^Z5MIMmk;E8{n3#x(5J;^30VZcBiUkUt8XHhs9;MdmSyKT1kMj=*r8b&q zl!pjhEJY#XcaO*=ybh%Fa=V$#%ziVov-|DZ#GAsAWA*3K$aZK%uPqhj6HDey`YDFJ>fk*IcY zN7)mJ!gDe$>=o$oONEoL?mlVrg-r1)v(w#iWjCeC={6_$V4fc85*#aj(@vg@ao)b} z@3y9g-o|a4;`~98-W$YXWiqD(%hF&OY0*)QEiGX07&aS~Yi&cwKyYP6hOX(^?A`%9 z;TSp##J?t`gpq){oul4~v|DF!?soZPyI}~;7M~nVflBOutQH68=>`josE@wOBm*Dm ziP_g@M&`BAv{E|vxQ|{P}t>4T-1nx z5BCcauiCg_cy*lfgQibPBsPK1B(@Ia!S}q$>Cy)5D;u3IYl1&4(v$prs5^zX1lb`~ zsd62ySPsYFIh7HPOZ2RLhm`nu=}s#Isx<_|@B<%p%u6{(=$a=do>%Fk*}5C-2P9sX AXaE2J literal 0 HcmV?d00001 diff --git a/apps/plugins/bitmaps/native/flipit_cursor.40x40x16.bmp b/apps/plugins/bitmaps/native/flipit_cursor.40x40x16.bmp new file mode 100755 index 0000000000000000000000000000000000000000..d91a363a99a7ad9ac22ec35ece64f890dd9e60b7 GIT binary patch literal 4854 zcmd^@FGxc{9LH~nTbMHp1=B5k{DZ|H7(_9e zEDA#eqhJsRilBIY-uvMgoA37C-t%2>Y;WxD`{(xVe!t({o1S~iD)%+Xb*$-=P(yC} z1^wByeB1^uT4}@k`AhG;>Y4lc;Pqo-V^@_cYIsy7Q$K9?o1Zk6D*%82h62$bYv}sW z`ruVh+|_#yFIAz0!N62;W_4}-^t_!#BV7QTaTH2WAVNo^9c*ZM_|)@Hy65ax<;Rn` zk;SbY1GuFNFcgT;5kaa2;PvzJUFT|bRb5H+^)DTrc)`r=5TPT26oO_jy~l4lee=R- zbJgXJ;En)9kU|hy1DM`kOw*a-=C%PAs0%3sk@d3XZaDumomsf51yb$^Mi5!V+iy6t z@62g_e0IOf2{pST>&#uP-n`6M?JPWJ4MZ`gUITFEy1IfHg_qkQiYnxtGiqC?kdO#Rxk|_~g_uQbD=cNtGd= z2jzyrV<)AJQW8cdC>J}ar@xlAplbf{*hvxhPl*aCJBO&${OdT|gLoISjO{=ACR6_B zB`Tz|u7*eL#8J6oC2x?jtmH{jbj+cIog6Ey)ImzHmAY?hpF>Dm+1KG~YaffXm3_Np vKP%@Hv9@w9YgosB4sG1<_|M&9%`%JsIfGaeT*P(E&sD^ls~n*I;yKbcyfnR( literal 0 HcmV?d00001 diff --git a/apps/plugins/bitmaps/native/flipit_cursor.56x56x16.bmp b/apps/plugins/bitmaps/native/flipit_cursor.56x56x16.bmp new file mode 100755 index 0000000000000000000000000000000000000000..7fffb25a15ef81323cd0eae6a4407a2ddd558bc1 GIT binary patch literal 9462 zcmdU#&ubGw6oALLw|b~r!9%f9bFjS$Qd2~zp1g=4D&*M0;zb)JMa1BL5UMQJqZe;5kXLpR#6Xi!D3tW`AtTbVAySU(rsqSX1kevKfayp%zJNkPn=pVs`lRm z`-6N+e?QyQ-gbMF^ScJjr`^C#l-O;{zooS%jqh@8NzQzc$xkxACKL(by+IX>KVFgZ@1s30zN%VX6~~|%JTx(RX|8hnZjupBA%K`hN2OLr9V3{^gZAaB zoP8G!JY7)b5QoF3&($70OkzuFM+HRax;>l){>f@RfR(7>W!=x zy5%u~DGXv3BEZoL67dR zx&`-S(iQ1@HLQY>GFdT|F-zn+x|8ra+w~04XadvO7#|ZF^kg0caZ4W$zyPK@S`liA zVg!gypUmwpR)>J;S&;tA0muq;>@F1S%;up53`l^*#$hIbAvf5R*d3eg@j&MQHl3-|XdcxG{cy1Tz5>E6LJD;UlWcEb;zS!Qvc)2sz~!AY08&uLcGyckCec`xQA zrcf{Dc|wvGagz}5MIJ)Rhb*p z{MQj(uDU*A^$(-V2lVgnNwQyIeVCn8rvRl?GPMG#J4uHa1zT1Sqp%oF#Z(heQGik^ UnYsgTx(Rs6=bi+Z`(1xIZ%VfdivR!s literal 0 HcmV?d00001 diff --git a/apps/plugins/bitmaps/native/flipit_tokens.20x20x2.bmp b/apps/plugins/bitmaps/native/flipit_tokens.20x20x2.bmp deleted file mode 100644 index 5dbae762c9ce06877aa078bc74cb179d8925c2f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3654 zcmc(hFKF9A6vs0?7=umB&5en=z#w5_OtdNyY1E(uN<~dcOsg_Ah$uCsCJ}`~#2N+( zM3hd1n9j9SR0QJV<7f8Ced*(N_xt_$tr2_hyS#h%{k}hU_pbe1*?duO@`3R^-)p{) ze9sDR7z>4$tiO7$&lwngJ6SH5^ZERzlk@X)et$SY(Ns(K_xHd6i=}Zm9NygA_?AR{ zu~+~DtW}(to`_F0LQ$%DA_g9ykUS-jNwAb>svXFKj4|tQwg0itJeGCha{kcsM2Ru$ zaM#KCf9=&eIX{`pHC8`ztK%ccwm?B>rKk0gUI3!2r?O*dm2iNe7+5cW%FiCv^+pU7 zSIYdmlU}dKuPgy9n6i5W?RLBEcKh3-oSvRC#mG|HD}nv^_!yW3Fd`khmKb9?mVUo4 zfLOtZ6RiUC>57;^G(UzhI)yZwP3(qAQ@}`|uvhFMNGxf1-~LEl{X)FGy_Lnsr0F18 zQtfcLB$}q-13O2C-~^($0U%>4E}^fku5^F?DQ$>&fcVQvMxbCxB_ACfJv=<91XJ==nQYj*Z1`-JJhnN^H_6E$)pBjDd zasmr^=LE$EpzEX<4-O9eCAf~a8a_F}g7_F7Zwe;?-;NHvQmK6L#5@?iSS-@J#rRkGE2Bh4>*T<@)-%)oK|RmS6#wDNEbi+dds4Vp{fmzS3UFe2a)N1i~90m~;*OKRtG5|7XH`plc c8x>*9_+Q1G@KEtcjz%Mzg%Q!yWdKwD0Ku$?2><{9 diff --git a/apps/plugins/bitmaps/native/flipit_tokens.25x50x16.bmp b/apps/plugins/bitmaps/native/flipit_tokens.25x50x16.bmp new file mode 100755 index 0000000000000000000000000000000000000000..deca4c741000bb7f2f03c0a3d0aecf47d18b6765 GIT binary patch literal 3854 zcmc(h`%lwX7{(t)wN9y^V8@Ulu<8~@0mrzHLZPsMwjx7Z5MkonAgm+SCWE!WWNra9 z?h@ElNYGsp5{K;OSTIDQjAeoS1_U}aD(nyNLe%K?__hIMbx>lqCf}Erlhfz>p65O1 ze41fg?hE<0K;Do?(=V2mnJ6K+uQ5v>dMQ@tyXJu zbMxubr>|eXe!sW7*BTxfu~;l|ad9ER!Tx@JD^w~*=Idi(wwIK2b#-04cI}^vv$dwC zrmCu{0@dn8z*4{;ckH28jLhke5?B=wusJ_}aBy&z+&x+sE?mgW%v1pM^)azL8i)m+ zk;wcB8E01(dwFTK+K!HnyX9uISawQEino-&#_{`Uz;nPxz$lS9N8;oiEORliR--w2 z^5nGKj8<7$*+a6NNZ?r@7bpZufnC5W5}9*^(;FsA0KyVjgF261qQOHD8K*|0j~pZ1I@q}z&F6R z5}8wRA5bN8vH*5NO*y6V@ZrNQEt}oGTCEOKDCjF~-U+-3ybpW{`~>s^ze!~N74QLI z7yC>=0uUm*gkHO}j3!f7T3VD!#j;-jDgmyA>*@l20mgv|zyS0DY# zNlCRf+m?g`u5r39zMplm7FI-|KY(9>?|{$6GS*daS6x}z*)FZp(o(b8e6XfQD}KEU z*u)pQ(=BqWj-o#UUjrY?{@4XL{aPb_Z7VKzX&pIoBr_wUucs%~-(L@GlTNW;>>A~c z1K&%H%s&RW{M|q?kPXBDkMP(km3tc+Tv}JIT+!)t$2&U@RadW<7w(XK#BK4Oe4p$3 zL^{h6D^Lb(0#d{*A0Rv|?97=nE-n6PX=&Mzn|sdT*s0gY19`F`%|JC!FKuP45zG0S z&2lhl2#eyrFDfd!diCmz7E4P`PHt*!bPNw~jg4g!HUKY*;;TRfz(^I2Y?Ssz0m0%_ zq*i<4#0d(`Xff;W@7G2~wzjsOcR0*>d0Z^F&-2m^u82!vQZ^X4=7UujKDTzUYk9T^#RvNkw4 z#Lv%PrCPzroSUSiWV>gqRjUJmMfam^K)|Z}{LS-XEuff_wq9O~=VmS7J%8G2G;8n6 zTEJu4x?%0m(4bPe6bSH?whF}(i)Ht0)(X;zl|;E3JfQ7t)&>Uh7GY7mmkgfLR;gSz z!&~>Ybz?uYBiloUKnk4x>O$iJ7=4$ zwb^PD63FZY(l$Fg%cbRHZB5NVfEP0T@|d>8#oJt3WNk)9W=~I_zdwKSkq@5HmK(F7 zVXsTe$=c4&011yD~jJZGo&c8cm6bNkKuuWUaxFxp3B6 Kt$Y3t*8UB-^u+rB literal 0 HcmV?d00001 diff --git a/apps/plugins/bitmaps/native/flipit_tokens.25x50x2.bmp b/apps/plugins/bitmaps/native/flipit_tokens.25x50x2.bmp new file mode 100755 index 0000000000000000000000000000000000000000..e2db260483e18bb1ecbbc81085957b7986b148dd GIT binary patch literal 2478 zcmZvc1$0wO5Qe`(3oS*97I%t6f#OzNiU)Uhm*Vd3?jE4HySux)yE}P1yEjRBhe_@^ z_wKjIHtj=2DBU@bK^;LWBrJj2ID5PfxtO zyoeMj5|JZE#@pK)A0Hp0M2Uj0uP;%fMkQLbXhe@5oft7<5Hn^>V#SJupPwJGW5*^= zoH)dd8<%+T;t@Z7d=ex`fWN;#2@@tHQKCd7PMnw|Ns^E>X;P9UOGfhK$w`qS1u0Xe zBvqtcrAtRZKmh5}rzb;(3}nohkxZE~kvVf_vSi6Z)~s2{mMt6E zvu7tTFpwNMa*#7;PIBeSMNm)>xpU_xPo6yF&6}5e`SOuJe|`!SC_ur21u0ah5QPgD zrbv+@6fIhm;NW126)Q&Z;>9UZq68&NmZVgvQj{)Tnlfd|P_}GY%9Sfe`SRrn2??P> zg$h)xSdmJVDp9#|WvW!ELe;8OsaCBTHk*y=)vHsZMh$A#tVyj}wWwXYHg)RMp>Ex} z)T>vI`t|G6pg{u~Hf%_vMvZ9PxG_zdG@)tJrZj8TjONXo)1pNSTDELSt5&UO-MTex z+O(l<+qSf8*N*n>+tZ;#2Re4_NT*Jn=-jz8UAlCkYuB!H>(-6#-MiDHM-M_nL+RPG zC%t<0qId7!^y$-wzJ2@BuU|j<_wUbu0RtE~a3F&Q4Px-%!3-HPgrP%+GHlo|h7TXk zh!GQX* z+BBw5pU#XKGnhGZCbMSEV)pFW%$YNXxpU_-Z{9rS&!5kN1q)cXa3PBpEn@NF#VlE} zgr!TDvTWHhmM>qf@bKY79zA-*vyG{KC*zB%nH`7ExH+3=>2}dnvkj>_!z7pEl zFuUHZh(v6LhEOd&P_b~m(H zOy^Kg!liUF$);rjB_yHtvzmfF+dP(5==bu!%vXCG7|U4U$ncj4}Xa`mxW1ql&Hr>8@p@zuo4jPaCR(kLA^ zEefY|(SOdF(7(g&`S-d!g=eO%rjEav98h=1mC>owU6Z$IZgc{RSsgHKR}R|PFnJ|1 z4bHEDhFQckUT;t>GIbh9i#UBP<{Afw$|GB(D~5?oLahrjRGmcfSu!CK8Y-oe8JS_C zlVfV8+Nw=0WTiB-t2X^lCnt4!I&0C&zw)WHqSR$trAX=K>^{a+30zg$U9)R*SgzLL zl*~Q5b_JyXsY!(zY-Qo>gFq`}m+r4&Y5HY(1VuJ<% literal 0 HcmV?d00001 diff --git a/apps/plugins/bitmaps/native/flipit_tokens.30x30.bmp b/apps/plugins/bitmaps/native/flipit_tokens.30x30.bmp deleted file mode 100644 index 7aa77482823ea262bf5ca1138b1fb567e6370d89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8334 zcmeI0d6>@S9>(vOgwDY*Xsp9f$ad7s*qLmpCc9EijnW}B$uiEd&Ww~LvSn*Z6cN%! ziznTPaezt<%K)}5Ljtns}l%}3qi^~7eHXWUm`6|7WyUkE9dtFC;*uo)DYpi z;`|^(vqDfo>=CaYs{ZgPV;4980V)6z#14GI%RW_>vK*$ z70bM?Uw--J!w)|kIB;NGTwIwlWg;RXP6=)0^SG!`p+Ye+F-@8@88&R#&Ye4XIWLSn zv5y}=K6>=%8Z~Ml0t!ffk%}SNr6`Z$Qc(#Jf3buSj8B|6@yjp2%nhH*Z~SQ4vSt4K z`3p*sI&~(fD8)*b`?SD;ft$)wd8xFGU_3H1vUBIo+1c4=z@Lu2cJ11lHEZVgq-bN{ z``;waAq}KP9^Ax9b*1W3j4iM*uEvcUZ{EB)96k(t*REXvvr<;gVTP$!F+*x0wUv^j z8$E77LQ2<24Q=)csjPh=7DQm*zI`G1AU1@xXwia*0gN}b>}X3vc9CwAQlvYj?$RAT zLUop|w*{8O+MtLaaCPa@C6qrw>@j1;@C`A8U4U6W&H-?{)Kf~821tWE`b+mpciUhG zsg+dU@OTe7a6f(e^nmNeK6L01IaOFHm_d;+|&ahl|XjVjXB5>((Z!1qfdq_NTzX_k~FJtobNCP@!TL%p69 zslAlw=*F0t!i5V5T$g_Q@yCROgo1XuCh>5dT)@u_ClBcvN{xZ&iEEUl8>k=~Y8N-s!H zOOKkLfnH%psku~JDks71l~-Q5d-rY}TD%zS*b*fmB*E#19|SL5nk?b*OGe!)ZI?ch zHcM}L4RfRk(lB;K=_a#I&f;JZlD>55S6+EVnl^1(+|^e%tWkqZC5lPTvi{Norgo7X z-6HLkK9!D2yQF_fOq?%GwF@|cJJ-6zVx4SIK5yPUiN4mcLx=W>iLlkkWOsMQkr)uN z#9n?Ndiojws=rD?K6&cdFbhwRVrFWWJ-KqUO(sv*(|Go?_avabx|m zWeG+r2c{QiT4}r!`dPF4wzN)KYl=u4oSxwTZh{laI}tI|omk zI6eMP#s%+i7c|lfIP50I7rEZ2NsKcC(V{HUGV@NGCcAu*TFRpc{cJA&0y)D9%-iQ9yhAa1}1YMvx1|@ z&U(u&w;VZgB#6!5nKNfnsIzCzJaYK(-APHnH>?~N?sDVBY&!>@v;{cE ztuDW}hXo530LT^W-(P(3MV~%>>eQ*Tb;}muNA~T@j0ATHEF?L=9VJG4M~-wN>T&ML z6%9-XYt^bXbm-7;zWL^KY(5d$9zA-ntv&g~6Oi-ttXYksqiY)g=bA{(Jh*A#$Pt+; z?w-Y@2-DoZfB%CA4+en4{0=-|Gwt2GH|B3oPTrfHy)Qd^bXr>7$VggE4GFL-eRH`) zjg+ylD6CUg{rdIO($cnX-yQ zXi&dOmC8kmTvnh!QN)SmQ02;%5fJ0Yk3W3)a5!*Y*gRu1U9x1!fB^%@d&-K2i9YC; zn%cK_@3yU5SE*c?3@%>0c-^{nJ9g|ieE9I?%a?!q?YCzDp9P!8$gpF_j?oTqs9(Q+ zx7~JIyLRnZ3|EH^9Vm@Kg9c5WJeel_`RAYi9?cf=fJu}W$+~6BmX#}4E?c$?YpYhR zdjI|R*=^ai&W0L52=V=hiMZQ9hR5gmey)Gh8bj-ex4#?p@%WIJZ*AD6lBUBd22jJIvub_V?E z*u?#cE0{|CQfw3lg-6BIbNOSC9>btYDSw zv^$y}drNosK-yr6HA5F0Y2hW&3ZMx1i;|L(ICcc!gV-ZRjBw=m9(Dm{?KlSjNWHu{ zvkTF?83Vkv({3?HV{Gl_1$;TkDN>}!gb5SEu<0S?%a?cX%DNxnF~GRn!yCa6Z#55j zCmU-?n{Ih~uNT7x0X+SfK$Vs*x$3H`5XQjUZ{&{;V6Z{(;20|K7~uXE#N#X{W=oHI z%(9vrKU`=nzQv%9TiUkxh4 z^q?ZVHlzrt)VXu#T5ERf*r`Pe76n_B!;Oyq0IwH9mgJ>mx1L+cqGJiCG-}kSMvWQ| z97xzgey0SL?2Irai{JmY>wBb)QpoR&px>lzyjx8%QUyAQ)vQ@XixyqE@~w07y~awG z@IX0EzwLv`lc)1dmcw@?_$E0}DZKN-3v7Pt*Ke#?5kmNqkaTq|k|$&t3AjjFA+5HI z#Rv)WQc%f0=t}J&bqZ6mg=u(fPn=@5Z$~s_Wz88o_EG0|Q}+;P>F2^B6CN|tbN2NG zN8l+7|M5ZlBrJp;kMu1UF910LEY);ORAw%G}j@vfy5Dz)` z*uo(9r@=nd(?)t(b3!w~R0STDCyHc9a&q!#pM4g@=I@+2bJ+PNPMnmJbF^DGrUH-m zkkj4^xZN%iGsd0nu9&^i4Whn*EBaqK`8Y8wUAh!Nu3-O0OQCVlv1`|^10L^9PMqZ` z76?^4_d8l1H!P{8*LJmc&#LFqN(v%4P=pPQWup!Ps@`sg{0@8~AMqaZD72kBKR$Ty@VIf)V`H27 zKN#d!4G&^g)jcWNLZA?d(X?q(gyEh&djdFlVe>2}Cx?Hsfz3ZB1`HUuaN*+JyR+YX z^PRM`jHIOGxVSbID%34pxUBc~f}#gitHvROQ*dsH62?i$3-|2$q5M!qM}M7d7`7E+10ys>qa}G1i%0O`_S~zOv$DJ7oK(pMF9U?AWn`fA78SYr}>O>?v6O`RAWQ JujP3o{TG9htv3Jw diff --git a/apps/plugins/bitmaps/native/flipit_tokens.30x30x2.bmp b/apps/plugins/bitmaps/native/flipit_tokens.30x30x2.bmp deleted file mode 100644 index 63262b5f65efaea4c630a3c55da01b641be72d50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8334 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 F{{sy*CFcMD literal 0 HcmV?d00001 diff --git a/apps/plugins/bitmaps/native/flipit_tokens.50x50.bmp b/apps/plugins/bitmaps/native/flipit_tokens.50x50.bmp deleted file mode 100644 index bc2c543b3961923b714813667216d4c20f3c2aaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22854 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 2 - -#ifdef HAVE_LCD_COLOR - -#if LCD_HEIGHT >= 200 -#define tksize 50 -#elif LCD_HEIGHT >=160 -#define tksize 40 -#else -#define tksize 30 -#endif - -#else - -#if LCD_WIDTH >= 150 -#define tksize 30 -#else -#define tksize 20 -#endif - -#endif - -extern const fb_data flipit_tokens[]; - -#else - -static char *ptr; - -#define tksize 16 - -static unsigned char spot_pic[2][28] = { - { 0xe0, 0xf8, 0xfc, 0xfe, 0xfe, 0xff, 0xff, - 0xff, 0xff, 0xfe, 0xfe, 0xfc, 0xf8, 0xe0, - 0x01, 0x07, 0x0f, 0x1f, 0x1f, 0x3f, 0x3f, - 0x3f, 0x3f, 0x1f, 0x1f, 0x0f, 0x07, 0x01 }, - { 0xe0, 0x18, 0x04, 0x02, 0x02, 0x01, 0x01, - 0x01, 0x01, 0x02, 0x02, 0x04, 0x18, 0xe0, - 0x01, 0x06, 0x08, 0x10, 0x10, 0x20, 0x20, - 0x20, 0x20, 0x10, 0x10, 0x08, 0x06, 0x01 } -}; -static unsigned char cursor_pic[32] = { - 0x55, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, - 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0xaa, - 0x55, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, - 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0xaa }; -#endif - -#define INFO_WIDTH 32 - -#if LCD_WIDTH - 5*tksize - INFO_WIDTH < 0 -# define INFO_UNDER -# undef INFO_WIDTH -# define INFO_WIDTH 60 -# define GRID_LEFT ((LCD_WIDTH-5*tksize)/2) -# define GRID_TOP 0 -#else -# define GRID_LEFT 0 -# define GRID_TOP ((LCD_HEIGHT-4*tksize)/2) -#endif +#include "flipit_cursor.h" +#include "flipit_tokens.h" +#define PANEL_HEIGHT 12 +#define TK_WIDTH BMPWIDTH_flipit_cursor +#define TK_HEIGHT BMPHEIGHT_flipit_cursor +#define TK_SPACE MAX(0, MIN((LCD_WIDTH - 5*TK_WIDTH)/4, \ + (LCD_HEIGHT - PANEL_HEIGHT - 4*TK_HEIGHT)/4)) +#define GRID_WIDTH (5*TK_WIDTH + 4*TK_SPACE) +#define GRID_LEFT ((LCD_WIDTH - GRID_WIDTH)/2) +#define GRID_HEIGHT (4*TK_HEIGHT + 4*TK_SPACE) /* includes grid-panel space */ +#define GRID_TOP MAX(0, ((LCD_HEIGHT - PANEL_HEIGHT - GRID_HEIGHT)/2)) /* draw a spot at the coordinates (x,y), range of p is 0-19 */ -static void draw_spot(int p) { -#if LCD_DEPTH >= 2 - rb->lcd_bitmap_part( flipit_tokens, 0, spots[p]*tksize, tksize, - (p%5)*tksize+GRID_LEFT, (p/5)*tksize+GRID_TOP, - tksize, tksize ); -#else - ptr = spot_pic[spots[p]]; - rb->lcd_mono_bitmap (ptr, (p%5)*16+1, (p/5)*16+1, 14, 8); - ptr += 14; - rb->lcd_mono_bitmap (ptr, (p%5)*16+1, (p/5)*16+9, 14, 6); -#endif +static void draw_spot(int p) +{ + rb->lcd_bitmap_part( flipit_tokens, 0, spots[p] * TK_HEIGHT, TK_WIDTH, + GRID_LEFT + (p%5) * (TK_WIDTH+TK_SPACE), + GRID_TOP + (p/5) * (TK_HEIGHT+TK_SPACE), + TK_WIDTH, TK_HEIGHT ); } /* draw the cursor at the current cursor position */ -static void draw_cursor(void) { - +static void draw_cursor(void) +{ #ifdef HAVE_LCD_COLOR - rb->lcd_bitmap_transparent_part( flipit_tokens, 0, 2*tksize, tksize, - (cursor_pos%5)*tksize+GRID_LEFT, - (cursor_pos/5)*tksize+GRID_TOP, - tksize, tksize ); -#elif LCD_DEPTH >= 2 -/* grayscale doesn't have transparent bitmap ... */ - int i,j; - i = ( cursor_pos%5 )*tksize; - j = ( cursor_pos/5 )*tksize; - rb->lcd_set_drawmode( DRMODE_SOLID ); - rb->lcd_drawline( i+GRID_LEFT, j+GRID_TOP, - i+tksize-1+GRID_LEFT, j+GRID_TOP ); - rb->lcd_drawline( i+GRID_LEFT, j+tksize-1+GRID_TOP, - i+tksize-1+GRID_LEFT, j+tksize-1+GRID_TOP ); - rb->lcd_drawline( i+GRID_LEFT, j+GRID_TOP, - i+GRID_LEFT, j+tksize-1+GRID_TOP ); - rb->lcd_drawline( i+tksize-1+GRID_LEFT, j+GRID_TOP, - i+tksize-1+GRID_LEFT, j+tksize-1+GRID_TOP ); + rb->lcd_bitmap_transparent( flipit_cursor, + GRID_LEFT + (cursor_pos%5) * (TK_WIDTH+TK_SPACE), + GRID_TOP + (cursor_pos/5) * (TK_HEIGHT+TK_SPACE), + TK_WIDTH, TK_HEIGHT ); #else - int i,j; - i = (cursor_pos%5)*16; - j = (cursor_pos/5)*16; rb->lcd_set_drawmode(DRMODE_FG); - ptr = cursor_pic; - rb->lcd_mono_bitmap (ptr, i, j, 16, 8); - ptr += 16; - rb->lcd_mono_bitmap (ptr, i, j+8, 16, 8); + rb->lcd_mono_bitmap( flipit_cursor, + GRID_LEFT + (cursor_pos%5) * (TK_WIDTH+TK_SPACE), + GRID_TOP + (cursor_pos/5) * (TK_HEIGHT+TK_SPACE), + TK_WIDTH, TK_HEIGHT ); rb->lcd_set_drawmode(DRMODE_SOLID); #endif } /* clear the cursor where it is */ -static void clear_cursor(void) { -#if LCD_DEPTH >= 2 +static inline void clear_cursor(void) +{ draw_spot( cursor_pos ); -#else - int i,j; - i = (cursor_pos%5)*16; - j = (cursor_pos/5)*16; - rb->lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID); - rb->lcd_drawline(i, j, i+15, j); - rb->lcd_drawline(i, j+15, i+15, j+15); - rb->lcd_drawline(i, j, i, j+15); - rb->lcd_drawline(i+15, j, i+15, j+15); - rb->lcd_set_drawmode(DRMODE_SOLID); -#endif } /* draw the info panel ... duh */ static void draw_info_panel(void) { -#ifdef INFO_UNDER -# define HEIGHT ( LCD_HEIGHT - 4*tksize ) -# define LEFT ( ( LCD_WIDTH - INFO_WIDTH ) / 2 ) -# define TOP ( LCD_HEIGHT - HEIGHT ) -#else -# define HEIGHT 64 -# define LEFT ( LCD_WIDTH - (LCD_WIDTH- 5*tksize-INFO_WIDTH)/2 - INFO_WIDTH ) -# define TOP ( ( LCD_HEIGHT - HEIGHT ) / 2 ) -#endif + char s[32]; + rb->lcd_set_drawmode( DRMODE_SOLID|DRMODE_INVERSEVID ); - rb->lcd_fillrect( LEFT, TOP, INFO_WIDTH, HEIGHT ); + rb->lcd_fillrect( GRID_LEFT, GRID_TOP + 4*(TK_HEIGHT+TK_SPACE), + GRID_WIDTH, PANEL_HEIGHT ); rb->lcd_set_drawmode( DRMODE_SOLID ); - rb->lcd_drawrect( LEFT, TOP, INFO_WIDTH, HEIGHT ); -#ifdef INFO_UNDER - rb->lcd_putsxy( LEFT+1, TOP+1, "Flips" ); -#else - rb->lcd_putsxy( LEFT+1, TOP+10, "Flips" ); -#endif - rb->snprintf( s, sizeof(s), "%d", moves ); -#ifdef INFO_UNDER - rb->lcd_putsxy( LEFT+32, TOP+1, s ); -#else - rb->lcd_putsxy( LEFT+1, TOP+20, s ); -#endif -# undef HEIGHT -# undef LEFT -# undef TOP + rb->lcd_drawrect( GRID_LEFT, GRID_TOP + 4*(TK_HEIGHT+TK_SPACE), + GRID_WIDTH, PANEL_HEIGHT ); + + rb->snprintf( s, sizeof(s), "Flips: %d", moves ); + rb->lcd_putsxy( (LCD_WIDTH - rb->lcd_getstringsize(s, NULL, NULL)) / 2, + GRID_TOP + 4*(TK_HEIGHT+TK_SPACE) + 2, s ); } /* check if the puzzle is finished */ -static bool flipit_finished(void) { +static bool flipit_finished(void) +{ int i; for (i=0; i<20; i++) if (!spots[i]) @@ -277,7 +181,8 @@ static bool flipit_finished(void) { } /* draws the toggled spots */ -static void flipit_toggle(void) { +static void flipit_toggle(void) +{ spots[cursor_pos] = 1-spots[cursor_pos]; toggle[cursor_pos] = 1-toggle[cursor_pos]; draw_spot(cursor_pos); @@ -306,7 +211,8 @@ static void flipit_toggle(void) { } /* move the cursor in any direction */ -static void move_cursor(int x, int y) { +static void move_cursor(int x, int y) +{ if (!(flipit_finished())) { clear_cursor(); cursor_pos = ( x + 5 + cursor_pos%5 )%5 @@ -317,7 +223,8 @@ static void move_cursor(int x, int y) { } /* initialize the board */ -static void flipit_init(void) { +static void flipit_init(void) +{ int i; rb->lcd_clear_display(); moves = 0; @@ -340,7 +247,8 @@ static void flipit_init(void) { } /* the main game loop */ -static bool flipit_loop(void) { +static bool flipit_loop(void) +{ int i; int button; int lastbutton = BUTTON_NONE; @@ -398,9 +306,7 @@ static bool flipit_loop(void) { /* toggle the pieces */ if (!flipit_finished()) { flipit_toggle(); -#if LCD_DEPTH >= 2 draw_cursor(); -#endif rb->lcd_update(); } break;