From 9e84bacadb5edb17d85e42f753a8808a04ddec03 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Sun, 11 Mar 2018 20:16:50 +0000 Subject: [PATCH] Pixie 2.5: use kfont and some fixes git-svn-id: svn://kolibrios.org@7182 a494cfbc-eb01-0410-851d-a64ba20cac60 --- data/common/File Managers/icons.ini | 1 + data/common/icons16.png | Bin 5975 -> 8352 bytes programs/cmm/lib/kolibri.h | 1 - programs/cmm/lib/mouse.h | 12 ++---- programs/cmm/mblocks/compile_en.bat | 2 +- programs/cmm/pixie2/pixie.c | 60 ++++++++++++++++------------ programs/cmm/pixie2/pixie.ini | 1 - programs/cmm/pixie2/settings.h | 42 +++++++++---------- programs/cmm/pixie2/skin.png | Bin 3255 -> 3129 bytes 9 files changed, 61 insertions(+), 58 deletions(-) diff --git a/data/common/File Managers/icons.ini b/data/common/File Managers/icons.ini index ce2b238939..9d36f065c1 100644 --- a/data/common/File Managers/icons.ini +++ b/data/common/File Managers/icons.ini @@ -140,6 +140,7 @@ eml=13 lif=14 3ds=15 asc=15 +vox=15 kex=16 skn=17 obj=18 diff --git a/data/common/icons16.png b/data/common/icons16.png index 6bee781269330eafa0001015f8f4b1869d14251c..a93a3cc5cc3acc63917a9f320c712385f5934263 100644 GIT binary patch literal 8352 zcmV;RAYb2!P)+QgKDbvo(isX!;3MR_B zdsHro9I3Uzx$6$R)67RdAa-+Yd7I%eoRxXe6L9x_0zUD3VFaM!zG|)59(j>-DMZMW z9x4E1kE7z{eZ6~AT17z~5>Cyf9ilPz4ye2XVUx!^8KmLBjmRAT~xE0GU=4 z<>&vTal0Cllg3`m(NF|&4Y)7t8ffhNG97`(lJlT3WnW27Djg8(ir z&g^!XOp1Wj39LuFfTjL!m5H@o&dii@vZMtdMe4|ux|`ZwHBBc#2~p3prs<4jv!D`U9^xWYs?0x^;^eq6H``E2A4MEG*bWo325C)K%rWEsm7zZ(B$^v0PdU`fTs0opkS?C5xB$;X=ZHQh# zT3WgWfD2*DNH^f-%`~P{6$?UOA=V9ui%Vqy7Qzs*t!_X}%uSkD2qL!C15g^N(PbKK zqOz6?1B@{(fT{Mn`-4Tm$xVRQL{6fR75j1PcCsP;0Y6~VmLu@)<&MBWz5M|{V8`#L z(4~_r-f!?8(;v*|?+@lL`~{vJTEJ6s08!5UIe^S(`AEI{kZC7+`vZOth{fNygQCJ* zI{)+bKePe5JkYcqyN??0fzlp6c}#=(j|XqcgM|yn+T&*m%& zq0_!Sd-JzOed1aEet7aY3%?&cj3x7D>jzv6`3N0n-{6QB`;Wu^(^2}f5cYL7^j-5S z!l#Wu*DWtNV$G~*0rpLHK>xKFD9lZT_0wP+TD%`&FaFJnHM7D25VzgN?56Y8%Mu}f z9>H9y-^QWU$%uCi=FJKRK=&TFiq0#=#PVO{e7x_S%pD z>wCj+?@m4y5hFsgoE-dg+FDD@0yM?Lr)O~zHS%!B?BGrOhqnELEaaMEvL|)p6S9D^ ztl#AF2g^BPT>>pYY0O7*Q^i`PV2X*ZUQ3a$+_2Lm@r=pCAsRF?Kt6h=qJ3{$5d!u3 z4J&48i6+lnj{f8QkoBq>F8;P&1-O@4L|1eiGKD52^K)kmW`)5k_h8a!Z*1IloRfwH zTuXg|`@2V^$Wo zQW1c2=db8INy7oWe2|3PN4IqbPPqdPVC1wZh)Q^FbSZEEhYp?9yLXNk^*@9p=CA@l zisitTP~KwWGg6e!?Y`6otSmCDQqHgzaRH=UNtv4Lff8Vh2i4qsP@3?E=^k(Zq-Lqt zLVZTk%3Ah;IQfVIV310{-h%syv*vBBI$&wgNRz|?K|54{lMYFb_mBDPp9VnBeBd1xRI5z2ZaH&tXT>1v-Cz;ws@7NTjJanH)#w`!ueDVw*;E z`DMW^HjNg*KPpopetZmZ(ZVh0QmG&0& z2Yi55Gfx>LPFm4J7%;n^n@(|f%mW;n(M}lf-a9sU{Opw=fNYQWu7fb3NrRen4}7M+ z{eKB?E$%kXN=mTjilWigv9Z9pA3jq7NP_=J%CJ99@x-&1Wf@JN+_pS217Egpg4T`d z;C^Nv=Kg+DRS!slW#^vb>kdw6)u=9$AQ#{5O+&)c&J@sOd>B?w?1Gf^0u+{%p=Na} z>^PI60yLU<1Y0I|q$itlc?CowGi*7d0yvM|hj03QilX9Dl$2NC*$XLB({oi>Ab{EZ z+MrM^LE?j#Y!;^dd<6;jU!qT^mWaLe5J~s5uyeGl>cVr{wm2k7axtKj3u2fAarblZ z>#!!AQ-1jRjiuCzDXq3oR_qSHZ3(P{YR(SjfjfCy{B8D0DWc=vWLbSYj!!U0hL zyT`HX6bZMkpwlj6XYwwGZ=K3|B>Fu7^1dUN@b7U)s6sf>k9T|cjyVcIC-1Rzg?*g{ zbb4{uuXNgR*a+U`n-|wH2U%AfIv1?~cy;ok8wzb3BKi0kv>P&rcaJf@?S*HThRk6v z1vTGw#f>W(0AjHhQqj`88=beZx1&?r$^kx6=hETaz9Dj-Y5;t@bf5`}%55p2Epv=i zdQ_(<70Qbl$rTmA&bl@dZ>MnqbT5a}(Dn<}Ibv360Xr`_kp`#sw#YBa;R0GWR}3R+ z?C3}Vp1w_4j|iYbsyMBAbftg=5W6qQ;no8JB8ij$nkZ9sAwss*ax0-iwjOBKM3IC! z$?B={hyav(d=QlbxihqDqGoZadql+Qd(^bo*BbvBfAF@9Kk# zC!b;Z$_U-#5B3C1kVoCRk7dD5h`8*8$iwH+xpxN)_I`;8lT);^qc#3uyia#|=$slf zc;9WRz`A|EV`9I7AnS-tSelO?w;d23f53V$(F_rfKgF5wD0KGefFUiDFkx9fy8NpN zx=ah!J^nx$gBCSyP*PG#RwJEhN2iz=j0pYxLBym_+m&`E4s4nS#! z0RHhnj|YYp-`_a~e*+JUF&1Ewy3#11{oJEQ3$Fx!!37)&>SeIlHzzjW+qW6M3BSjBq}-!&J#P%iy)>nfQy29tsk^M1 zjs<82NeCcVjDI75vNWa->P&@70GY1Zd!7@0L4d9r$>#~L2f9orfS7t&YnslpbyMx1 z>jgEyfN}F7c64FM0V6%(;_OK0^x&YNtfkK$!nIsAJ_Kw&Z9)qT}#TYxZ8=EDq>xH3X=gG;Q?Zx(xGWk~r zB;1rB?rtU)PwFjvy+8mXgM#RSlehwTjM&Z1jk=p~OM=aRBw+olFNLoclpc_w*3a@v za5|*|$VtVl!ET63U_3~XV&3R(!q*GR7z6}NV6q{`@{^f(`uqu|c5Q$I=Tm76`ZE_G zI>#$3OTnwR7yh`dc((Mec|KY+c7#_u7dC)8$17{r11~p6v~yDz8!%pZmj7@TP`7Sf zDzLRz9iiUR@yc({@PRiDXgzceJD<3FiD>{LR89o}e0ws=1HL_}&+CnW=AMMaya3I_ zy2N^e$d?sOD6a>G22f`fg!Zbr{`Grcto>aEF!%>-t~y}(;&CR4XU+Rr1-O?{Y?QcJ zeJkC7U3Z?*f29rk@E!VZFrd#LH__^oHtcfJ)i@mSX<<0PduKFk-*3n+7d%YI@!=ix z0}A(SqyHm&EkKRd|6&DsiMMcUVt4(3r_7PKeT@eAxp`Z}lV7(V;^}Z2%dQ`se!fsP*_UE4bgu9^x_9?DF-?PchA106@-*3JVLN z-aM|RMk6NwIJ;aA@8Ro@C!$ZEFS&p!Rb`XZl~(oUJbm{1ssmd08)}j`@!;;)1gLTr zLY7Q0Nj!VbW)T)Eu9-ZB6Gd$0p*@1MPb%$}~q-&V?u|>plnY)%^V!G)VF6eed4Ah^YBU3(zaq ziKa0aV6|i|isyX8PK^c-Q;M}b7&2BhZhhsC<(=^5c?p-{@idleq>)Kr$#%XOAqPcf*)Wuq@vC7R^Y2+sDmCOG@ zad9!djl@gNz1_PxYOw6Gl=`T za$sN}rca*c;f#l&csr zWGH(cXvPT6oVm;ZoFL7SA?bbwiWzZvg$2Iu?tm=^)6lt7<-qq{yLQ3J$%PS@p{%SN zUAwkt5Cmk#1}k*SHbz(&=dQrQyc#1lgO#NvR&Ls(0IXfR2Hib-z`Ry7W>Y!NJSt*bHN*IJ)!7&n zN)>~AViV$-;xt1EQ_1!mid2=txwD5+uj@1>2BkE3O$!rIqed;Xa&y5i2cj@u8jeyQ zcgU=U!P?3UzN2Sh!MA>@dJyn^FdBP}hgEeOG%iS>!K`6#PhH=6I2xm*hneQe_~+9C z8HK$uYTA69Il7r!6N5uSF=bpoSTns&X;}ptH*&;#PEPoh@xX#<3qxKUM5zquc|wLI z^CoG(I8Pvp7|6R0^)PmLFVwQPLzAXWuf!pEqkP zAU5_EbMUZ)jg56BfOu04b?e&Eglkp=@Mg`RvHK+9vL9#iX3gNS`-=jn@@9=Trt9%{ zwFIlz{R%^}CfFKvJ&WfAQ5V1v)7c;JWlan4njQ~~HAy^c-c}W0N_3i0;`JSxY6HBS zopDkkp;KbI=6M0c#4@o#9xU(Hkl%x-)J(dOSaft8I&^3wI4|hImty^|?eYRl_F(A} zKlq=&W0VK&I=4l@oKOWID98^1F?Wpez^z?d1O;gTjPZaA2pEZg1PSXwkf-8oJs~ER zCgh!Wb3@S59bAA>9;gFI5M{Z>J?RqHv{D7pD5ZwI1>=?6hd908SC$m!V_JSG<_`=;(B8RNUcDMzYTD`kzOp%9qCzS~mh2V0 z&u+(%&g1ZL3s(fjtUz|`L)_^1gZ}R;mlx+@aX~q%H}8!(K9g`l7J*xN4-s=E0gZ2_ zV~U*xzMN6Q|9xfi@;sb)nTyqlKV#e1t8qu_3PG0FncD!# zNo*K66MJulq2ap?a5*Lp%jfCF@Rrd)i(V5%4^e8(EF3_ zIC1+d939?4>YX&qwUitFedU8$PtdVtJ6y@Xg9etixO?YM3`3sb-&am$uF}-4f@wLf zqGCMBeDW86U)idfB|UF^3;Khq0}i`X4RG%#$eZ>tL75Ds-PZ&tKgQ9Ln~*LitJXg` z4-`rHJV@3fuH3uw#sjT?l&b(X_WDKY_DZS-AS-l@Q|2?BHz16T!Cwp5v~gqA0i#Bb zHc7mF+cpKjvrAX>>g7!@ybUpOXD1@!IHJx)LbQJUdU@BbpP_GGU-}_lLyX+04G%wr z^HJv@TC--2{Ik!xVZea?^vXRhE)HYIjzU6$aCIbid&9yGAc_E1ty(4T*6ni)95{di zrc9ZF;lqc+-+wADUyc<7?B5@T$jGx0g@lAq4~7mMLSs;?mOZ_r*6xZ{iKM&gb9A~9zA-(*47p_HZ}%j;nk~GC@3hv>C-16^78Wf z=X)ssFTRJeW6EHhOt=d#w+}FK{T_C`-g{{?d=-6v#&a8lU73af?bo1wJ;l)cm4|K{ z2Jr1$AD*7h?7FBZ2@Zv4=m#j>4*R_|eh#mT(_v@PeZXfJ*EbsjzD}gsiIO!H1`O)Z z24PET()j^%auIeh3IjTNa@L7myj1|rK(QV$f}i8ts623wqhgK+wO@p31**SaAP$5s zq%m+-^Gw40YsFwp=S#eSQbGtk#IGi1hvxE^!mhw4f`L-cj$l35HR6(Bp!P<`30APT z?0YEsZh;CtV=(H4C_aeMFGOiVOnMb&OoPQHn34yNzy-?&S`EzTH>&<= z&IUH;m$ian#+2u-d5XIKb&!}jsRWLMlW*1zk5+xG(C**uuwmMH99<>T zZjIjlkPlw!jJxrfh}|v2#O}x8=H^ZTw{G3U$|Ig=J5-Dh+#RteK!QDs%ea7E44}_^ zYrII8BWjBbYoZJ@S7%pWMRQhS9s61g2-HsQ!7fae7pkU zzp){D%(R5OT!iBx#R%wk5pHeT^S|F1xXTq^EwjLZ@5``wcq+Yuo3+Im{eQH;zVFK5 z-zy3p9&W<#H+uVwhQ){5>BH-}{gdhMu`Jl#oZeR*?|BLzedMA4{l=*i7573sJUnRA zy%w(+I`xsehj4TL>)&tun*l`M9p`M6FZ0&9o&z9>8aHi$#4%0?yjG5t;iou&8GUC_Q@n%UsUJ;izOkqZ}jJs|0bDbtd4Yz&kTl7C`+F(5|b zK*eWHL%ymXw-g9ucTYQ-ozcIX^1)-;faUJ42JP9Zp%bPa zJ;@K46`!IPulVZi^02WxwD!8fPQneKsQJ%_3Rs@d1Vw8%@Q11xOq;C~_3bbz^a zbxgk$rwv&0kzwCdHn$Yx+t?f00Aq~;n6vXY(<3!lueeHiGUbW!03x2`I|>^QZ8sjE z6#F>#M$b+Cj032PSxF#uo4y0v`l> za**!X(#(qK2blJ6W{rB5b(wxZ%tA;n)kNH!17QK{A8gVN5c6j)GKalIP1so|8dwuM zC+xrY2Qo9W^#k}U=T07{jZlDZ``)-yr2T6sq=d6%s^6|E$S6d1+A~i35H;WVfjl?2 zfOl`zMP_jBFrN2?lBRDN@C2`_V5ip-j&GjbU{N3sAT4i92y7^Bg_Fh|Rr9&k@LxI`%Yo;2#T6 zUrBo6jlL@>;Biqp{wz{>qJB=GvlIwmZJ(bI_3R?#L5w~!X+lgoHmXBtFikl+8)|O`&}sC3T-Y{H?>b%pNl1(jz_*?Q zAc^*de1So;kMaWewy^+Zf*1M4nEV6(Z`N&C&;xbstT+$~P!|&;Z&}JkWFzRiu4c?K zoiA5h2CG9v9Y^hxE5*5mh7EqNS>2L_P{26f=BQh%rcuS0{W2FnAG)o|0)f=4XAgOq z90i3%ydvA`)(}~U@cg-yifI#A&7t#l3uiV3y@DxFaU=WEoJ70$M^jy4<<_SW0i%}^iZ6iOY2xg@A zW#{rjv?`KPOiT$-8lNYes;q9IKX~IsUJ(V5wy|z6_dW`5RaW<8(+@rIGEc?<7+jGE zfX@S?02=~(Aoo>?=>Vg%pc%wXK@6ZkW?T>nWPD#&G^}3-b?Q`Svp}q{qy#B{rsF?X zp6Txoln@KC1qBF+b;dvmc_DozC>8{$LmoWM78L6Qs0Y@h=4_}57Ne#G`?;V)+g7>( zzXtPv@jf-}1wB^qK{$Y*$=c6aEUl~Qtc@JN)Ir?KojP^wj031!Yu84YG1L`LataLt z@D(A6$$uB1nGHUGx^WKg>JYX?)~?R!Sos>2-o~V_Me1!#`dXyk#-y)B>TOK=TI5@P zeqb^nIyMP&Lv{aXwqQL_iiP?HVk7282m{pHKuJ+4FCb_`v|#{c8_+cMMr9D-LQ)pHp7_W-U^d6bDvS93ySuh5M9+`Oo q>JWWLW+`yNAlwB20000MIp`jR*i6W?JqA3!-K!!<%O86HLkT(%gUPS~HBv2$wM3h(k z?fD%z!@Qj{Gygv-l|IkcnK|e8`^@j0Ip@s$XU+@~xcE;xU$O@dZ}`1Vm~IJx#@DWv zsB|&zSqiZSXmoU`JyVA8#3Jkf5QnxOw_8?A`35;c86eslPh9{KHZI%Gr&yA*j#L0# zS}B4KfQbyyQoPJmTmUYw9QQMo4siMOY8g;p;B6`$;6kCF45-VWYbq5WC;V|Z6*m?N z!~X=e@y}Zl0?<$H3%FtD_@lkt67jz)O;_P!eZ6I&z1$aE?#?$1FvQbA)0=bTyG0WgC|JZB|91fc-;)tPdoF%SbpI*L_!Xltnsv;fTwzJ>9?I06*z_29un zRE7Xi1X?*20TZjt+Y#KT2xw~~5#Um!9y%VF{qtTNNX6}qX3ljDmmu$W30=1YNC_OE zbAI``!PbiK&BVLNkL<7LQtPZOiVhGt;}3LLZ@5qhZH2EffN2N3Br|%!85TkmKjLJ@(I|1m-^k2XK2XQ4Lz{s&^>%+8o7@=td2w+Z3 z%o!u#HY9YWHBa`=oR}l#89B=Utuq=cg<*3~ZAQ*$tdy`b(OTCy+v<(3ICsx@fP0@;W-AlTw(D`OHQIKxeaxV>?g*9642Tq8+IKR`#xn zVnb#Z01pfAu<;J1A>iyQA6k+Qz>cZY5io$A2;Nwo?pg#YfVLHy32n!&Jk$knMLpnt zqSvBOa77fryYXNq6(FXp(U!P?BUNfy25235$|gTVgR`^sfV##yQ*Ao96aKpPJt|=x z;2uV8-av&;Y@0b70%j&uQK8|zZ@tA80&%GW{C#jC+&^=P&>3yHfU%J|rb1^Fu5*iE zCIsNpun2af1GvZ4qpBjz3dw+{y}zfB2|=mQ=bb3^56@X&b`TMQ7Y>ik+N-@&Fcf-WxiMD<>^nmfe?yV24C}2xwy;JHwfXhX2_Po&jfTlriIt|Zx zN~azSkh~o_H7AeIsRsjYT|028Dc{fmvB^5jk++SLS(^6`>H=Jh9YKWB+Sz??1j1($l` z?fC~iW&Xi-Z%=q@YsKi%H^gOA(?!K`slz;w6a(AM@fh4@VVE0v}B2MCA_83ETT z=Rn)(_n@tO7Nl+;M**hu4=`-p^TmQ`5V3JFy!paV*t*V-LX3)|1E4cxjHg`}*ITY$ zppdqdaa0Hq&OeYNAOMWO{rP8MbFeS89vlmAjvNZ%^QN26KVWrGx#J}$3m;8129hJj zz=GHR*V_C84tTneadYFFtXzwMjpWOdEsXaU^UDfl}l~ya{*RcpfCa}eSljB z+Sw0gGa+uzSMJW=3*)CPg4Y*C$SN$Wk^!c_7m)Zm0aVr15j8`0VHwN`jDi&r2{MHH zdx1HZ)U{G)T&9u7gBSrqf&cDCV{RCe=o2)z>x8Z909K^+fVn->cDiqGJ{~5 z(HVu#p;2iRYH7Z*wjD%7CD7jrw&pA2Bxfe(@H3dN+;gT6+;BkOiSuMR4Nxw*0HZzG zioj@3T9~Z}c+Q3Zqp+Pm3cLt}bzr9gg+<`))e^v^2yR_pxU~})=6G)aS407#Y33rS z04FN1+L9??VSEKV5S%3ow`~C)S(gRlk6f39+qM7?E{TJF;YG4=+Y;btKrp2C9|(V1 z5Dia6mde6yOMpb;jE@OFe|rhM_DTRe>$L>_bD19uU*`_9V+KO_kzg@k9|2sQ`nIgk zW(|bMx@odJqXrrSl9Q9EB766SGku&sB>i{k_WtTdW%iVeI zykKxe6yWUB|Lz00Tm)xFWffpo^g)#>D=USv1V~HISIIV@+apj$@@t78YFCmh+{Sda ztpm8!kX&lYE{_KyYu!g;?hWarv|&CUbR+35(F^R0`3)qzWZZm9#8 zi-760DLVsT&Q1Z8&N4tL1So|LO5L3K%6Q&ivt|th1_r|7#fxG2@&LLmd_2G$KmPb* zSg|4qVjU^uetH49uUZ2qPgcO8%mP@sG6;Npe2nkzW1^p*A343%!QsQXaO6lHBqnB% zo3oXWlT%DyRV;xMMW-QhPa637`s!a-_9clIFJ6+bz!DPDh|(zl@A4KB!1i6q5Ed3j z<>RwRePep-)-BYrwY8NB*Bzu7IC$nBD~4@RiLfa&6gGrxflC$pAZX>Yt z{P4`8A;-m~c1F>vx+Yw=J_LR$i-FpbIDnGTaH((#Dazsw!0Oe(kepfo3CRTzmskM% z;Bt?5?AL z|2|yk4;xc{ge}=uAtjmYg&YwUdRP>Bmmzcxz^3=1y(SDQPuIdwHxGSF96Mn)B*dpc zdRi6@vyyzO0N^@o*_j9td&xT;TfCrkgBJ`PGt>CRc}#R8km>I&A?rC%T3SZj$t*$g z1LLc26Je6aC-98IS=bw2bzcAzCVvQHC(ebjuf7kH-t;l=jW^`=gY2Ux%>lgMMC=iv z2*L&6LrVO|Af^C(4A#=pqIyJ#5cZ6bS2P)L`EnC9H8sm)fp&Jd@}IJ3l5$?+rAt@f z>eVI^O$!&GEt(9dtgMA|=YAq@(l$Ut!&L(6iiX+Hsi&Hv$$*lQN+>Ts2i4UVptklB z86Pjhl`BoMA+KmM07o7C77#-4G1>X^7b%1p@`@${($n+EdEf+voH|uai&Rr{Q8wfi z&C=X`wBZ%a^4xu1(P(GF+yhd_fS*-&*WlTG6Y1E z@8Yqg**Z6ZIgScT;zqzSQFw9@t#czl12c7R1kI$;*o^>vWI%m0*p2{wbO1XMr~&oO zst7O>#S9JC$%+nOD*`0|D+CklNL7iq_W6R#0IT0u_D%FP23YyNGCDu7>fh<|+O=yO z0O$M4J67Ed_kJS5x)V#`U;QN5y8LeQ?<-&baUHam`a^ZWLio$-e}ljrUr1_;gr`&g z8y;Kn2W#I~&RBC7jP$<)#_w{2qiy?O$>o{wYPB0Y81(=Q{rC>}Zspwyfad$ka5e^F zkADTjw-13T$c68kLLmI=Dj0Ke7(9P=F#PkE{|KLa`WrofeP0=iur6jays>!zO!{&F z9B$kK9~^Uom6aaw;>O-EYW;&ScWtjOfcE>!=d*mEEXfN>6F-0fVSORJF$~_zd;yl9 znFeEa44~gC2k*B^ zUS3|XZ=VDD_wR2VKy1+mcP@E)dcb$zMMHdi0%T+yvLv)cpLgEz1Zl*G5#Wk$e-Gtm zeGetna{`QiasXZ0`VPh{w?9*%Gr(rLWNDTGNt?;%Ps^vs!fi_c7B)JCto(qk;}W-7 zafATsoHUq!=Lau{yg$(O}S5XXtP;}-V1yMy= zY6qf<`Wbx>#n}fHwqA%bg4li`N(*u7g(xMY2Yf&QFB*#_a`j16Ms$+sI8iQ97E#eZrU`+A={}$4vb9nLR1DZ$nPw7jfV$RPn`-)hYmr}kRgyj z()M7w=!K|6VsHo}7&i{CojL{e?eXVXW-oDpF`fL zQIK@seX!@wJK*byt>*xu49_%_fYUq4)>HG31+~^*tI-rbPv2Zr>p7WI;LSB+8Fl6k;EvXxfl3m{1%>{L0V#TtlV_>?@y*_n1?oK zs{`O(LN5FcmgNz^yOQn?m|z;_q0Ng%04&0Y_aykd@*Y@Q{dX|x{VoWuV;bh6O>%N7 z|NX`nW|6+obQg7Ee@X?{F%9#uIKuZEUl=tN+&++CwAUT--($gbOxwG6zqR)p4<9~E z#r_^kYQ|xzpUK~2`Go+a`QNK#maYO|#zP@z;4*oD@qT8z4uENxhc>D_t#jDPYg_>4 zX(5uO3b(e-to-6-NtT zVJn@xw;kN>OaNmC-D6uafNoT*px=nY?_-&%JaL8|Kr=hPjb$eMmfVd6jC<<0^e3Kj ziMlxv@b=EuZ%!TjngPmhC7MYGz<%ITXF_WDrlpX5aGR;nP6cqOJ3Bj-Nd68jZ=|_z z?R`{E4Qc4Oq{_!R0CUc3KV%=Ebl&{a8oE7jXMe6#0Il;b^1MB>J%K8%)d2^Z_dx8G zoe+JQ{C+C^n;e~FTy(GwxOCyofw&_b8nLQ%+6*kFqH+wPYf^R{S?T0Lv3l z;{$J(zCktd#26S+Fa(~57J3jgolIgrw}7!O8^FW(lJnFIH_bDH8zqCU=#^% zvleM2!-k}U;JQ;ynL(TeFo;Wlo^geu>@-dT%*F*%0QM0PL=yFPY?;`(L=XzVK90iv zj{P3{KN|~J59L8*fT;hoF~SHU1F)ZCf5(1L`#%{6a6C{#Fd8jH1{if)91n0@!0~~N z6*z97k0pSSw0(pEKCN14*ynLPP&(sL(e@AN(QS`#`#T!*_H3ykF@UIRn*z+n1yg|8 zn9#$=11r}E!V3&+vQAZ^@_fmfuI0n1J=tRW=e0u93k(zk@EVjPa>i}!iNemryE$iwTD^c7egJ5wK^nmZ@x^lF>-a05~ccT@wh80s?SQMF0+MP62RarV*4m z837LO2*5$sDF7Shain$%V0K+(3NX7ay0PPd=wyo{xaCUJ3eO!k?hW4jQbH(T z+n#)gO+8~v=tBXl2$-<%P$kX$W`D7vFb{2*v#t_ZB)m#g?wNZSwFYK+-P@45r78EU z%Y9zCEdkK+EP2m8d~bmeB8i-_$>OmWK_rngwtECPNbBQ4B%ZSpz+?oGv=zow^uuKt zfc-$5Z(0X92514cD$ytcTL2u1TmslGg0_+h&otPtM9jcLm2~v1stBm41EsJyB+1%% zz#t63a~9SCgNU3>I}<`g&NsF@+a6GOLpf7wW}Z3V^tnbuv2%qHL*l2t}SqAVfdu;=7Y_MDhR=aWc0<_`fo~pNWX4Z{~ ztoI!&`^nOoS$KN4a%MIik<6S;Mlang.h-- @c-- mblocks.c -@del mblocks.kex +@del mblocks @rename mblocks.com mblocks @del warning.txt @del lang.h-- diff --git a/programs/cmm/pixie2/pixie.c b/programs/cmm/pixie2/pixie.c index 8a8b35e3de..759c13230a 100644 --- a/programs/cmm/pixie2/pixie.c +++ b/programs/cmm/pixie2/pixie.c @@ -13,15 +13,16 @@ #include "../lib/file_system.h" #include "../lib/list_box.h" #include "../lib/gui.h" +#include "../lib/kfont.h" +#include "../lib/collection.h" -#include "../lib/obj/box_lib.h" #include "../lib/obj/libio.h" #include "../lib/obj/libimg.h" #include "../lib/obj/libini.h" +#include "../lib/obj/proc_lib.h" +#include "../lib/obj/box_lib.h" #include "../lib/patterns/libimg_load_skin.h" - -#include "../lib/obj/proc_lib.h" #include "../lib/patterns/simple_open_dialog.h" //===================================================// @@ -34,7 +35,7 @@ char default_dir[] = "/rd/1"; od_filter filter2 = { 8, "MP3\0\0" }; -#define ABOUT_MESSAGE "'Pixies Player v2.4 +#define ABOUT_MESSAGE "'Pixies Player v2.5 A tiny MP3 folder player. Controls: @@ -85,6 +86,8 @@ enum { PLAYBACK_MODE_PLAYING }; +collection music_col; + //===================================================// // // // CODE // @@ -101,7 +104,7 @@ void LoadLibraries() load_dll(libimg, #libimg_init,1); load_dll(libini, #lib_init,1); load_dll(Proc_lib, #OpenDialog_init,0); - OpenDialog_init stdcall (#o_dialog); + OpenDialog_init stdcall (#o_dialog); } void main() @@ -113,7 +116,8 @@ void main() if (!param) notify("'Pixie Player\nPress O key to open MP3 file' -St"); LoadLibraries(); LoadIniConfig(); - SetEventMask(0100111b); + kfont.init(DEFAULT_FONT); + SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER); loop() { WaitEventTimeout(10); @@ -185,11 +189,12 @@ void DrawPlayList() int i; int yyy; char temp_filename[4096]; + dword text_color, bg_color; for (i=0; i47) strcpy(#temp_filename+44, "..."); + //temp_filename[strlen(#temp_filename)-4] = '\0'; + //if (strlen(#temp_filename)>47) strcpy(#temp_filename+44, "..."); yyy = i*list.item_h+list.y; @@ -197,22 +202,23 @@ void DrawPlayList() if (list.cur_y - list.first == i) { if (i>=list.count) continue; - DrawBar(list.x, yyy, list.w, list.item_h, theme.color_list_active_bg); - WriteText(12,yyy+list.text_y,list.font_type, theme.color_list_active_text, #temp_filename); + bg_color = theme.color_list_active_bg; + text_color = theme.color_list_text; } //this is not selected file else { if (i>=list.count) continue; - DrawBar(list.x,yyy,list.w, list.item_h, theme.color_list_bg); - WriteText(12,yyy+list.text_y,list.font_type, theme.color_list_text, #temp_filename); + bg_color = theme.color_list_bg; + text_color = theme.color_list_text; } //this is cur_y playing file if (i + list.first == current_playing_file_n) && (playback_mode == PLAYBACK_MODE_PLAYING) { - WriteText(3, yyy+list.text_y+3,0x80, theme.color_list_active_pointer, "\x10"); - WriteText(12,yyy+list.text_y,list.font_type, theme.color_list_active_text, #temp_filename); + text_color = theme.color_list_active_text; } + DrawBar(list.x, yyy, list.w, list.item_h, bg_color); + kfont.WriteIntoWindow(12, yyy+list.text_y, bg_color, text_color, 11, #temp_filename); } DrawBar(list.x,list.visible * list.item_h + list.y, list.w, -list.visible * list.item_h + list.h, theme.color_list_bg); DrawScroller(); @@ -234,8 +240,8 @@ dword GetSongTitle() { char cur_y_playing_title[245]; strcpy(#cur_y_playing_title, #current_filename); - cur_y_playing_title[strlen(#cur_y_playing_title)-4] = '\0'; - if (strlen(#cur_y_playing_title) > 36) strcpy(#cur_y_playing_title + 34, "..."); + //cur_y_playing_title[strlen(#cur_y_playing_title)-4] = '\0'; + //if (strlen(#cur_y_playing_title) > 36) strcpy(#cur_y_playing_title + 34, "..."); return #cur_y_playing_title; } @@ -247,16 +253,16 @@ void DrawTopPanel() //Mode depended if (window_mode == WINDOW_MODE_NORMAL) { - button_y = 47; + button_y = 46; img_draw stdcall(skin.image, 0, 0, skin.w, skin.h, 0, 0); - if (playback_mode != PLAYBACK_MODE_STOPED) img_draw stdcall(skin.image, 38, button_y, 33, 17, skin.w+1, WIN_H_SMALL+1); + if (playback_mode != PLAYBACK_MODE_STOPED) img_draw stdcall(skin.image, 40, button_y, 35, 19, skin.w+1, WIN_H_SMALL+1); if /*(!list.count) && */ (!work_folder) DrawPixieTitle("Pixie"); else DrawPixieTitle(#work_folder + strrchr(#work_folder, '/')); - WriteText(10, 26, list.font_type, theme.color_top_panel_song_name, GetSongTitle()); + kfont.WriteIntoWindow(10, 26, theme.color_top_panel_bg, theme.color_top_panel_song_name, 11, GetSongTitle()); //Playing control buttons - DefineHiddenButton(7, button_y, 30, 16, BUTTON_PLAYBACK_PREV); - DefineHiddenButton(39, button_y, 30, 16, BUTTON_PLAYBACK_PLAY_PAUSE); - DefineHiddenButton(71, button_y, 30, 16, BUTTON_PLAYBACK_NEXT); + DefineHiddenButton(7, button_y, 32, 18, BUTTON_PLAYBACK_PREV); + DefineHiddenButton(41, button_y, 32, 18, BUTTON_PLAYBACK_PLAY_PAUSE); + DefineHiddenButton(75, button_y, 32, 18, BUTTON_PLAYBACK_NEXT); //Window control buttons DefineHiddenButton(Form.width - 21, 1, 20, 13, BUTTON_WINDOW_CLOSE); DefineHiddenButton(Form.width - 43, 1, 20, 13, BUTTON_WINDOW_MINIMIZE); @@ -295,7 +301,9 @@ void DrawScroller() void DrawPixieTitle(dword _title) { - WriteTextB(10, 6, list.font_type, theme.color_top_panel_folder_name, _title); + kfont.bold = true; + kfont.WriteIntoWindow(10, 6, theme.color_top_panel_bg, theme.color_top_panel_folder_name, 12, _title); + kfont.bold = false; } //===================================================// @@ -349,8 +357,8 @@ void EventStartPlayingMp3() char item_path[4096]; char notify_message[512]; EventStopPlayingMp3(); - if (current_playing_file_n > list.count) { - current_playing_file_n = list.count; + if (current_playing_file_n >= list.count) { + current_playing_file_n = list.count-1; return; } if (current_playing_file_n < 0) { @@ -362,7 +370,7 @@ void EventStartPlayingMp3() sprintf(#item_path,"-h %s/%s",#work_folder,#current_filename); DrawPlayList(); DrawTopPanel(); - if (strcmpi(#item_path+strlen(#item_path)-3,".mp3")) player_run_id = RunProgram("/sys/media/ac97snd", #item_path); + player_run_id = RunProgram("/sys/media/ac97snd", #item_path); sprintf(#notify_message,"'Now playing:\n%s' -St",#current_filename); for (i=2; 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