From 65d34dd7e0da744c3f554b566d3913b9333b8ee7 Mon Sep 17 00:00:00 2001 From: Yves Rizoud Date: Sat, 26 Feb 2011 18:44:43 +0000 Subject: [PATCH] Issue 346: Basic support for multi-line text with bitmap fonts: use alt-enter to type carriage returns (like Excel) git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1737 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- share/grafx2/skins/font_Classic.png | Bin 2634 -> 2636 bytes share/grafx2/skins/font_DPaint.png | Bin 2647 -> 2648 bytes share/grafx2/skins/font_Fairlight.png | Bin 2681 -> 2680 bytes share/grafx2/skins/font_Fun.png | Bin 2728 -> 2728 bytes share/grafx2/skins/font_Melon.png | Bin 2715 -> 2714 bytes share/grafx2/skins/font_Seen.png | Bin 2605 -> 2606 bytes share/grafx2/skins/skin_Clax2.gif | Bin 19290 -> 19290 bytes share/grafx2/skins/skin_Clax3.gif | Bin 20334 -> 20334 bytes src/SFont.c | 41 +++++++++++++++++++++----- src/SFont.h | 2 +- src/keyboard.c | 5 ++++ src/readline.c | 2 +- src/text.c | 2 +- 13 files changed, 42 insertions(+), 10 deletions(-) diff --git a/share/grafx2/skins/font_Classic.png b/share/grafx2/skins/font_Classic.png index 8db8d5fcef4096bf8aaf63fdfa56f602ddb2e463..cdb0701637bff7a89537b117cb1cbc73e8c7ce40 100644 GIT binary patch delta 1833 zcmV+^2iEw?6wDN`AOj6;ZEdQms{jB0$;UdwlPv=tf9y#_K~#90)K`1{>2@O?jzs}^_UcwN_ZG1-bSycGT|0~>X6 zGoFsH%5j^&Ue|Mi05fD+nTH`++8v2!BqrAAiUVLDe@%WR9&ul<(v_P3{PQ{R;|>8ZBC`Y>%#pte01(2O5mU8<8;gO!Hvr5SXX2+Z>ovI2^D`D+T43Vn zL8;x^0uHPM-nKxomkqpNbTS}{OqG7f0Q9Rh2)9odfXqPv6bPv3mH~;gXo_gSrpFjK zMHZr>^>`aDU>NlZ0-!2Tn8oT!r3W)j%ZR~Mf5JU=fV%zk(g}kCs8!Gw5C#-S&vt>* zYJcD;nY?F2f&U7d^S$(-zcWQ;d?y+afdLwl+B0vmM(BA_^^zE$boliE%$X>VoH0=Q zl@o7U+x$Uvv9$o&1=?jj3Ew7vI&JS5h`m{CLId*V`~-l?kmcbOX89Zn0E@cS^)jhv zf2J^P4FH_!wh{StoJ#jVNs6}YJ0AN`2bQA{5zVgrF#t^&S~b_Hq?S>t8IU5?+dVKK z;^$DM#3Xi2rI++*(p|LfIzB}Fl|MYise`o!^hCo!6XK~vShDee~uq>^sZk07X{- zfLqLW>{A=U6UgsLge^Ix)TdSX$3)`$cWf2B15 zwtsdnnoxSx^6N7JyNU;YfBl36jJHY9AkZSp04;YOS3gFU@B@G@fChm5QGoXkK{Xp{ z%X06n{)Bi(D%MOHpbUW2{Q(2c2wcpfc@qHZ{W0ULLbwM&7(g1*w!ldPzV1L420^Mn zs{Qa6bR6doD%SxpXN+S18xq_eA_2qm>Sq32RR6|N^b3(Iy#taFe-~tZB?--I{aO;I z-ZtAXD(4$`4;Fw4l%?(_{AKsi4TLjdN3*Y&QB#r*0*qtWGWFX1 zY>+D@RstxWSjE%lNdgfaKR+m+3IN5w0$?LbmuZuW765I4+&XmIlQe(^06^~7xNURn z3@mz}S+Sil0F^Krf4I8gdaeM_7QiM8PXqukfT&HmG>_cm-&XNu9ZeXdKzMvv2*9H} z?Nm#P8OeYmPvKu`R;ts_yE=?a6i3Yh?0?h+%X7(5)mYV*@~&EZyW1~!; zl{qb?jGNr(cDQ0`C;=YsI}#9QH$Mte)>&Q9`iaKRSyX|`(UlE0mAO6j0c5MP8o)vZ;42?fPt6+aEGhVJ|=B@6}zH)jk=llJztLd!PaiBP>X~w)! zDYEzqvsnN5{vn?7{hNAdw@wOC!Mp6a=+&&;RnIPue~7!O=zbY#0LLU{=6OEZ@I3Ec zk5(MgW9C7l~U$uatYv01aR{j>A|hvbPs@XC6R>L%b6ZTnwKdANHx$KYs{te*O!x X?G#_359NC$00000NkvXXu0mjfau;m~ delta 1825 zcmV++2j2M16v`B^AOn#=2?S*vuCtRZ10H|sNkl zy^@NyY4rjWn9S zUh63!zzo?Ya``rA*Ec0E~z%0Vlqo{sI6H!kQUFr6lAc0^a~IeVl=x=8|y%0241IFmZIJRBtT-XMi}~ zmO#;$1-xK%G9Z#nnSPT22|#fW%I$&y$Q%Sffq;x|8IU+jPmvz5sWAp_!HB|um z4?xefoLj$gpUJWlYr!B@xC*$Z4p4uWuZurgSN0fyCJk*jS5fMgk*evCBGv0XFd+PAS0%;N?3zq3 z>CuF{DBZPxi1;ghc#2a4>mJY(4JQqVMTxQ+bpyb*ZR`T?OJKm^?7gZ*V5xZ3YWz|t z@4cr#9lDa_^&0rDV!vU0o1uSq?J|OjG&i62TO#Br6-I}{bRdNf_O$Ei{zjkljQNgn zw#Y!A+ZkvJt7%I90bg$3Uq?G!WmNVj0EW1udLU5|zm)U8cF$Om+h06aZdylmUZNMx_ZBxqL#P%&t;JVIzM4&dR3N)Uc}M zG%Fj00V&UR0&wUtC1)k$MjKVS{m=t276Gj&`2YZ7+l}6kXJZV&$QEY{`x-9+)F43J z{Co<)HgW*=4b``%IO=0yxC91V?-RhM0HTioKOjt0^o?{@l4?3fMf>~5QA=^ezu(uW;{ z3hjk~l|zjoT6V)10f=+d;W~dXsq8>Q1$-&9YquuDjO-ZzZQ{28Fwklb0;UHce3P0d zzam_Cmq0f&>M6(IkpUaZiavF!2`~UiUFBST1VB1)*#ia#@)Ca#x2x|Z!y0gU3;K)} zEM@ECrde@R83Fof>ET%Hf2y@+{B!-e-svy7({A9|0rpp+@ug=%*|z-lQP7X5H|CH& z{;ja{NVn4Ll>+|?q~G@p=?SG) zEx$e!uq%J?*H3>4!1$Pi9t6FJB0$ZZ#nq3I#r*)FbD#lWKML^vA*g0Uby=Rh)t(UV zNW~f{1C$O>cYnZuGXfVtSe?frTAuV8dT%F|idG&9M(!UV7QajKxVnKiQSCWuiYuA!E^|slDQ7La= zJy-xLuq}0in!_v(>;>d#HWu{Z5Wk#0dVp|5Y-rZ?(rXIRL4bJ-TZUe%pA~YZL`wkW zg0*?NoCFZw@$-Z7sQ^&yD*!ekbs099XaUdy$fHA#JqZJ700889jmI|o&cLDtl8WPu z0jPvg$JKuf=W_*smH-x6SRw#`0Yq(zrFrBg`?m5g^Ju~#1;YKyL;xP;X{TyhNF)PF zdkXuKvyz=&?rIpRD2AF1SpV1;EUzU-?Z(<|Del^fZ%_N>sl0t&;GB01Snop)PZo3m zTx$F$hcwoC#mp}s2&nEzq#KQ+Heg z=kk9I1NIaya~9DR6Yc>B4DJGg7iROsn4vx39R?UEyyyWZ0H~Jz`Zznf16smf9tki3 zA0HSW-2T%8F*N=FrGoXfjCi@9nYX$>>&of1l=u6gSHoHDV@FY{DaO1}DYEzqv)KRm z{=uK}{hMlNw@(sL!Mm)vsMXBeRn0C(_}zbGbia*y0Q)3qW;qu&yw1DVvz2r;4xkmK zGHU}IuMz-(yzD$XKBM7+f8@dCoKg67KcC<A++3O3vGY+7_!QTl8Zidf~hka=G_YVQiuYUpfLKJmAHJuI3 P00000NkvXXu0mjffaPIB diff --git a/share/grafx2/skins/font_DPaint.png b/share/grafx2/skins/font_DPaint.png index c7c84745ae27c7d13634687a8b8810e6e0020c2c..f9e89c22ff446a77e7c81a5980ea4ff56e06fcf3 100644 GIT binary patch delta 1746 zcmV;@1}*v56xbB7AOj6;ZEdQms{jB0$;UdwlPv=tfA~p6K~#90)me#l94QP$|NqmQ zmw;4m?w-3^`_U=u(v4QFvxxqK#G-0P*u*6QB7b=6#h`JpTD_{R%{4eDZ5YfySY82d<3h%&>z>4E-37Ebr;0>dT0hwgV^h*YyUClw7eZv4`4g#P+Kt>-KP&i9Zksk0+V+@=k z3trKA+=c~o!&eXh?E=Ou?yi)2P}7u*DBK0ye^Upj+lyNz406D;pd}y-FhlQd0V}m{ z7#7KAN)-6tp>zJ$8r)GY@Z?9%tfEJKP=d%E$Q(bL{3bAcFnMV{cx?nVM+1h7KV;z; ze|D|VH4IR!ncO}J7N__r0Kij#5ctFIHPCN4gJ%E=XaNj0YWHR*I{?g|3P}9wp{XaM zAL4v;NsK2JWg0{qdr0k+teFzEDkf9`8PM&a!)v&CljQ^{e|@0+Cjd49J`#Pu6Jhoj z1zQAe^%^s!i(7Z^sLt_LZIV5zoW`321Ag21TXsIRD{n@0-9pdd-WISw@)ttB)-xUR zH_5BLQTEmcx{N{^vpz5HfCEjwjp^dhpjzXy6J7-d#3l@Ye0JTPEp}!P0Qu201CLv7 zqgB=lfIF^ge-uCmfPstk69$mXo#So5$UHdI__jj@07&CNInEqWbe#jr2>?O%tArAR zk_)#pL~R3rrCs8eyind-0Ge7mFn}__taS#AsP(53(d4`GN)#}_^4}H227opoVnu_a zQPBa|0x7x^p%`rM8GvLir5fU7pEm$_=1;c(A5_PBe|=u-lXs$zsLqvD&E0_(FYp$? zWLeldOulV=k3(#=^??={xQ1~G_*cXF{QRag)^4l+2*71@{|5ltCJ1%L2xRTreW%SJ zk3osAXV@5oef2Bt6>MkqHs07Y*LId>Ayd@<-R?+nX`qlqP^<*FX{{HbqkeVHn_j?s zK*$?qf2Fo-h3uP^wmL+HvAvh3Jpf@U?f^Cg&j5^|eW$ieYY%=)pbxWzX~+`*%7C3- zD*(-6e}cY5y)j2Lh3}!&BRxvh5)WLcAjtJyHg!9H8$0f&pg)E~H3q ze*zFUj0=bG8317b^^mp%PCelF4P;^c!EE*@_hbD)#c}-5bRQWeC`0y62Kx$ zO9TKgfT&HeG_TxbKX(3A9zz(UKrH_%5rBui?YO3mL@~hHQ`(oDS$2B4s}ZEa2@Ev{ zu>P?xL_L#`2qAw@4r#1y3Dw7{ed^|LLlc5p5%vn%?q@efJx6^3ddutf72f<^kz6D@#2^1jxd;*|o z99Mxbb;mVuOTJ;iGlgxgBD!M2JphTpT|n@I**r03Xb<>=0RajxdcX+)s^#^3oEN$S zTEeqD5?}&8zA(Oc{JRHY82kZB1?y`Y@%B73Z?`||YSC*ezxGqFhO;}zj-pgkjJ4qu z+58E!IsXEB|C6!_CV%)`yVrAAx*7-2ic*=i0ghJ*fIxoPd3Swg!v+7ygUh+1SkL`@ zf-}US>p+SS@6IU$-Wra9?*Uf0Hvd5Ygh3a9M|!W6d(QxMU^|b)>=}91mwIO$K!t<9 o6A(NMpI?vo(&@iH1i1D5ADOijOzd-qaR2}S07*qoM6N<$g08$Z6aWAK delta 1767 zcmV3`GC`)5(iLszWr) zjMvVx@nC47qf`>@%osT$0_T4}*9Jdd>)efeBI~bN&!upfGTci0pl-NuGoMCk4bm9v z=WD+N1ehVmM6N#Oy!4L3GXoQCw6g$+|Nb@cnLjDOd8=L8@%ZPz^%01~$bC4NVFZ5! z`n8&Jg8>*BSpiObLHz~*5F(lxL!~6tCIa68FnyeXpJvOr0Dy^?5|}tHr&O<(z+!+n z-j;yrs{-CIx)_j2rcA%dfC9iAgmSxJ05S&wP#_?qj|?cBrKd;_c&IT3Zo>#;Ku!e3 zz6YRZTF$LsbuMIk5o^OBRk#bdrw)Hmm)GV`t%*SrE6Dc@5aDKi99C+-Ff5YylrZq$ zG35HG4D6^Ec=9c0R?(wAC_&^7WRBM+zX?niCNIqguZ^JQXuv>qBN%5$mMqpj?qPsp z&E)n;usFp}0RUD3Lf{X-*FeAJ44wffpan40sNI{L>;N!-Dj@Nzho)9W#kn1HNsK2J zWg0{qdr0k+teFzEDkf9`8PLZ=hu3hkljj5}e}AC;Cjd49J`#QZB*N@33bqK`>NRFc z7q{--QJv$h+9Z2aIgK|527KH2DLe1ll{X{0ZlULJZwq)n@&h4X`#m?*jAU~RB;Bm`sw8~lmaK}}R ze*)+LFmSPc!T^%FbG!{0nFog&-*%_~0BIa3$C)FFu5&;+0U*eJl~7_(a^ZG{sBHkS zv`hSw7s`7JKvQc622duLwa$PMwf|HintWGYi2?>#{=0(M0MG_RtY~mFDmnmLAVqf~ z6oc(O1CY$6R70HX^9BIV{OK0pgX&nXf6r@u@=o*-)w!~&xjWF}1>ORfEDL*w$*+yy zafq$9KF}ru*Dy{2|1_-k&u>a&J#Fwf?8Ymftqzf4Z11IM4?viTJAh5WGXNv#xl>!F^$b2G(1%&VG~@{YWx!6am4GH zFExGA9?&ovCe+7MsdSi}g3g1JkM|zazMNIe>8*45`|E;ag?*lLc zul!lJ>g-#TO-*d_&po1m#BXV#1111XP}mc!Sw+-;2<*-u{Pq(9kY0h!l)I@>XUp7> znU>st#{35S3V`Qfz^`ADYB5w-)ZOd$gm_0PdZY|cIY8b01qPfExR4^be+fX`FfJUz zX8?o&)I-`5IQ4+<8_2@?gW2p+?#KFpisSg9%XI)uiDCNxK!A@!TEJLwb&@~l)!#9! ze<5;KJJ2$6L(V%%NUpUTMI3(|@xZ8(53rsr02SDlxw4=o1-U?gd5qYGf9}=K3OQ4vC4pLk-aMC_1d!hG`-Aey05JOs!2FXj^OGdz z_OAeF0o2u@*Pes{GynkVzQ${teP>|N0!ig{#sD~B)NwV#`P>1ZC4fbimIwe~08yJ_ zXe(e0KJcckxfmr@kA^;D2+i^`BiDH1Yr?f9Qv+VS8S0hM;e;H~HVEtoXh+0dG z+Ksi_QrzB)Z*TkUt^D}Dz&Y<2us??!o-F7BxYYPp4r#1y3DvJv`_#?hh9(5HBJ35i zeV*MI^&IsD=q<0?S9tSd1;%0U&J?Rw#zh|VI8AYDFb5CM7ZTuSC!YzibKwVCJ6ZT8 zMH#r9S7(DuWnNGHf4m>yFLk&}f5sx>eX;|=h#t{YKpNQI7K#p!fejJ{QQ%%2_}EIuBX>?Sh^Yq(27!-wE>P- z34lPp?7Vh;X2S*l$b-wdqFC#GKEWB{&~+e1h}X_3170;81K$IzaBcpB00@IF0*~}w zDfc=9)Pe0h4zp+ESzqd%aR3z#{!T#fF#P`Vh>uSH{1D*Q`XAp46k-)f#i0NI002ov JPDHLkV1m>gP7?qC diff --git a/share/grafx2/skins/font_Fairlight.png b/share/grafx2/skins/font_Fairlight.png index 5d4f9818ab37bc4a037016df27dccf3b345e7024..f5ca8af9f84db5e9d340e4c000ce3a88d4e21ed6 100644 GIT binary patch delta 1877 zcmV-b2den_6!;XdAOj6;ZEdQms{jB0$jKv}lPv=te;7$bK~#907QCjWxFFkU-P{{fLXF_tV5Hc<*vrF9203YlK{lef5yLIkEoxsG&B9b{^cbQiBCrZJ|O^BdDeh~IMO!(078W6(bZ_UF&GHE0pPOna{Q_9crA|fb&r9U6u59q zqg3upfdp0zw<$2>bpme~-3+K8Q>0%q0QG7NO6?m4Aaf7^1p*>^%YepNYKqi=n;c`{ z6j`u}_TyuiKr`kH0-#l3FpH}zg&xG1lo5eDe}_GFfVzJ9$b>}(%qVCI2m^+qcc;Ke zwZG7YC!YyX;D3e8>pF5UuS`+tKd~lrj`UOCN;ows^=RYHF&;SlJOEi$*91l!?^HWQ zB##5heMDB#CaJg|7vK0#L;ED4*hkbMw7_rnPfZ&P*|xS@k{l#JJhuMJBF{`bZf*g9 ze~}&=<)7meQW%&6%f`8rwl7rxlvXqJv@`nj`O;>qxh|z@S)sZNQlz}x2L?b!qp1>N zEOyLvxZY~qG2n@ylnUuTyv3=4eGTwL!_N4E5|OgCXzt&nz&+9TPl8W@x{MTfM08hb zav1DO0`BJ*1cdg_99L@I&Hm2z#}s|4e;1Go1hU7yPO4&+F`!DSE~5cz06;Z?azG16KjoD85>o

$$}^z+e}yZ-LkP`q z3N`03I1GM>ARoJfmV9N0DK?;C8P{g^p*bxhZ!2%-5_M$vci-Oa#bU^~Z zOdXEL^p>Yyw$1*xGEKyPsXfO#^CM5}2JRE!{MhPxWCz{2y71ry{fK&^4(XHM3Y|r| zmHNyK_){R&g5`g;9jDI6e*j#Lcl<^XaQcUrCMP!W$J&5E;;*y;z``$kwg{rjY*GJ5 zV0ZT5ub<#R@G%KB2x<{|fRdfY-H(yO`~tukU;wyp1Ngits^yy&?pcH)=@a5TQgM39 z0JQ;B-Cr=^8G(aUwC(~Rygp`JObG7*5C%{Uu_^FW1AbjY7SdY+f9s>zulzv9vHwuz z901pfHRS&W2XC8{fR%o^m4D8vf1{21g~*NEfs#=ZvVW3<)>*yL#F>vHZWz_;1GEW>=7%v@_K7EIhi0pzw#%5JIA$1x(I7&ETD4X zES|Ye94PDf{XzLOe*hTz6@XY3x^|mXSO7Eu`smPOPuu_+004bnEhNc%bvfX8^-nUXdungOFc zm41oYh>l-()Ph6|MP>u$Kh}llvG}OfSgS4hJ!|plX}>*{e{bIxIOdK4`+dmaiv`Ys zLy7-nlfr6KsBb&>shYzHO$cg6j8{neys9zEd6X9*x2?9X@WYODjNRawYgv~vPV%6~ zrHV_#F!14dA^~=~^%an@FXjfTrxL$cQ3MYAtZZaJtp za=l@|J%vZ#Np!@7a{vm1Gl$@V(R^ae(i-py0|Epd)PN@dD3^2m*eALRO2YkmB)|pu z`bPWa_P^Z_!{8f870j=#$J_nPyxsFFuaaKd_4&Nyf2upXeQYSMGRfEvCPg-1VK)0; zKYy@ieE+5#y4xp#nBX1eT;*ycBLKpn z1IMGRJ6FoRXMh^8?bky;BXTdVJqTav{< zvb*i+xwHvk#`q!2X0jP0M?~QK>wR6|`)i$7Bk#!iHS4|dApqwvhYL>paM0L1TqCcfrR3UJ=)DqZRE&wuMJ5Q&l3VPk)W z5fJEWHRT2aFfy_NocMzJ8vsCvFf)cqNvMkmya8bPI0HY;E#m?JCSFQl;<%hry}bk$ z1H^G#0!?2P@P^UFfJ`!F`a=d30L?)tw+jX!a}WRp0y6r@fWldNiu8bo8e`x#jA#tV ziJ;i`0Q5}D+4@!cLM|_2Z5X5qcL9HU>Hu|l-TbLFF-T$sdCve5HuK|XrS=y_i{vvU z4E%QtIez3h0QiliR`Vy`tePYHG?x)BO)5RwxC@LI4nGgTl*9(f5d*bfG4ZkW7=P4@ zYJ_haD}6r-Kg3T4j`CZI95g^aw(*OQXC@vuj{twbN{@|< z&v6PV49o$scJ3_ShZ+D%s~dXS8GCwv=&;>fMX6h6s-{DVl-GM;08})(Dk;Wh$4rO! zM~gcKoCr##u;PcOI5n{E0iI|$nOIOGQZ|M9{!Ixy6McUt_!P*uRsu&vcdceEgJa3Z z2zz}%LTG=lai!+d)t?-H%+PV$^>_CQ*6AnC0pT zfikP9(v-;vtUZ$fyEYD?qex>X&vp{12v|$b8cTvUHfi_4128rL+4&BDp0SgD16&U& zDC5L1Nr1*n02u_NFX?%UGt{OqrW{Z-46}gZsE>i+63EC${bdn>M*DaQAo>UZl30(x^KN;Xxd*<(p;tbZQBp?6*HHyuSvf_%lr+L6U7 zMLRqIQ08bi+TUDhJ)m~E5lW9b&GuAAzw$Z6HU&Ih@I}oFkc3v!3?cP4YB3?*o+Qo% zygq9)bQH8UHErU(AX^MTIVrNrEPEAA|87P?2moM{AB0*|o&kRuFT4{xgiueXP_rL{ z&EZ1^`Pgl=C;`w1hPXBd2V!9`SU@J(U(^R?QStI@g&+xFrnbPN zN6VMq9Gm^`>NFYuR)4N{u9w`g8+cv-ub1tvSANh3*B1^^(2uA$=8!(?TcPtvx6-^S z1O609yh5na;Ece96v<5h!rNoUMThVi0AT?25L*JL9`JnwSxA3R32cvYKh_H>j^l?e=Kz=z zqv`*F03V06fU)9ol7G&te`B=%g~+wqftHaMWPc|K$yvKm#Ob#q9vD^f0oIcRpaR>H z8`KBRAQPoqv_b5C$m_%fCtl;L)CTx~7dpF`%`lv@bbp z+3|8$BS=LvWHw;^V_%3`ON`o$wcAqMy%*n}_S=6``SE#ybM6?h--jHYEN}r_YWydM zG*(+e^|5N7x;dQCgrHVLdxW(2vm2wHqrL#W<+Xi;Z+@)6I1Iir#j2HYkq6yQQ`{Pw zgNOSI3Gma&XF}S(=o_q^Ec}w93|!8uv%#Si46E3~rT=AX~` z6cAvRY%6l;lBM32ct&8NjbH)g&TXZre$iI)<%aCE0sZ!G}_Rvd3j zpyN)-6- z(0P5A8uV|bsEn_8<26V2vu2={sniVaRelUiZW{c004_t=AUR^7_Ge6dY;EJW{IsWv zO;+N!nd;fcpKdlQsMHa*2nTXOdeybUkc0Te9c-H^Q(&e22|&+GYc#X~z@i=-5nszG zUZJqoXr){bsyGf25DARbHYL*l(4?X5<_Z9H%kbpFMI;BkHw=I@qpN%_q906oES#;y zi2-*6rBd+t;VEtcp!R^a25HcM%Cis9#oA3MuXcO;eaIDn<^96HN(tPPFa;KWhU;yH zUbV|eBaro8UWT%KS)Ix8v_y`|Trwy$phY<@rGW~`v#B=$!F>lhkM&2p(V^yn zrtY)G(OTOOt2ife0f2upL@W`)8WM}~U+R32K2tJjv5}&c+DmMJKjv?aIW7$>K?$e_ z0E`4pGprc{e-HuxLr6L!GGUm14LRa?TzbAd!QzLRw>V-MEv6kvC;^>JG9<3x-;7HA zj1Ov1G6IOHn)JmhjRCIB`hpvh9{~p`jH;y23w)7Qw2QZ_6a>fsN5Qmg0dOS>0P6$* zcn$K6pqe;^fcON-mnh4x0f42=h`CO;3=*FLO^F~C6o8@+f*L49C4uFCDh#DlAVZhl zmx2EG7sJqkB9n+*_fsVre=7iu|))OiQ!!U ziXJJqdWrzBmyx*y)x2_lSppN-1X%~h28-EZdjM+SlF87(06>uRBp8Wu0u2lZAK_a9 z-HfQGe`-Obl>tNMnQ7teV!Z^6=PUNY=FipV0IaA%tjU~@d(?vf06+3$4pjkQiT?!X z0{a{>_+DSs7W!WTr}%-e8y`{f^~IF28>TnE4W>mU1q<-NqH-B`OV z#a(;x>1jWn%G>7!&Uwdxc^`84VnG+cp~ipmlE&JWQ2xx?r)~}vAk`|{xd#pF(T(xR z@m8OK-t@YCgfD)0U?6Ax2(65ZJdkmJGZdlVgC6eIT@U!#$wxxUKC2sAJ5l(lfHE+R z0Ohq`4i`M;p1kA$fvCgX_yded3=9BSs*gXAXq+2IqNXhfkkU1dGt;1ul->s;d3Pe8 z!3Ibi<96eUvF-x`1S4|1g(w2Iqd?F&X8%;aFi$C4C|oEW_y_au7;pwaU~m?H5PUMZ z_l#Ni;&HOE87Z|4R0Y%l-;IzAq0(k_cr&AS@7^rS&?NAG#`78<@tcLr^o&nW!9A7^}X5gj@mfe+925sohywiO4d05P!W=Kv4}9RzOSz1FflAH{)j zT*Fvy(a{sVR~$fvEpwLxf}7#@4rjWn8nUh63!z%1D& za{2Ylu6HG#5twMB6$ik6|7+qa{)7PMEmvu!#{c~DFGD0&ti#3#!ywSt)g!kUfE9m{ zCE&yt)L#GqLRd3nsFZ|UMBp0$9v`2;Pjkt*0Dy^?5_oWQr&Mn(0cU_X-j+bomjyg9 zIvEg2rc8gxfCQj82<3Lc0AvmVpg=%Iw+u*}rKd;_*wh#UH!z|wASQxh?g8kTmUHV@ z?lW0-Vhs#Zg;T&ib%45jUHr*wVvv8t3i3SzM7Wu^qm=K$b0 zmRioAc;huk_OoW7mZ{Wi5z|P13`{N>{CWT$L)aiWVxaabCO)>d@mqe{Q^h7L@!L%G z?Bh>2n>(n~5w-{iazT34wZf2#_{AM;n<-OZrTqy&&rEAHv;e?OJvJh~mQ!9rVXe_h zxjZn`afpCOV5GJwnFfF+4Q)490H|ArCl4+nIp{qw0Md-E@{xjmFy*muwiYJ_oCr## z;PJy#+yp@F0c{P^qyd#@AE1l1n^0cu_V)XbD*(&;g@2V2IFm317Jmcd#|(XHmyt#w z>$SWLW%;r?ljCWL9F@6bPzx{XN{w^ zwjow=PUHdr|73_*B7`+07UO@^`6PX&WYS_IMJu(J*Z_ab-yCyZ8d!o7P!9kY37TeD zGY0-30{(}PbVg*tFn=3z#PPWFe0hS!4>NCZ#4@^>b|9eybTY}1xPpH(EA=xzs6ojH zAf{^47q2u1xHjttZb*Iv9HcO+l0q-=MOx7=-g2iPKn6GprezC&D^UPgCjh|rAm0e8 ziBkxOFOYnRviuqVSlW!3>vYK=@hQ-h2vR`-DEc6%fkIRgSbwgL8& z3@s?Kh{$z6C9_|}`P2PU6-7s-nT6nuyF9GBEioLM;b@zP$R@5NYWUj|G>Ola2ANetdssOOWe*$!YeU2D> zuP$F%=VwNi%P@6YW{i&W5^b_352ut0xIgSzxgDBG6bJ_>((zQRH2 z6K{o$N4k|}r#}2CkZM258B46rp95g|8qbB@~ZS@DLDt7NJP?gm_0P)<_wkbN~tP4g<~zTu71J1AyHy&MJg^0E7Y5L)sEJ z^?>gi$ig5n06Y?_=>G!&Zilph<#BbAKj+oIF-reJzIF|H&bZwJo9inYB;d94bJnRkm{v8tz9o#wW+4J_Eh! zb^8ck{P4g)&iWZz85emV<7R&-Lcs?;+}(FQ;AbZv2`T%mZfNa9;im%1z%&Dt&we>v z@R)n&B?kyZ9q!-{FeWiD0A#5?{y?H}ZJddkwje-C*Er8igF;ezU(Dp)jeG_hAaRV_ zjVtE54+s#9$oU9S1a4P>pmEIpt$bmgQnpaIP(1Jt=A9UD2S8wO7Z87ZGP!5QEPU~} z+1SjKS_Y~D>VWTNNQO{pGdsMQ(UZIofc3mTzPSBw55&;;2b2od*BJ4*pP4t^|82(? zHu8Qy^lCUKKd>5D4>1I4N+KR!VTS#0-#_?M-oG(W-O$>h7C`G+6gpd7heoy8NRAC7 z{BAOO*eCqO1x|AaVAFp~5rMqSf+=9wcjNXmcE7Bw=zTZMFLgi7b{X1Jzx+Da$+eR~ z8`m=mzwYN5-@J(q-Oj*=_x2Hv9~ib32dMxtu;|YLAPl+)+`@aUWqW@X2gZ2~bGbxE yZ}dKK02Q{(T@DCthTm@w`_k^89|D|T{|8cg6d&I!b+G^d000O{MNUMnLSTYFrd5Cd diff --git a/share/grafx2/skins/font_Melon.png b/share/grafx2/skins/font_Melon.png index efa4d4f0131f5c7ce1e791e6465f7e6a45c08b13..7ae3025310cc36ff3a22bc12deea7f3c70b64e85 100644 GIT binary patch delta 1836 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 baB=+)jxH2Y&_9k?00000NkvXXu0mjfM&V&= diff --git a/share/grafx2/skins/font_Seen.png b/share/grafx2/skins/font_Seen.png index 8510a9a01aa77e2a12d2b7dcf95947fc0ba70642..85f82d5630eb1681442fdf1039e84ce77e188fad 100644 GIT binary patch delta 1783 zcmV6(U6PEX3 zV}{`re`vh__JjzqjI0O;bL6iR0D|yg#!$WJ#$+Jz0|5);3jArVd>LnYy~o5$2`nB1 zl-lhj5X1`bu>_jED&UQxO97c=%JfSGpkK{Fx_zSnR1OlLL_kK53MihXr$`St)EE<| z%mOOfkB{L7!svI90PO-zS=?PI^7Dm@rREk7`e8t$aoRuO~))Xf2BMovk*a)(7nOyu-?g`O1*CA{@siQBwB<= z@w;20CE&Y2$lTz|ony6V9r4YP{Y}>j{17nVHHAZ{jDz_iKtJWdxk`?;St&XtfN!FL z?lXBofH^(yk!#9ixETc2GcaBk#@sgm6$QlqG@1A*LJ^0iav&g6A3V5v?2u;$e_Eis zS*>xD4d|?-Ag({h`zHdXgvl$#E0Smol%ydemYKoX(LMv9g=%jjamFj9!6i`s5}uL& zDhODC3`p-orTx#xUrU2jZHu$j3U&9KTahp}|nf%CX#p=^+V1FXOfA#bL#ACA>9I!PE$Z9V8)Wg`$lRrt^4iDKaglvG_ zs!TTyTAK{z?lCAPE?P8k;B;G&R#R9{lwa0)WOTJ*aw-Qv_&v^0@mk zvcXRRCIABg=h29dHz_qYf3@Xx^mKnByhkbaNSUAlfC6}HaA97JpE296xlqiGa1jn*E;;;BiO`u!w6~`Rh>q8Kd9$gfq9z+DbN(AuHKJ9c%n-!&i)}GS8E1DA7jHaJw)@ifo-0eGpy zUE;A2;?e-BRaFgSp#t&Vi@6+sGZFLLG9&Y1i{*VWLk#2h{kFb>HKWV71Q?e<5i-wD z1eA>ZDiD^gT@x4U2L+rZ+~z8xD<#|$kR03v1b>*#C&ifdfKL?QVDO>`JP|;(9M_L? zuxro~&g)SCi*Wmn@txa$_dpJv-$1EgeQhJ&?q}ugp0BzJd2QFn^R%mf;q3M?P+T<> zV?F2+*?fiB?0^0I0Z;q>O*M4dCyD6fUDjOIYGv-KX16184;ejgqaNU8>AbBLJ6_k* z>)Bhnre+CVRLX1(c)Usg1oGwQ-SL?X7w{2+%ekV6>v?{n(*@9VAelRVw@(%D*0CFY z4rqnj=ATG_DCi<^PxLA}x%UcC0NdFf=AMzWy|laH04Y4+U4-Cfc>j9%ckTZ5Lx_v( Ze*pCE6Uqz$V)g(4002ovPDHLkV1mM{WZeJ& delta 1776 zcmVD$u?m>G~( zcG|S*RgNvM7V#Jcw2sYkxI4~2-eZC9$91lH-jVB%S@)%|H)Xh#_CcL>;bDFnsntoN z$LnLg1Oyn9Z6a51YYx3ucxGUtjaC8x|M@q>*ZfHV&Reb0N{@g2#hW7%mg}%F!*G8H z^y6yD83SM$SpiObLH!K?AcPMyhDu4OMFf5TVEMQLf0|py1prLEl)%CUls6%(ZzsFGG+Qr1{46zK`6Hi1|V|~00javdSpQ1EImbfz@f$%xD6v319BoL z_B{YS({djDs(miYL97jfRN*e*nL2+!UA}Jq)HN|kVg>n`0U|ui$I(jd4~!Pc-!kO* zk>>#5H@5J>rPzYt$ zJr5y+xH&!npfltgKQ!IuSODOIHMosQ>y8PqsA3NdDP;$}C@=z`87#4O?%;o^fjt(H ztQRC413{up01RmuySa)|x8zL7#&;P2{te!T2%R#NY1uy&wYaq@-MxQ|yk#Fa0?>QF zOf;N!=^MJt766-7Z0*k>cL08dgm0|`9ueKOnz$rtx8`P&;Gra|7UsZD75fj5>j1aM z$2T8~Fmi33k?|(Xn~qs(N_l@wW+4J8p?ibXLEg!rQoR;*|87PF5-qw%@w;1jOOEdX zA$5Z-caGJfb;LJEwl`g?fxSc)G8Y*uNyG0+0V zE-a2Tq#N_D9)Q4G%H$wd4*-S%vE6B*;CTXIb_^Um0iX=%0AMD1<~g8Y-~1rd9K8g< zFvB-JAff`~F=Fs#W{jvOKykfNObi?nKuqm{Q~W6R?%3>qQEPwC_%HV7ZXdenJ4yIHd@;Z9DJt5vB6?>!%P&t4Ec!dGa2wX^!+ycO7d(1fR5S{@L22c+f zOW>&o{JMcGOoDWKlzWR8R2;_-U2XzkNm$eW8v;BIX#o~-O_E>d)%O^!e<5b%Bdn|)_s(E>^3amE02!l>hFhV!`tKuZ9NEG-cLzyP8)#WFl{lYQU$ zS9x?{kOCbM{#7CXkM^|FHEkq{0j)iyeaTtN&MbE|oK!SJlV1oJe?Bj8&L;-!_aTQD z3#I@rHGaz>jdd)c`dGD3-5gG6LQpHBJwlH6vm2wHM|}=@%j@wGzWEV>aTvU^#Hy8X zkvrW^Q`{PwgAexu3Gj20&xEvn-ZzYPvhYiaGH^LZXM;m!9Z&PTAK))_xJ!R5h`2a_ zY*khRSja$Jdtolae+46wJe}GcK`r1ak-OtS1-CuPT^xDeD{nV@Bf9&?LqbM~LW8LT!*?fiB z?0@p5Xgs}*N)F@xZodoa5+~LaXrsZaJo2j9Z2TRU)!e)c-62QJ_oeIZS!vg zKp1opxTp6@I=R;wpbl(jdzgDh&iYdCiUX+d;O_ziH^b+bhkt7K*AD?MuKxo%QWM~` SB_%lk000019=ho2^`q3puv9r5-Rlfuc5<#la~Wo0e+M51HS?Mld%Lm1pdR% zKa=qUiUQ_8vwa1+1p@hpvpEZa4GjGF{Ug|qpum9y{|S@E7(fF0uagKFBLa{glPwt; z0`#A=NEsXh7Wm=3%poLu2CPT}8^}M+9dLmGtlU47dK{nviXXEa9eM-;|HHGGAyfha z;fJ&CBX9u%<%g4CC4T{ali($|6!?b-2w8%NfD7wlAEEYkw!2a`E1cNqN#DCl{9Wn%I+aV!7+MkUoR z82>--bAFS^Ek-B8kDnJWUAl1L5>n*I438wN{O9uDqm_>?Y^hnZuYD@dL9fH~t0=^TR8%@?W@w*P3c(`~#CWJ{<_)KRB~7-{3#9Tt3AF62w1& t{rL40_>Z8$g9Q)%_n0$P!e0;!seAIk=|NsBAw6s@Z zdTniOs;a60005H>19=ev2prh2puv9r5-Riup`k+vla~Wo0RWTn1HS--a{!abEk-8-0Du=SUAl1L5>n*I438wNgy0gwqm_>?Y^hnZ%1FJA!wvo|ox0RjksvjZ}U0RaG$jx$gJ0F&P{N&*XklPfei0vH0bW;CY) z0uKO_4>uYD0RXcrH~t0=1Hdb@@?W@w*P3c(Kme0BJ{<@k1UR!X-yj6DTt3AF5(ET+ t{Q&e62!Wu%g9Q&l006*~GefKbAq11*Ll*)K;IsNeSpot9__I|;1qEG1v4;Qv diff --git a/share/grafx2/skins/skin_Clax3.gif b/share/grafx2/skins/skin_Clax3.gif index 98fe8257c6aa3f620a932cd1c3bdf143afeb9514..3e7d2f5b03864af55676769fd678a227c95d4b7a 100644 GIT binary patch delta 508 zcmVV16cunllKFa7XL51cJd9u zj}LDiefsn0*R#*-zC6E^q69VpKa<%6G6DaS3@%nWg@2QlG+qHev-LC|0RsQQlNL5o0sOORHrN3I^23uuI9CG4 zKa-p|KLY*(v)wq>0vv(Y>L1`hK> z@cVvEl+&GKFjf46liflc2<$(AKlUf>Ka&DOCn$ac|M4qm5MjZ72M0EExKQ9ghz=P_ ybjU9vL5Kbd{`1$6A;*6n`Q4LILpKxpZ~v*rp#(_|6e+Q2R-;vk@)NV0L(>cUuk4Bd delta 508 zcmV(BnSZHj7agOMhLSA87lz-2mrG+ z8t4H6Apo-<9Hj#j0NAmCA7bP=XD!VKrZb-1EMN$;*B@L80RWRUDmelM0F!SjdjbFm zv+OD@0~Y`|T-a#x`HYrU3wx>@%nW1qhRtG+qG!v-LC|0RkbwlNL5o0RXdUHrN3I0>G0)I9CD( z1e2UNKLSDkv)wq>0v-SmY(MntN<6H;cF4lE)xlQm!UF6t(Q6?7YrX=2v(Y>L1`Y#2 z@cVvEl+&GKFjYW+liflc2rLAEKlUdr1d{?oCnx{|Apj_75MjZ72M0EExKQ9ghz=P_ ybO<0KL5KbdLh#p+Ax8)v0o;>OLpKu&VgISdp#(_|6e+Q2R-;vk0uZyCL(>acY`I_n diff --git a/src/SFont.c b/src/SFont.c index cd44d850..23de8ce0 100644 --- a/src/SFont.c +++ b/src/SFont.c @@ -145,8 +145,13 @@ void SFont_Write(SDL_Surface *Surface, const SFont_Font *Font, srcrect.h = dstrect.h = Font->Surface->h - 1; for(c = text; *c != '\0' && x <= Surface->w ; c++) { + if (*c == '\n') { + dstrect.y += Font->Surface->h-1; + x=0; + continue; + } // skip spaces and nonprintable characters - if (*c == ' ' || Font->CharWidth[(int)*c]==0) { + else if (*c == ' ' || Font->CharWidth[(int)*c]==0) { x += Font->Space; continue; } @@ -166,13 +171,23 @@ int SFont_TextWidth(const SFont_Font *Font, const char *text) { const char* c; int width = 0; + int previous_width = 0; if(text == NULL) return 0; - for(c = text; *c != '\0'; c++) { + for(c = text; *c != '\0'; c++) + { + if (*c == '\n') + { + if (previous_widthCharWidth[(int)*c]==0) { + if (*c == ' ' || Font->CharWidth[(int)*c]==0) + { width += Font->Space; continue; } @@ -180,18 +195,30 @@ int SFont_TextWidth(const SFont_Font *Font, const char *text) width += Font->CharWidth[(int)*c]; } - return width; + return previous_widthSurface->h - 1; + // Count occurences of '\n' + int nb_cr=0; + while (*text!='\0') + { + if (*text=='\n') + nb_cr++; + text++; + } + + return (Font->Surface->h - 1) * (nb_cr+1); } +/* +// Do not use: Doesn't implement carriage returns + void SFont_WriteCenter(SDL_Surface *Surface, const SFont_Font *Font, int y, const char *text) { SFont_Write(Surface, Font, Surface->w/2 - SFont_TextWidth(Font, text)/2, y, text); } - +*/ diff --git a/src/SFont.h b/src/SFont.h index 71b694b7..446acf4e 100644 --- a/src/SFont.h +++ b/src/SFont.h @@ -87,7 +87,7 @@ void SFont_Write(SDL_Surface *Surface, const SFont_Font *Font, int x, int y, /// Returns the width of "text" in pixels int SFont_TextWidth(const SFont_Font* Font, const char *text); /// Returns the height of "text" in pixels (which is always equal to Font->Surface->h) -int SFont_TextHeight(const SFont_Font* Font); +int SFont_TextHeight(const SFont_Font* Font, const char *text); /// Blits a string to Surface with centered x position void SFont_WriteCenter(SDL_Surface *Surface, const SFont_Font* Font, int y, diff --git a/src/keyboard.c b/src/keyboard.c index b459b83c..584d20fb 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -601,6 +601,7 @@ word Keysym_to_ANSI(SDL_keysym keysym) #if !(defined(__macosx__) || defined(__FreeBSD__)) if ( keysym.unicode == 0) { + switch(keysym.sym) { case SDLK_DELETE: @@ -610,7 +611,11 @@ word Keysym_to_ANSI(SDL_keysym keysym) case SDLK_END: case SDLK_BACKSPACE: case KEY_ESC: + return keysym.sym; case SDLK_RETURN: + // Case alt-enter + if (SDL_GetModState() & (KMOD_ALT|KMOD_META)) + return '\n'; return keysym.sym; default: return 0; diff --git a/src/readline.c b/src/readline.c index ce153024..89ebc17a 100644 --- a/src/readline.c +++ b/src/readline.c @@ -509,7 +509,7 @@ byte Readline_ex(word x_pos,word y_pos,char * str,byte visible_size,byte max_siz switch(input_type) { case INPUT_TYPE_STRING : - if (input_key>=' ' && input_key<= 255) + if ((input_key>=' ' && input_key<= 255)||input_key=='\n') is_authorized=1; break; case INPUT_TYPE_INTEGER : diff --git a/src/text.c b/src/text.c index d5c70fa8..42bf09c4 100644 --- a/src/text.c +++ b/src/text.c @@ -567,7 +567,7 @@ byte *Render_text_SFont(const char *str, int font_number, int *width, int *heigh } // Calcul des dimensions - *height=SFont_TextHeight(font); + *height=SFont_TextHeight(font, str); *width=SFont_TextWidth(font, str); // Allocation d'une surface SDL text_surface=SDL_CreateRGBSurface(SDL_SWSURFACE, *width, *height, 8, 0, 0, 0, 0);