From e26b088aaf9e83e0ab23ea7853592b02320738a6 Mon Sep 17 00:00:00 2001 From: martin-s Date: Mon, 23 Feb 2009 09:37:47 +0000 Subject: [PATCH] Fix:Core:Removed obsolete projs stuff git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@2067 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/projs/CodeBlocks/.cvsignore | 15 - navit/projs/CodeBlocks/Gpx2Navit.cbp | 127 --- navit/projs/CodeBlocks/LiberationMono-Regular.ttf | Bin 61144 -> 0 bytes navit/projs/CodeBlocks/Navit.cbp | 300 ------ navit/projs/CodeBlocks/Navit.new.cbp | 256 ----- navit/projs/CodeBlocks/Navit.workspace | 63 -- navit/projs/CodeBlocks/NavitCommonLib.cbp | 75 -- navit/projs/CodeBlocks/NavitCore.cbp | 235 ----- navit/projs/CodeBlocks/Navit_gtk.cbp | 124 --- navit/projs/CodeBlocks/Navit_no_plugin.cbp | 87 -- navit/projs/CodeBlocks/Navit_win32.cbp | 123 --- navit/projs/CodeBlocks/Osm2Navit.cbp | 120 --- .../Win32Extra/LiberationSans-Regular.ttf | Bin 110660 -> 0 bytes navit/projs/CodeBlocks/Win32Extra/X11/XF86keysym.h | 189 ---- navit/projs/CodeBlocks/Win32Extra/builtin.c | 25 - navit/projs/CodeBlocks/Win32Extra/byteswap.h | 17 - navit/projs/CodeBlocks/Win32Extra/config.h | 417 -------- navit/projs/CodeBlocks/Win32Extra/endian.h | 5 - .../CodeBlocks/Win32Extra/libgarmin/libgarmin.a | Bin 453238 -> 0 bytes .../CodeBlocks/Win32Extra/libgarmin/libgarmin.h | 192 ---- navit/projs/CodeBlocks/Win32Extra/navit_gtk.c | 23 - navit/projs/CodeBlocks/Win32Extra/navit_win32.c | 23 - navit/projs/CodeBlocks/Win32Extra/serial_io.c | 118 --- navit/projs/CodeBlocks/Win32Extra/serial_io.h | 9 - navit/projs/CodeBlocks/Win32Extra/setenv.c | 19 - navit/projs/CodeBlocks/Win32Extra/setenv.h | 9 - .../Win32Extra/speech_dispatcher_win32.c | 96 -- navit/projs/CodeBlocks/Win32Extra/sys/mman.c | 38 - navit/projs/CodeBlocks/Win32Extra/sys/mman.h | 8 - navit/projs/CodeBlocks/Win32Extra/wordexp.c | 53 -- navit/projs/CodeBlocks/Win32Extra/wordexp.h | 42 - navit/projs/CodeBlocks/binfile.cbp | 68 -- navit/projs/CodeBlocks/data_garmin.cbp | 74 -- navit/projs/CodeBlocks/data_garmin_img.cbp | 68 -- navit/projs/CodeBlocks/data_mg.cbp | 84 -- navit/projs/CodeBlocks/data_poi_geodownload.cbp | 68 -- navit/projs/CodeBlocks/data_textfile.cbp | 72 -- navit/projs/CodeBlocks/fib-1.1.cbp | 51 - navit/projs/CodeBlocks/gentypes.cbp | 89 -- navit/projs/CodeBlocks/gtk_gl_ext.cbp | 76 -- navit/projs/CodeBlocks/gtk_graphics.cbp | 75 -- navit/projs/CodeBlocks/gtk_gui.cbp | 82 -- navit/projs/CodeBlocks/gui_sdl.cbp | 79 -- navit/projs/CodeBlocks/libgarmin.cbp | 103 -- navit/projs/CodeBlocks/make_builtin | 7 - navit/projs/CodeBlocks/makefile_extra | 134 --- navit/projs/CodeBlocks/makefile_langfiles | 19 - navit/projs/CodeBlocks/mdb.cbp | 106 --- navit/projs/CodeBlocks/navit.xml.distr | 1006 -------------------- .../projs/CodeBlocks/speech_speech_dispatcher.cbp | 72 -- navit/projs/CodeBlocks/vehicle_demo.cbp | 67 -- navit/projs/CodeBlocks/vehicle_file.cbp | 67 -- navit/projs/CodeBlocks/win32_gui.cbp | 62 -- .../projs/CodeBlocks/win32gui/resources/navit.ico | Bin 3310 -> 0 bytes .../projs/CodeBlocks/win32gui/resources/resource.h | 4 - .../CodeBlocks/win32gui/resources/resource.rc | 14 - .../CodeBlocks/win32gui/resources/toolbar.bmp | Bin 1398 -> 0 bytes navit/projs/CodeBlocks/win32gui/win32_graphics.c | 774 --------------- navit/projs/CodeBlocks/win32gui/win32_gui.c | 541 ----------- navit/projs/CodeBlocks/win32gui/win32_gui.h | 76 -- navit/projs/CodeBlocks/win32gui/window.c | 149 --- navit/projs/CodeBlocks/win32gui/xpm2bmp.c | 588 ------------ navit/projs/CodeBlocks/win32gui/xpm2bmp.h | 44 - 63 files changed, 7527 deletions(-) delete mode 100644 navit/projs/CodeBlocks/.cvsignore delete mode 100644 navit/projs/CodeBlocks/Gpx2Navit.cbp delete mode 100644 navit/projs/CodeBlocks/LiberationMono-Regular.ttf delete mode 100644 navit/projs/CodeBlocks/Navit.cbp delete mode 100644 navit/projs/CodeBlocks/Navit.new.cbp delete mode 100644 navit/projs/CodeBlocks/Navit.workspace delete mode 100644 navit/projs/CodeBlocks/NavitCommonLib.cbp delete mode 100644 navit/projs/CodeBlocks/NavitCore.cbp delete mode 100644 navit/projs/CodeBlocks/Navit_gtk.cbp delete mode 100644 navit/projs/CodeBlocks/Navit_no_plugin.cbp delete mode 100644 navit/projs/CodeBlocks/Navit_win32.cbp delete mode 100644 navit/projs/CodeBlocks/Osm2Navit.cbp delete mode 100644 navit/projs/CodeBlocks/Win32Extra/LiberationSans-Regular.ttf delete mode 100644 navit/projs/CodeBlocks/Win32Extra/X11/XF86keysym.h delete mode 100644 navit/projs/CodeBlocks/Win32Extra/builtin.c delete mode 100644 navit/projs/CodeBlocks/Win32Extra/byteswap.h delete mode 100644 navit/projs/CodeBlocks/Win32Extra/config.h delete mode 100644 navit/projs/CodeBlocks/Win32Extra/endian.h delete mode 100644 navit/projs/CodeBlocks/Win32Extra/libgarmin/libgarmin.a delete mode 100644 navit/projs/CodeBlocks/Win32Extra/libgarmin/libgarmin.h delete mode 100644 navit/projs/CodeBlocks/Win32Extra/navit_gtk.c delete mode 100644 navit/projs/CodeBlocks/Win32Extra/navit_win32.c delete mode 100644 navit/projs/CodeBlocks/Win32Extra/serial_io.c delete mode 100644 navit/projs/CodeBlocks/Win32Extra/serial_io.h delete mode 100644 navit/projs/CodeBlocks/Win32Extra/setenv.c delete mode 100644 navit/projs/CodeBlocks/Win32Extra/setenv.h delete mode 100644 navit/projs/CodeBlocks/Win32Extra/speech_dispatcher_win32.c delete mode 100644 navit/projs/CodeBlocks/Win32Extra/sys/mman.c delete mode 100644 navit/projs/CodeBlocks/Win32Extra/sys/mman.h delete mode 100644 navit/projs/CodeBlocks/Win32Extra/wordexp.c delete mode 100644 navit/projs/CodeBlocks/Win32Extra/wordexp.h delete mode 100644 navit/projs/CodeBlocks/binfile.cbp delete mode 100644 navit/projs/CodeBlocks/data_garmin.cbp delete mode 100644 navit/projs/CodeBlocks/data_garmin_img.cbp delete mode 100644 navit/projs/CodeBlocks/data_mg.cbp delete mode 100644 navit/projs/CodeBlocks/data_poi_geodownload.cbp delete mode 100644 navit/projs/CodeBlocks/data_textfile.cbp delete mode 100644 navit/projs/CodeBlocks/fib-1.1.cbp delete mode 100644 navit/projs/CodeBlocks/gentypes.cbp delete mode 100644 navit/projs/CodeBlocks/gtk_gl_ext.cbp delete mode 100644 navit/projs/CodeBlocks/gtk_graphics.cbp delete mode 100644 navit/projs/CodeBlocks/gtk_gui.cbp delete mode 100644 navit/projs/CodeBlocks/gui_sdl.cbp delete mode 100644 navit/projs/CodeBlocks/libgarmin.cbp delete mode 100644 navit/projs/CodeBlocks/make_builtin delete mode 100644 navit/projs/CodeBlocks/makefile_extra delete mode 100644 navit/projs/CodeBlocks/makefile_langfiles delete mode 100644 navit/projs/CodeBlocks/mdb.cbp delete mode 100644 navit/projs/CodeBlocks/navit.xml.distr delete mode 100644 navit/projs/CodeBlocks/speech_speech_dispatcher.cbp delete mode 100644 navit/projs/CodeBlocks/vehicle_demo.cbp delete mode 100644 navit/projs/CodeBlocks/vehicle_file.cbp delete mode 100644 navit/projs/CodeBlocks/win32_gui.cbp delete mode 100644 navit/projs/CodeBlocks/win32gui/resources/navit.ico delete mode 100644 navit/projs/CodeBlocks/win32gui/resources/resource.h delete mode 100644 navit/projs/CodeBlocks/win32gui/resources/resource.rc delete mode 100644 navit/projs/CodeBlocks/win32gui/resources/toolbar.bmp delete mode 100644 navit/projs/CodeBlocks/win32gui/win32_graphics.c delete mode 100644 navit/projs/CodeBlocks/win32gui/win32_gui.c delete mode 100644 navit/projs/CodeBlocks/win32gui/win32_gui.h delete mode 100644 navit/projs/CodeBlocks/win32gui/window.c delete mode 100644 navit/projs/CodeBlocks/win32gui/xpm2bmp.c delete mode 100644 navit/projs/CodeBlocks/win32gui/xpm2bmp.h diff --git a/navit/projs/CodeBlocks/.cvsignore b/navit/projs/CodeBlocks/.cvsignore deleted file mode 100644 index 0d32a10..0000000 --- a/navit/projs/CodeBlocks/.cvsignore +++ /dev/null @@ -1,15 +0,0 @@ -bin -obj -*.img -*.bin -navit.xml -*.depend -*.layout -*.bak -bak -locale -distr -xpm -*.bz2 -*.zip -destination.txt diff --git a/navit/projs/CodeBlocks/Gpx2Navit.cbp b/navit/projs/CodeBlocks/Gpx2Navit.cbp deleted file mode 100644 index a014f26..0000000 --- a/navit/projs/CodeBlocks/Gpx2Navit.cbp +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/LiberationMono-Regular.ttf b/navit/projs/CodeBlocks/LiberationMono-Regular.ttf deleted file mode 100644 index 92fb8508b3b3b79f0758e3d26b94d34c5997bc95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61144 zcmeFa2Xq`o7B*Vd-J_gymPXRdD2>u+l(R-T%Zj!v%d(<_g8lM9m?@Z9E~SFSm`H zG@gVKb3(p(4f*Zb#!hdw{wCu9A&O=~o+IroBb)CPZQP4%*Kx$QBf+wct3~+&eh0RX z>z?*<{E40TjeBG&LH~^FLCEjdIdWV}!?FhCeFx>6 zwvX?c)ctvM(O5!0MEQ<=gw+Ly`I}jLM%X6*gP5BkfshMRmIbo!m#nU&8*b{i2p^jq z#7}c6Kf8c?Ob+U|5F*?#+%$Y6d^~uCU1fhfOW`(Af09S$5gFl#9f=@ArE8pYl^1T% zHMn9X+bYwbNN?jeKa#X^4rVgWlsD%%87Bxk33sH7OnV^R3lfzvB#WdIzXzP~S8)!f zG&#t%H4?Jp~CX!iX z16cz;+i+|m+sR_Gihf5MNw@TAAYr&~H<^HAH+f0=ew`e}`PXDVXlwsbN{UDiu|VEH zeDdj5GKt!d#fArT9m;*4EFjBK@^Z48oWU`f+$T%OC@KAUr2atmlZ&{LO`J&sI9*Tf zagInsZ{g4Q>{gUN?~%^}lxO^`Mv3gho-*(`gVNaNB+W&xc(Mbvo{JKE@e$}cT8i3H zqrrN-)~dr_coK`4nR+o^(pR2L5nu;Cc_*xQvWI4s+Bjf!@Lgde`sD;>NhGzn&hjn5p+!jqV_*X6#76Q_{K~~~0KE4~9PGwbnUpIFbT>I*5C`=H(;`L4 zX@=*|Lw)K9v^OMfH>tr{4ANGTGt`{8pyesX4wK&xi3w`(0-pW?cx2L@Nphegj*_iN zuQwRTXvo|wq-EnSE$&{6(aW^KWa5sRXi-8Y?){Yf1Zj1_XFHX#79{Uc1^Eq<{R$OG zAGHT3JmD$(lkq&|C?#&P`<9o`duR-o3PeZ+=XgW5{e zj@aPbp4g)293<*U>~QWx>_MGDe*-5DpsvIb)Qvb9eg(fSpdJ$SB(6C30{sO#$_>E#^(S694*mN8&MHo!#_xnM1zSO=OLg!VJ7wm4I=@d zYKexEK*Nuirxc)(5{)8CoJSLt;Rm82A)qlN6jTfPJ@iu;XdF?4#!EDTgd4uYh+#B| zM1UrfD9{wpZ%Hb2#kVAlXh73JzabeU1~ijsL9-;PBe90B(UWnYIV2u5mn4AZf!@c+ zP6RC=NuY(GUtu&QgBDA)grwrUl%yHHgtRbPPSQauNCxN-(7!_`XM$Eqw3=ia{)Um4 z3tB7DI+BO;p(Nk%S29eZ^`rpj!zJ243JqUi)E0p@l48)2q{Q$!bV@1cD2XHjBos71T3ea|mc92TLJ&e~X&@mDnOR5c@l5wO4v{Ry8q!#DnK|g`C)PYVU!$2p2 z-i1c32c1lYgHDm?RMKGhm`o#$pwr1n&>5r&bS4>PxC6Op2Axe>K<9vdggLAg6tg|( ze2Fd~?S|WAp+pyv(KugB#(*vXy+xLiv7k?oaiGgUKZIO%g07J0O45b%Rb;&318BDi zpsUG5&^2Td=vvVC$vV;vx?Z9i$YjG`piQQLJ}J>nWE##llj(*(lPwb6N@n5wDT(%y z*@pL^iROTAm*@^M*YGacN#=v@lIU)-0OxziLc=@I_KZGF7J=@Q=ziEBZ$m#V0X;~T zf*vAI7~Ue!kY%8UCHgF8%eP>HE;qaht+)d8C|L=5Orpn04|MGFWHsmsiM~MAK;xd2 z=qa)m=cma!&@-Sn$XT);^c>j;dY)`DTqhUEX3&dd3+N?@UM5=&*T{;U}}=vDF>*$H}8qOX%(IKM`A8(xFvWAp~u3wo104f+P?pU9hJ zALv^WeVgnzyh`4ICVrK?E7AAJL7e}YJY#r;{6(VglfyXwK%yU#XALitTjV*=+YGdw-Wu1TrylF-;>LrKadweeU5^r|EJUcr_=vur~kiUr|V#?|KG9G3t_GQ&rbi(b~>}r|7WNF&rbi( zcKX@>Pub}VlQAA%K!oroJ8eYQfs6<;hB%$aTGj+O!yGynsIGzg6L*#Sh@ZnR=U4K( z_?v>2P%6|5BZRd+i+z6dbN2J`^Y>HwMfz#{68)0>QvGy(bN%-E?e{w@m&qOFE^>dl zQXVdEkZ+V9@aOzZ{B8Xm{GI(h{C)j{{X_lp{73q?1aJX%0djzhoWe?Br*KlZDZCVc ziZDftB3Ut3F;B5b@q}WfV!dLQ;;`bl;;iDl;$_7(#T$wb6kjNlmFdb%WutPGvQ;_e zJMIAo1d9N(-wE!2<6Z^#?}PhA;J%07BT&IcC>I)pH9qrve(-bjbM^C+xR3Tr803D> zzi~fIzGjendvNdW@6*qHqkpr+z2AS}zHE^DHHw{zLxbGE4({Iv_lbktwf{;5;v%5ZaxikJw1Aax`NxKt$ zC*XGWZQbpp+wr%xx1(=I+zz@ezwL3`@iw{j^{p>&{q@#ow?1Ka-FoHL#akC{;TgAH zzP0z(bGLN2GH#{c3b-Y|<#)^5?t<)sG@{P3yj*wxF$>>IxWg>%;UD)C_X}_G@VD`d z`|a_RM}Kp7QPN%R)Be179=-P8&$*M_>46;FiGj1<`R0L}E+UJ$6+lux2U^nuOr{q| z#~yf_mSdf}5SYui0)0y}vI*upD7K$?JEts%`o7g~Th zFf`$HpbOWres2Yia1)5avp})F2AcB@5QVpaW&I6n_+`McI)Gx01G3ync91ThRpWtG zO#(XA4Qy&ER{qm~MNJ11H5)k8Nnkc}fkDj!>hyQ`SWeT8^hsc?9Q;rM*6a`HCc2q! zf#0Z)=z-9hP*Wn(r)V$TMz_-)bSE{V=G1~((p_{n`3L!#?xB0>({vx*PY=+8^bmc9 z9;VOI=jai7lpdqUfegG$m(k_)d3u7rKu^+B)QVcu)9|g>P+MvT#P?%zmpV{KdX}D} zPSlyMpy%lYdXZkDm+6btg}MS0Izrv3JAH{>p&rzedcp7VGJOSj!>>R;KBYd?m-alvsM&k3B2 zGvQ1*GaAO3a~7N>XT@1_Hk>VI$JuiZ@FzKPPBffGaL$|y=gPTp?wkkb$$4?!@W(9Y zd^tZFNuxM9jpqEh04|VIa7s?a1#!VZz>aZGPz?~T7syNWGkCF{2S&AkTm~Ze6a4~M z-F@I!d&xSQ3jb9)olMuzwa{Tx$SFFLm~d8X#A4Lp-@p7(_)s`0#Yq3<;=lYb-pLbz z$e`g(fx(*td$$DUZVjy67NguA*t#Pyb!TAduE5aUft`C|X7C19?o0fDkNX1`4}{M| z2^>6#1OxjH1?H_L;lQ~g;R}fdt{nqBI~F*0JV^j{orJk01z2?&FzO6o(^*6ZJURzB zbRO{M0^rU?z?(~eGnWBht^lrF2|T$PIC3rg8AE{^*8?wZ08ZQpe3(em)eOmMg$%Vr zVn#z|#zJa3Au;12GfZN-Au~*3ra@X}Kwf4+V&*_vn5-;-97D<>-%EkQE`wyRfR|(y zqiP527Lx{ z|12Bbte>U6W&M1ToC1=0hMa{?ISID{%yyW)XJ#e%Nr-)Xng6=!ef+0Ng)B)Sy1)VnNjIpXr0 z>rmI}uIpW&b^VK*y<3;t3b!3@@3{xN*SkOK5#ll3I(m7gfTR{pAzsq9oFKxITDq@TuVULo7m;g&YdG7IHt-Iy5tMYUuN!S3;zs+F{!FW0PZd#(ohO6*nvH?RcAbZG3n9x%e*~CE&OMpp(v~!p+M**x9~R4s!;8C$4;6n<{7H$n zWLC+_lCvc*m712;l+G$$T6(PXcA0%yNLh4Qc3E**Ratx4__8x)FP42+&X;?XYs*KJ zuPQ%L{$oXKMMFhL#S0ZL4k1I#hS&}991<{O)R2usZVY*U$h{%IRa#g2R)$qBtGr(2 zSEZ|}s%ow3sd~2RqiSV!Y4!Z--Wr&V(ENm-&wT?uZAys7UT)9J?d5ZMZobGS&u{b& zT$kuTU;!ZWRhiD1j|T7>UaN8Dj%{#z`PG-`D*n`O=dWHx7V69w^CxB3ALf(tuIvfA zD>|=3X7I8)~Utx~Cq^Wk0Xp&eApfN+^MCY6gr?T}^~&a3QwWYo!r zbG5hOX-qh$vQOoOIq?&ZOr7_aAN>zms*A@Lo0$qGJQvkeTNLk`K5^Udd97<()198P zP^Hx-B~EOs%?Ru}8k9XeHn%C+liM3vHaan5OmQfkRXA@%f^63=(=+=OvBPx10{uG& zbBkJetK#xUrd3QW4dNFp5W>nP7s(?_6Xb$eZQ~o7SU#4Ejm?elv7y^|xi(whkX9Ze zw-tj0pZE&cFU0VZa8p)}`ntjbNrTluGyznji1y)}QR4vraE{f`5p@ahw?Uc@r-@GG z=pS7FXf3~Yec#T+wqmuqq&+#gqa;jSGWu1A0F68#HqgN_Q0wof33TMl{wRkm-^{mo z{;0+UWdQ-D3mZqxFZLCWX4Yz*U9>fs={2#guCX=Z`+t}P^$RuJ7k0^tG1HgA1|l-l zOl89lR4^`_XZ6(d*UJ>$85eg1TLqRSkaWBQsRF$x&9$0TCYV(Mq?(*5zfzbK1)Nyma|R ziqvuC;Q_kl^xU!4Ir7-%#^K>LuTBqL@p(h6#?*YNrKOPXAFpz856=q8=nnOaPR#AQ z*8E9#_{Nr)dY#JAM~T5qe}-)RS&}@$WR5%BFK+BwwOGT?#5KhENMkv`*fwz*8=kWd zu3gr6v3_Y?XlUKi`iqUrYJ)k4o}V02yR`mtWppfN;PyMuRY%PhLh~>Z+=X-&cfAF*-)$-RLJbanV1ClE0vHwhuBz6 zw2O;_>EQS?%AinMy!b?G+wp~kg^Ny%ZaKE7=u}Y2guJ5e(xBkdiTSw`OGCLmSHyqr z&CT6IEv{UrRy)$ucZfe--|_C8810;Qc5HonUVQw#x53#4XxGuut`3lXv<$>T3n7nV zEwqiEa%`O4lUcBOR-?y0I&v+q56X@4-Qb^68U3JWEvpxz#DrvUj)A4ora~hc<-}B# z%J<8YU@CWB6Sij0(~B!rxg(Qehv$Tuo;FYK+C92s|K!x_rF(nl`El<|9=UhzqWOyp zl4}w?eUj^v?2DGPBt{NjUe~Z|&4PLJbI>nj9$Kjo&q`u#WYkYgA45c?$6_`BBqYloajz8KWi3RFfRXzr?T6oYg(H$ox_qAFPysG>IKWPncM58 z9vrJtn@3H?NF=AX`sYeXw7rPIV0Y1&GD zM&A=Xe3rhDwWhI#*(|#CUu($f)!(w1`Y_S4apA)Wh3Rw7&Fp%5VwTNG%b@I*yqt;U zVIdd@>Y@y->(K~au3zjOxn@+yfhpy z=CqZ#9`>49UNEgv9d&$CBkQ-OJ-bE2BdH9>`=Gc(%ql=NcrGqZDsAO6SYW7O{S z2%oIZGT&k4*-KuTKWs$m#GPZZ#+Rw(8BG~^^P3XX6)Zk>JK9){HfB1(#Da4Ui1Fa! zAk~7p@tFlh=gXEH9jW)_R|{vCiyw+_h_CM0PLpUf4P1;7%OmpUzL10Z1!FcSf3${d zE`Mw$z{uerlf1`gLm?+&@(Z(Py)ZQ)qO>J8X?U7EVf?;vlMZ&p%F~9Yq_h`@-tkOr z&d(W@=H-&uT2|c}XCL6Dn^axemF?$;?i$ji^QJQ@*N#m|8MAgs?xe~XbHOIHvRSK} z-I$QrI7b)LT$y4eSZFIJaGHpUtTwmLk!LVr$Omm3zAH#8!tr644@5QC2+ zt5CnRhy5q%5-8p{HkYA_52rm%^uMc>w46m3rj{>g&2u^IHFa3Qw5llToIiX_eB)DN zlhURg>AL^@%ZmIlIT`JFs(_sK?C7>3TJF*@@rP5x%_HN zSPOO2TA_x&Z+yBV)8IH*R&V|uU%O$0NH#zz{!4jrT1ru5H$N2R-P^i_cG1qQV#5uT z1`Jq;LVK%VLos2zHc(Wa-Z z3g#RgKla!hoqqKd{>$w4ip-=W-H^Df*76K?qK&Ie@KNTrq*@K#G&Uu2__7B^E1HCf zp9@c8UKs(L<`HR)iH+3;40g4^bcL%XPQ%;q&Q8)eFfwRjGHBJsxw7oWNyouB>ByKW zwGjsFoH&@XPY0Jw%=3v+xln3i8=jOOl2)yCbq&iXZ;B5|4fQgY`E`#nv$Ztwb_&Xf zaM!kMXq#H=lEXMlD+^wg8|#}fW<^2KlTS>piu8;~3*02iLdx?~oMQsZ z)?S@H|L(rVC4UuPJGS|^=bPL^66G}toz{24n^bx7Ejo${>!!RW{xW6sxUj7Uk@qj#aQW*3$yeTgiESBqUEPI)XAJBj3zqj^s zwHE|CS9j}8KvCz23uM{9o#W3cOLDYUR5E=p-mD$DK_hi(-$y~zC%a;G3S_V`dKCmP$C z&gb^(>o4&$g@dBQcKtovfXh-#F*^)qqvD}B3^Y*x%xC8yDN<%f3dMmVx|fwKd38a0 z>VnsnHE-%FbbCg*qHE}!(tv}9BZp)~S&O&m$BW%!)jl0(Dc!OkEi^QyZhCfn=k)BQ ze_9~^Bz|e{>TXWUcCzQQnxRu!%}^`Ys%)JN?KnpN^QB9i#U-vwzgCv5f1Qi{?HtSh zI`X5kEI+dfSoL7S$zSK=#FuGu-&L9{zKp6p__4QFutxr)hWq@7$S+y<%z}~@w9J5F zwc$V1v^?4L%=LhC79olG!R;O5Rp9-5oA*pgJ$~6YeR#6>>gBvSYg5MOwSGRSsl+D} z8U8ELeGeE-{zNq6vbi}2#ZYiNg4?Bkx$mEh->-3B5$?m<6Gjo({rVEOQYgb#=A{Q8W!tEH8-jg_UF`I%4nX3gj@O;ns#-K-P~=ts{?Ag$A5L$BeSTVg+$senHYFeIN zlw~K5-qy@AI9r$i{{04Q(}!zgwv1LW!%14KJXRG=)2gAtOIp0rU6sS4 zs^*W(@f?3(Lj1p1Z2eb<$GOazXeL`?Zmk)yyvDNa_^-WxP{%E(Bin0)z6t2BAj2(8 zDIX(;6hNc$7sPenT%w;&dwyz?s&c_Fy5<-0P4PSGHe^D!FPEl&QI@S4xx6NIW?PZ1 z{u%zp$6`oO7PiDu#LeFq+EL%M{ucBPG%huahPcXz{YcYlzusiCq^pliXiuGcWyzP~ zgTOOZk(D#5@}^crW{h5}i*9WwPw~&2bGW&C&jg**dCSn;W?k9XOmFS5>Dh7P+v+lv zbYj)&_QccADdL7^1bQY8P0Oi`53slPR%r`cvKp7w1O-=2FOzG^V!h-ECFxPuhMioZz~&XD;p~xJDPe`mfbf)Ju)ORLLC|06u~b+8TgZC-)L5b zQPNFJ*~|-QVnEVUc}Th=a2Xd@X2SyP`|ZtknT@TjslB~}y{WCOjcoLr?_3yXW+{^i zc6O#Vwl*f?j*Npcural>!y>`Tr2PV2=opif=95!Yoa2+0q;V8ygPRK(v!W6-*;(Ex z$#Jf9wK%~gJ}JdJD@WHlBbLu%EgJ~_4x*0Gv6Lyf0O_BGYo*0E#A15;hPYf@af99# zi*N8cj_POW)3_A<74AiDQUBcsa5uJbvVLI&XtR0&;zA5C?l%B3^sM(fI{gK*P@)7 z6(%EA{KCpuOwVG?l+7$_bB=X1e^@*vp507mT%)t-Sw5ieBYs8SWbFHTU#kM{+{#i;*ez+TN;-#ydSg?I(>AXFa z_dVk(p}0 zfGHsccrnq!6lSVn7KFp&D@h^q+J){zkwDCO1PEXbJHcixA@bnlD=(k*NgI)wIXXWm zD8C~ktubBB`HP>4UsN}F#D&WR^U&lxmGHG#=bhl<;o31m{7U>}{I0erb=$#NQ@4*$ zg}3ejGuVN0Ux-JWDqtP--MlH)lXHE2b0=4g z?XkaTuA8{MdD*3@v7FDI_vdM&Yo_RIhIPbsJk{L1qcd^zIIFB#4GGnou%(y7PL(eN zceI5s{MSUmFf7by@@N-VO^h-|nlPD;WQgK`89LCRd_&ak>91d;PfXtvg*|R3SZf@n z0?+9`@lI*X${v%iP~?ryPH#-}d#+;yf*{ExWO(j`Y47rro2BPzmMs*`vw&n%|6iT<-{bz6daSW2K;JuE*Wujjp0z3(oF zuiW(RJU9Bbcfs7IhB-xk=!xZ!>q4nz2DI}4;Oy#bG`pRh0Z8gjh`&)2b@Psi-eqOE z&JKB{d5)P)>Av(U{%~IKsGv_ z&By)AeeENwKmgpVE1*9C=0bK%9)~ixwxP>LrC6V~pHQDLEF*w(Od8Ue*Se-YG<3w~ z&I$X~JkQGz(1N~s7hZ-IZB|pdk5AgjOl@mflvt~T&%(X1+`n*I^-DoTi2<2QUSGQK z`l^DCk?yH+K|IE6zN+uld!O@fOxQjuOg(Dbgvq@Ps?f%#&^~9-KE{zlV9`NlH2v@) zROSHwVjpnk1rwfkORwliAF^O*#0&DIvdE;i;;<94>*9>)mhgxot#?@cnihQocdD!{ z#Z6r`yIjADwGK*eLF=0{Ois~nBWvX<=9l_Aoz)jY_W_Fg@wL}_dU|-Dp0_VwW^Fnd zno)#0h%q9WftKIzKjvU9#(aBROj^ zLcfVg^b*`xFV*CcdT@99>+mss4>b^u_8{jdy50xIqN`8PIzsNBj*qrpBIr*8RL3@<;pDPo+}-l;i(zEuw1{3 zAL3t_6=^C9*2X)r6?h6&zkeX#Bs-F z>-2y7>6;6o#iP?RI!o0Nr5yfw6y;jB{^soF-ZAltk%yN~+BPyIp>sF*Tn;`xgo1vQSAvHIH3MXhExx3g zm#s-2I=_snle5okElqL5yd?vB;PC~E&YSc3r zCqH1EIHT{F-?xAD{jeF0gV)7XaE@q8tz1$cb;8Qd!Q>fJTN?{b=9OC2T@gPvgn!b^ zQa8D`Rus4k@!f3|Zf>brI`7ox9Hj*_o3IPHJH3HZ%KB((aPtA zz@+heIvO@jEOyvor7dhqNF0?Htf`%zn?7e$%DY!fmygZ2*=-u0RT=(|(2}tk8OtW* zQ*F_Vs&LQLwj$rS41Y`e;Ec%Vln@_B`=E^G;`RHy(?(@GspI8Vo5B;6p7wSjIpe_H zMZ-;C7(YGpMsKP*vCk^by;iol3Lw0B~qe$GK{&($d@VRnky2 zN}oq+#ps-&3o2DYqP~I&Khv|^q`qg3!v9eI);4o*;c1wWgr#`ez#0KoJj{7m!Pnjs zOJAo}W)4pFCMJ$f&Suo%G;%0r^h!fLP;{8xS1sGjv3?JICI1z_8wN;6>8gY$d?V zdEg#<#Y^Iam*@_0(w}G;4Y?{#LKx_IQOAXGHsUb)wEidk+ibLDLh6>`evD_i)O{+g z(Z!7RpvH!A)Nn5<%9^H?_$T@~M%tIIh;$G`E>km0KOa|)clGhL>buyqtt&||UCQ%Q z=0^z;`Z=DZ#i{0&DTSrp+YUB5G(FWsLu|w z;4IX-;fdnYqw5$ioTFI7odGXAe!z6*9QUzh3>F~Zb3bO|zZ?04Brw2=bv5(XNV6NF zKp40x4PgidPJnLhe{WcMP)0>)a7AXYQ%HvTJ!<|q<5=U=ji$pAhwIefCM>%?fewu= z2zOo)QaV0I+?iS(CvhKJlP2!cb(MvIld)W|(8#M`O%lrV0y78@BVg=K$v0-Ijg6&~ zf=i1F70%HbjcfMI7~kX+T~PMg{Q0%YjO2Ll=taEB+R4M()Xv5%I%K1ZucKL*huX^3 z&v~^nT#CKNn%HDGr(~;7tnXmtkxvKH8~f8u$cKCtQYVNyhVLR(DdoOJn-JS!Fyf>p z2awL*J!Fdb%wc%ngfTtDWINK)>q!4I=s%DyVN}vnu@;w}%1cj`Py;C)TJjNYq&1uD z1j^AN-Gr0-QHLK_MQs4XLVd~7m5_-OSn0jz9_0PWyrkYp|rhX`;EnW0c-M0yG-%y3c{wGr6hZip3pX=bq4O!#GN)d6;%*@D0<+*9hMzY;y7M@iV zK6`%jka0=672|Wf;woaJO5=PI$L}38eCy;=$6Z!&C8H7&TZ_XIM$F8}SlFK7msF_@ zDNK;RLqE~hPDn|tOZJVb7@HhBT&I#<_epDl6_ui}ugg`Zhx^&sh3AhhQrG0iSvzae z%Qg9vhlF{iw-@`yt56RWq+JvW6J-6DW?(lWZ1pUI!cczn2y=pT*z%&_9t#Dr0Wp`nFFez`-5twm~e5mK8ALPHCH z7Ev-+JTJrpM`I-Q$MzkbhORM#%4tz0}j zdIn19G29bYqc^e!cu=ZT(hLMBMZi$O(Z8r*hO$vq&_&FND+sHDYnF~E+YrZjWEPYt z>YHK_AQ~%=N{o`r(}pJK#^kF`q)mISv-PPCtz46+k;hexsEDJg%qg`o?rwW+Jsd1X zlqOZACFC~bXz~*yW70wuscMga;u*DlyueRAJU%wOY+PzmO;$`)v|mt4VtQp41~sf5 zrSL3xW^$~>E(WyTA4fRJcq69o;tV*zk?(h0#0t+2+y374Y47f+uiyUe^y%+yA68$y z9V5yQoh+;5emy6Cd%UXZIJG}_j@loq zu0AGydv5+<-XF7_zxw7m$@trCbF*3maV8n=V z88iT%4GL(#CqVXpP&?Y=6<--2oE9Osn&cQ$Fe+>4;+oLV>IF4fqw=EcCR+G~C#w>N zXx(|=KddhIAa7cAq^COGDb z6`T92yPly}`2yOw)7;$5MkcChwGitYs16lF5j`BiTbh`fh4|Zgx!588P(PPb=x=d~ z`g%y*qo}bqPU9@2>+ZcGzAGGa`qujk%n+r*6@Hd%Ci;ji<^adY8K(2W9{oE{3s+9# z4-(T&;)EKRog{No%rJIT8e@i8ys$IjYq9vEIb@gWIEbhL{Muq)4?#p%05!tylIPVPDg*HX+!FCv&jI=c_mp^q=89+N z4E?Qq!O7X#WCeC=^@`21?9F1ulVZeX;kaF9p3Xt+0{`)b4~2EI@z^WmZ$v4L5~4Cy z#lhETbgj9@xx(va8l$2J;c%c%uF{&AGx`g=4yR3SSQQzegU|4TdEE^wBO|Z+h@^D$ zo(=kSJ{(bX7xwn{I}mepy%`s3|F%~0uPy1#I9K)Ay1f(i70a=$%wk_RcQ`Xc{FRM- zZ*om|hW`tY6V0OU1Ys*q3hq^k4qy{Cob0sCK zMyD>`nAV!7ifdj|Ti(;2ymUiqYkp8%%jyGj7R;L$l+zF!Tc54^&3LLAo*g^~{nd^B zsu8Zh@~}mJK_fE%23ti_4BLnCpDgf)J0MP`E7sEG;*_=e+O=zO_axk1E4%?~41TWu zh$0zooNSCL>hr{1Q*Y1}Tg3z7fi3r?dyG%)zo$QHh&`-7a)>?Y{uWwGYqyG%Z|Ild z9?Coi!e)#r7dEDxrH_$S7Stv!F}XgPA*KD^K`N0Pqc%M`xCdnXW1G9 zidnO)huf~-#C4z;vPPULBx4Pz!b%hKZ-5k0stV}$pg+Fq=Ql_wlXm~aig|tlPfwoo zOl!%{8eb7EE&NTQQqvsAb*3l!rFn`gWLNaFvb(DyVusBrrZ!ftf^CZ z#8yq)Ix?o<%P+s*DPsI8&&C^=>PItmX2Qb>s?i~8?T7#Lki;jG?ks*-I3a1S;|qn z;Jcv2Q%n$!p$}lAqNiDp$q};Y?8(j4Zxk~7j>A!RfZr`9jN|=z$I+Yh-g?u`?7j}% z$6`^K{*fX!urK0}e$FNSS24k4^si5vTK)19%lDO-z<(mUCt;8*d{SDV!dE1%|6wi} z=V}*MXQh(w)MTpcqU&ZA1QxnFr3Pp+RJPGWXBYYxx;UiBYJ)N=!yc#`mQ)8@nyojp zQ>0f$3UA?Okh%E=3wzcNH@OwOUbY#CNfK(q*2(akF_YC86)XA8q%~{*ppd@eBvAz? z%$asGanyp`OAXbP^_CmWA}gntZrSG>YUO3_8t+*L+15IVe0S8Necks7dMvG`G9vW#yqF|8^ruA4a9D_ZHI)|D$X0=4#GmgT45 z^GopQh$yLlv#4080yDDNTpP=O8P&9|Y51Cvn#hssn%dS658F6xV)tzSlq${Sxq?H@ z>h^?$_SH3&tJ{+j+gDd@TJprkqH)=Ni&@K~4J5l7NI0`zC3}@&MgTG-8+*WBVumT3 zKQK^TT#fcV*EZ{w<@xHWIpuyn9O5YTHLojCg+M@>m`~b?@D{*-xw~=r}MnJ$>qdj)FB$%#OR;iwk`0@}19* zc;cgNl6~O>Jnl45&J66{tOJ)oT3Gk=`{q=GLL~L0(YovJNmrv7IXlbxqxx9q8U0v@ z+F_Wh31bdPN>h*IylGX*C*;mruifcpOU)YRvr`Rr%}2J2h4&BCX@}E z9-y9G)HuJyuTPec5MLhSK0{HEsNlAHrD_5=+F@Qx|7lphIs!9zE ztDIW+drs4w?1GHir{137cDwWR8HaKVx0DDIAM6s!t+yG_N5mWRYq#E=AWPb-i*AGvXK|;?LI!Lg<6rH2j=y&T+Zpr>JuNZ( zAj~$YWbp^G0LnH?0eM|ETKxPZwfTWQH{XVLo2)O9EoGAOC9puXtd6106jC59HL>P2 zm7BuSaSVvlAOe(M6<+NX81_oU(O;#)tS__5FPfwxUW62WN937LKOD317 zf=atNo>tKM69`-^GTAKVJt-z^UWxaZ%XvO=?rW=it}jBE7mqjA-WN_l8!55lUb0}M zxyPu7Rg4|jyv%PnsC5;O%pFWQ4Qk%k9D~!tGD>WgTL$S`^G=qBEFM-ktxA1p_qkH_ z;__iL3w-rs+``gSDg;S;hNlJuWrVxaBKNomKaT3m%8YRZ{Yv)K@Sy`P$72mcBz3BK z%z>bkSAL6IcE6bKa;0!-^ zhxCoo8I_?9J_^UBUg3TYy4lCat#S2t@Cb0|`SQMvSD4SrkVLQC86#HNggS@#q5X%F zRs3*Cb3D{T+@asqImq3K+!Ok94=NYGe&tgBP^GY*t3$ zZ?tw-xOoJ5SX+Cl++71bZFWTrN$bzRzH2sGdmw|#)7r)Z85Ev2^vS^@Dj&%)P=vz6 zmagFD(&?VMi8YnoIljI*-IX;Hb)Mq;ae1K*4qyg%mQJpM3!p!~=4 zXBiGj`Hg-=mLI+jiO=faO&=)d@%&ka9eCF=HTvL;{_Tg+T#rU_8RNJhQ=W)AJ%*@L z%mJ{|RRN{}KoR+49k;l@wTpX&SDcnFcls738j$b0>>%^YGcUMgaw33}K@^haM!+1; zg;bUm2e^7WTFAO&PU?cBu*$LmxvP(pg)m;`6j~r0Q>YboK4ISK+T1X9>Ko=2R-3Cv zk+fWRm!BpZBFQf>9e$er15PEpJC|Kk6EACqV+{xxc{xzA^<;&0sv|E_P*P2*LsQd4% zuKT?N{i}Yy)+c#bO3JWgpMme`*52WAdAN_YwGaFDwwCEsdGT_2e4a{`7blm;<*97F z-E3{$ylriL*tZYbajK}J_t3X&1tCSuF@S@$poBm8o5pE?5z>1;8SRBmYWL{C-~@l$ zlsp@6n~X84h6Yg#$&T`%e3OZ_i=Sgq2zRoX9|G;>jTUm0Vuz*KpW(oABO1KyjdS9= zVl1OZOjyE&DLo@r@z`x7?KqOq4TjN6VUKK`92>{GdgTUnjP{R=bzJNo6Y3eI_D=K? z$6ML9Rz;Migjm|BlX6rck=B-vjiCU9{IPv>&fJB)V*B5?TOGo&Z`mM1-Ql;B_O>9# zP-73+7PAaCtg}5XlQU0UqJb&m4sIuXJ!N_$_pyG_rs-$IPAMjT3GQPteXRfEq#H0o zP=K_YS^~~`*xCqI=F6~#4bO88(Y~2B6 zGAhM4Nj}|bq?nL9l0B1;XD*a-r}XExkaDj_dYF`ZxG^^XZw_%835d&hu77qxz1U2R z=!|{)xV^kZ-_H*=@|J!7Ku*^0(q1n+Ns{{adSS+wHlI*Huh9<1a1DF;z@D$AOO3m} zL~rq9?D>-Reo=Y<)-SGVBR34Yzp%e07q3~fV4J|i4EChiu&+vF?*li8L%U(M3MYk( zVdW~wkE;Sexq~xE1#4vU$eG+N?{=Xj-O}Uj_gUD4eF8rCynpKvGp6p**}>~e|dRf z{-QHoV@@t96m1%o4GmM*KT&`2c-YVt4{b-L^^CUTD!g}#^^DQdWRV0$OLNs2RxhUG z+1?$yK^Z~}4)%}Bp^AQI_s%71{V&^hxD&NIrscvU{VKVuchr)N`paRZQn_cawr6qb zj!gGHYz(7*qefLX&|U-Kiv7{+{1cDI9P0lz7?1c^#G(|!&iOwUZ%A(r1R_2bt7tm8 zKZYIhGns1?YJp_H#$hWLfb3l3I#@RpZw>oI2p1+v*es=S6w#N|l;Rb9P2$dWytk{N zL)=XpTg4q>FD+nZeVe$0j_45giaR^#NO2p=px&H@e@eE1t=h46c;qbySW5&@bL+T* z>d?rV{CNB6_c_fNuE`_B$9|kcK(t)%h4!N~9`|pMts;K-pEYvcYdJB6Xvy5#X}VF*vyjP zof7R=kgKaSS!xBPwtu{t(-p_PQA7>_D$jd&kAK}pWyB^RdLT6$Q20@sU3g5Q zrTrGtQ*)%Ju4;XloAGGOeFt@AJU*WLP9Kwhwuj3q)F(lK7hCH&HLW@}f z6F!FT0C3+AMhK29Bv;x!A^VqI72>-z?8L&p=N{itAsp`0JlsKn?G<Au_oVS#Mg)g9Z%4fh4`e?GZ<$nZrX&+heA8eUSix{6cn2e^IsSkP zv6>t0+xL;cYW{eH*!y2gxy44|V_EiK?vLne_}`3>TdZO`gOIMn{ift2IzcL(Y04I< zbd{8T2k(6S2m0R^E%*jnkiEYGu?EsUl!wmBKirB!;n{ZPxlK`vN0u$DkB(`WU(&Sb zUpJ+Qscw;lny9+$;9%X*$jAbX2lr{|E6-qOO7_aPR$>!K&VSjPqV3!_e(X~%Xw5zJ zS2+z-h<91-`)5wH-518%q1Ny#q1MJVz(=%DN?(lh9H}+(P-_$Nk%U^XwrG;t!kC-Q z{;Z`RkAl1ND|^=0Oy;EA5mL*oGHgf7amL*RCI?|H!&~~$vQ|m9)}y-&ZZIc2+iDQp z)9Cb__g@Ffl=zj(r1xou@)#KXhByOOsF(y|bMv#^M1GsUP@}u5(;;OmV7Esg6h#))yg_95=tj{H)TpA?B%%Sy+)V%alU z?n0?_WA58DUgDeOE|=PbAr`oEfc5BRu>Ykz!a z?p<}uR<~r8Rqu7RE3K^FWl2`CWVy;(Nh@h>HA^d3z!e(|HW+MN0UH}aaRLO>iwy}K zr;rds3W2njkdW|R@<@WT*T3(XyStKQlf3u){Qv*YU$T7X-aGfqnKNf*&YU@OPWyCj z8oSlpAK@$yjooT);ulq7{m71CQ}YRGx)QSrc15D;xPLUeA7}mTm2}Ksy6P-8=A>(^ zk*+$zEJ5@A^(V6LP@eoB9Li=(j~_?59#{SwbZ&xGMT(GGNj#0kwvJOq)$3_M7lIyE zXOQ~DeiuYEy&tVe<=0C#KRK5Cbn@7fn@h@Wc-j{EbcF4h8_HfwZ{1L<^;tCDlrr^Z zN|UY5$D`KPn#Nx>Cg==cV9`#7M0a5*6qFtas47IgJ=QDEB+ zehnaf#0Q(hL(x?Smld3$>}L`SYh6} z_S~xN&)LSF-&wPG_qV!~SNWgV<@ST)OBaN-jNP@eVOLk4am_C2JdB!{@}|+Y=l<^D zXLi+AZhLlo^ohOZXjZ%P4shM$z^e>YG-33dq3;zaxI7Cv_SMv#?I2~Pfn<#X$>VC3pEZX|))~zqxP_p#c2RHG|6P~fDX@22(sbMb%#-xWX zZ@qI}(UH4B&jj|z(UbZ7^7O!W5V`h2NRpB;8i76Zw%o-Q1%7Kr3JeurY3sK&4Rss z!K%_|>71MQ9QS+NyglRt_O?`GxEGgXwo7(*lR^tRtNGg`QRQIeb4+eUd0A?`$zO%K zzfW5`Fyjqz8cM1*#W({OCm*ZZ_0+mk!%yB&p4D^A8bl0x?~$a&@%ol+%Q7FCpH`Yw zzlfD_!;#Ck*SINGc0^md@B91vUb?5>|CYIpV|O%v@FNdi*>!x-)Uf}}&0WXWnGWr@ zKR-vquS^0T^@KF^u;Pp~xD)53CsV{(=}TQ*7`$kXmOgQK(NwLM9G*1EW1oa^f}K$J zf+_?(E$*xL5(IKn0N7Um{o zm!=Gx;YZ;>Mp68{-cIEZyAqg@6d_9sVq$%;r{FiZS;6!yBfjF7@_CH2KG-psD+0iasZW4#-w&mpgiI81Hu}ketZ2HtFvTyUqFbF>TdDQ@%@jmo)n=hzWF$Pl_v!_Dj|m zC!`i92Q01iNsCR0jW@-D4uw)|-lFtC#WJRxG#@x%R<pE^$upC!>j{}Hh;skW;Z&;{a@V21 zt6^S^Lp;6`UsFwhho7DwygL5_R|AxOfm*oe0PX2DbeM(HEUIwjYIw6~bXD0i=|y_l z+4P!)`z-2R1!^`W?fhyqpgrAirB<|zMEh1+j86goraZWF_(ajYepNYF-3&C#%dRfw znqomqY%|G6$fKYn#Rc!(37DqrR=fm#}M5B*b~3KLEhb5RoB zz~5sm;2v~);?Exh*sp#e zt2Ci9Q3v{78~_Duo@B3adt@pA)}w@zC>ihRdp*8SqVJ{8CwJl#K~wr3vyJ+_zzz^T z1cm?sB%D~Nxl|~GN76wR(3f8T6@jU!Js?r-1+Ma^R22|ma#+pdz*fxzY+z|X_#_F8 z92ldO2_xu+)Uq6~L_QUq^tr%{D8OO4uu;A&k-t?($;6#r@~4wg@~8Zl2M;PosSP+= zYdM!!ndRtxChAVfF^eL**>rQk54h{|OjIymi3ltlD!w5}^B8d%TYKgeuT zcOL`@G@5+VQ~=S#0aL|8KviL*J^0V3?naX^n|;#lk;yd&wK-F73QlGl1t+Vu6!Z|> z40pC44* z585Z04b+xTPZO$>^DRZu!yteMbDv@7d2HmPtXNzPVDLEX@UVYlFCb5EAZK*2 zlv<|f4`Nn9nL)(03|I79baDHK@~5CV>Lh(ky>rIsqSi^|7hEoXs&+TW7$X>6VCd>^ zb3qb;msm%{qNf_zq`*rhBG*nvp<8@R#c3~#u|geFuBHiD6gfvL$Iv2~KyWdM>QW^#;gV&EbQ&ftH-&(#AAu<*m#1L`yONe2;?+vQKeA#Wa(-T@84k}i4x z!vN9e9c>Ic(l7OX;zY-YDVS0W7y@D9OxL&}a0Uz~XW~;qD_74I)KzY$YB;!*1~vIE zOd#mVGVy|dK|RP%?5K*m;CL4J!9j66F+@A+ba@8l9rY7+`|1U?1q7d9Zr1Q|`I6u< z4R!{jV<#%AUvj$#P`eAoD0?B40 z>}R$iD$ZU+!ns4E!H!*QyyH*%zf8M-P5zJ>&u8YD`5Z>1u5xFl`}^5(_0N8+ua6y9 z|0b{e`{$R`tW)px_3{4xex*^h_ta9BDKCba&EE zw@9m5+&>o|vsiJfp_AEYx$lWq{ePzA?ncC-6NpiC262fVLnNZ75Pj%HL>&4Kq71!@ zsAE4uZ1SHWM%S+qN$ih^WcF7?^qSOMf!&=uqJYgs+^!Hr5&1cua)WPY3W3S@(8SL)l_nD7GdS;*K z5o(-`g|q;M=wzecJvkXy@oXT7ze4xR6zsZ2yX-JICHWZXS*#LD= zL7v1Jf9|v1Yw<2`#xpI_(fD&W#0JIV8h|TQ@UFkv-~Ze9Gs-4B*z9|hK{yiJAS%~U z=2cg`m+&WlZ!!nm=KSgJbNyoEb^S~pbv~ZSg^p)-u%?=vdas}9!S5LOosYop>aP>9 z>wdb|aWcO6|HxpaB%%=ozCrpaIT_MOBA~joA*vR`bzaZ0?SH0v%h}G( z2e;PLY<;k^^X!)DrKawi8yfcX6cqIAX=u2)+r)ckzNYLAyL(Kgp54w|RAxLhI}gjM zWiWZy_H%CdIQt~|Y|s%q2el`Btes)CEs8+jR}X1oCnXF^LQO%dSD zsz>51^96$6QqXgAef`aZx_WJ#0d_`#GqX_E*$7}2yg?#RkQ0KY41t|@KJMU@P^1-Q9YO3X)or4W2C9QW{ z7#w`%j@H&YUKt#`a7XK(k|QEgQX(Rf*;CGxGT@(9)S92)T9oEr5MXSyR95sg8UlHv z3S!l%54NZ&6)-`W0X0np=LD9l{MY=f#L&>htohlICHm-SeMuxVbJI1avvoCsgRZJK zj?zKtu39pQ^Mj7Gv!0HFhlyWPPnPOLU`D+%0u7CQ6_u7oV?e=l6~Crle~3tSf)H0_ zuM_=jXNAC#VORFZ-%g^$+S&w14=6HbsYI(i%MMN;<1Qi-*7eJszGtNq%CS{$l7V-S%(3 z(7RwOTbvGN8~{j9P^hVv?vxK{BE_zy-nAjb_F3R%FY~N6A*TH{nrf*hJbzFLTd7`dxSzgY{ zs$}`GjDAa3Vp>bnl63MM6A%$MuX1f|LVkV%+$qkBiwKA+TwajAq^Tt>vCGn*K_j~v zSgiwAuv&1QZE!cLjV88DiNmfz&3S;h4?%7s19YkLm)yKMTVPmIk~0&-oRS)WVfN~q zm&{Mq1w@vwl^;v1T9Oc3U7YLZ5mjL>{CY$S%@t7|P?J~3CM>BU-(-DPu7H9A8gVCf%Th9ve(;&Gl@pKQEn|}#t;q9&Wc09 za9)%LH=`kNi{>87vq!h?EG^x+bu`l_b2?di_{7ONsqW;7!)0aDNoX0vH1nlL8=RnBSe06w6c88{ zH;>Ir7%wa6ZZyoXKN?@0Hs4Q|5fM|E9_H;MRc3FhPHS7bQlHUWruReN7`^g7JSXe| z4b!oYPiOwbjD<3_*I*G(PvFlQr`%_hZ2w{wD*SdlP}cH!_Ak<=i)K%?*gu_xO-1ii zGd<$}XxY?4^KmzJ%WuXGt3-Pu*b$1w`A6Y=)`<%liFPCA!hHj4l>cOxvdnjPx9{pK z_J1L;pF)%D6(Jj@*7TkkFHT!=dsozs3Cs;2Vh@_mWs#;_oXjG~w5zOj?UE!K)alMZ zk3WCveBfK`hv%>LbsP8=oxY+o2k%cldX2|hZT!WHWW9sE33;cs8Wu(^R&08+KPf5N zhtbksABpaN9v@PMHPPQ-W7;g_B+|}YZQbCsr-7}3^X#@N(-@s6?9~QFA5piZ=@gWF zDRohIUS3yiN^)Jd$!M-iIW!kXJEAfo=gx~vj|fkXnm4t4t}auTkmtSMExxeLSUXS= zow~?kGBg*&d*0!dnqE@;1f2$ChsN&fNl)v!Z+y$??xdvd(_5Bptc}vuZtPexQ5PLu zH^E0s*0*K1c6b_l8q$kLkFT=b-;)M^CVAeq?I$N+M%!~1iMSp2Y7c`aO=Mdl_Lzm$ zkioGlIlWhg?oHKn9os?>O8$m^v0qi-&Y`@O<#D?5nAq~D(1qQ#x$Q;KIUTn0;JEY~ z17kA7qLP9=vfGMc77q*^zZZM%jgR|<&#Ci`n8)iE4z*^dEFP)qIe&CR!rx3wjA3#h zeI8fTlA&m$2X-AHUWI%M8Tf6%RYI~3fV{`$w|jThnI*IeXATLeI>M#IUyJlXzFr@ z;Fc)PS3&|X^1k79hSrFPs2w|=eP+jw$cTs~xr5SIrtsEWP%0GqlPH>HF>ZdHxAN%& zXJ6;Hod3gd5Dmd+UZ3f}d>!BFa$x?p_W8iuZVUXv(ZAloctF}|oRLt^oH89U@{WMg#UPl=NY*@s&Q9u@$#~)pj~q#<1?Z%7RJtrD_f?A z(?Gq5*l8!POzn`@OgoWYGfbZ2 z1#X}=d5Z_nlEvUvXcUV>n%8lsl)?EeB02z>BF^#~A8cG*8&eiOCvHwccDNTj%uC-< zg9TjAiTuaMbX0A|iAQ0D3f^$?D2=amV(e}u`Z`8TH8=6O zn%g;Is=0|r)!caQXt`seG=*ZhnB|?hAQ5-yJd#HJGnJ~}W8tWj1`5??$xr(6Y=7hrKm4%6PdVSa``1_bB>!?Zi&veMD?bC)s?|Ap zC(fr@!aK1#QmDRViGs_BCYqn%*se1-wSt=4*$QfI8Y$G=>by1EqWwcaB1);bsTI`R zcuue}CLmgp12#sAh4d6>OW|?2z>$~Eqd;+p=lF4)b}2v-v-6cH0XqoKpA+`)2rNZo z#T4a^!_$Yw$fBMKbmpFYDiFCLFWrgU6h8#xezeOj$`v|h(FBCa2^^y z;RWYnZvJlb0s_5n$0^*m>7dBc*(ZtR7qgbYeFdvfUY0{5mS#K76DxIL`Nm8?zbs>Z zsPd%rHk~Z_Z1x#rSv@_3`L`V7R|j@qMGeTWoqDtv_KRX!E}Ynl3X%6S*wd4(F`{t_ zcZzB)$-%EPc2L0e>$zBO*s&vJ;lGb7|R!Ja9IB{@?OSG?c}Sjgr%5`dik*ew|QZ zi1%Q5%@d9B$3wEqItoJ%9NpjG^xbUI>Ei;&Z*1Ft^nm;5;go=siY!`@t-12Cyi2ad zS_aYrMZE`7st!2XPo3Op4IBV-c+oxl_}I=j_Ee=c^ljK)vi{WrEmN-tmo8qGQEyw_ z7*iX!WcZGE0~R){Ht0JR70!=YeeZiC-KTCuSjeWkez;3HIX^u%P*>QImtyK|NaOoh zP+&?-aDXmlzVaEh9K$O8JD7LqBPgWk^*zSE>G$!j z?+-aol6uU1Z^HXC0{-DEbVdm9pH|=BYd?<${h6|y{{<)Apo>t?__3ei(4Ml~aR!fa z$WQXWXuq75Lw?ekLt=UGL~xH=8FGkNLMj~6N7GSE?rD7euETfOPamXDM&gyj{=x;V zvqxyF!JXhp%-o+V30IoIQQrsud`IX-lAvb9bNk<}G}Ag7&#kBnS=?L|2~;gndR$p{ z;R1X3g~=nR!pxwcGNeg5Qb_a$jO_w;+P168M1MX9o`ocW1>n_XK8`XyL|ko%dQ2Y> zpm!A5_>ywp+yD6T?a3A@&>6Ju8+^I)qLVuO3QY6l6M$?IQ4^iYMy$dAC%zWdg82UR z&+o2HXxi8k78aZZkBiy$Ym9-34dV@sfZh&5c=P{ zT~r=&(TUEZtadAdEI%J)cVmD4t81LW-0wy$25QoZm(JO_(ViAs$OrcqL9Kt~2hKlc zfgfl73u63LKXB(K7vC*ClF`{je&Cwcq)&;G#9CTF#_AX))d4bM0HP#tv7=;?;@!wE zFz&@_N8G2m-qWhXO{_X*$7F>4y(3-m5y@Z4FTWiQ7&R{ z;G5H+I;fAxCbZm*hJ8VF&>#=9|6TfzsV~?&O0YEa0FP(CIDJwv-=O%OB>Wrjo!WX> z-{4-%3j!{rFULJ%Jfa+&x<)yurHqiUB6X5+@0@U-AT;przjQc_GnPoQxAs zF%QwxW_n7ovO?)851#Q<^hfbj?T?>FQr^mUH?4#y!Qv37KL58DgQ+G>xsy zSN^uZ)KOSHP#F_m)6$VzJ6xBLVLrC5#a1874lg@lE6+2H0Bp9xfi_|m zL4FXYcGwj**E=E{o_r|Q&z0AedcUXz!5$a2lauKqH|#Fk z^}$LRgk_rNl*90f@}7`Kz^;f#EB1RJ_KIB;5w%v%qb)RA?)hrj#Ri_m8-+J=FCZE`p^bjRSifKG^{FeTOY-?#_=7PDN!3a!S zn-Nn}ZuHCdiB3oih{=u*_wfvkGc;H#+RmMO^vuypH(Goj*jIhx?4u8#1%9H%v69Ca z%C4(ba4zTnb=)_!dY4maVBdeeMf>C)j8aFyGe+&ZSm}m|5=C^*1l5OQaIim#|9R1o zQUI+C;3Qi%e({^Z$2JuI;rE*#A2li|#l3YYlKmG_T1{tpQEzRE#ABtTDl`9uvP-#r z)eCIFMV$HBwE89GKc+s+-TvX(Gav5Al|Rzo^yAZ~e|(c3wH2I6S- z4!@_v*2*gs+~&`C;}l{F=8oB+f>?+v1;FH-gE$b|0j$P&=YYt_AL0GX~uBh ziWa6-IJWm(PDs$$SjA7QX;vw(WdbrDRExXoC-p0#~ZM%02dg^p2> zwxHDU5L*$h1sBx~=hjX>tt)8D-G0}3@4yIuZ=H9TKF(N^7RaUCyL&5!qLdEpukEdi z*OrBU>j6X!`$4KnH%BY&@bHPutw~I90raR1qf*W4FrFCCVUe=P~Vvpp!5>u8>C;wPKvaYKx zb?QY+QiDP;?m_sab6yb zx&=FMi<@6qoW3Hxq$PX4+b)mDw1o|w`K3)ck#l`xOv@`{s!I&cu9X?PfVvhUMSv%S z&Io!SH=#4)ntRbgZE_R1oCX0g3PMZg90t|3t}9%QL++Q`O2$uj7xgrkMaZ0=FSI>6 z)c^FJ#jmCRcIOl7g& zL8i#`c%5HZY46dog$M4~Gf*6sYK$1evII*>$Qv|+fTOUsaMDO{vCw0Q;SqXGxst-7 z4?Q$$divHqi-zjr0;7|HUh+@U1@VQq{OovZ&N_rgIAZU)>rl?%qnj%4zHM_-()vAz z34Q@a^#eFbhfzHqvX(?XYTXl6HE9UEE;AO($Cbk`v7fxMuu~ru5i`G5msMX`ne+fl zcoBYU&%g2)yHzr=j&-ARcX|7Umsl1lAMpkDnyJfxz6@==URy}m$73{C#Sh0xX0F^pH>(jpBLvJ zl-ZCU)v>)TIjw25DyOY9!$aktfET)Cxc z3jIKp6tL!3C3nq%-?$_N^5Dvaq~Lg}>RBOcsCrh1Tq1Zv$Qr6t@wwO`5R?#4A?1*? zl1^}ioGyI8s=HVRu=_?nU^SrIKFErY&S{11blT+b5Jhq=iK*Cz72*hyQnDn}mgxN~ z5oPIVh0R@!XKP+jek$cD-;7(_x+J-4Z%0ym-Ed%FLauI1ukRavbIXv<-=0F^wDO8q zke_$vs#}+T(z2&B7g&9QadIVTZCDC$B^?iTD1epN{li)eQX52!X}dMJg?B^~!DxpL zDAxTr`La-((RNdNiKVF^=>G6l+ljvYm-d#G?tW*V<>*Lb=)-e!>&%6%TUyf)0GOM{ zp4?QDwYbk%R(-Rz)bbqT_dUee<16!4Z!Ry(SXP;`&~|S9L86(^ObeOcDCF$fYZq0z zoau=Yes%F3_Fbf(3VEEQNRDs65YZVDXdNJWFSffR4B?n?)CdZ49!xoj!eXGKkJX>*48`M z7Rk>mZ4dwR$@OKSTJ3IG^37O&^kev{wqMNaxqVsw@{$-OFt%(pVO0a#Q_P59F&m50 zMNh$wHkw^Ec7&LzBEx^aii#tQl+TrCPoHLW>|-jsXC0NTtr7(+B@Fmx`(C=|rBmh8 z1%lI19&s9c1tDrKh8H&)0Ip&$Kk2>eG8B)#9uwK$1+54hH@Ucn z03I!C9zQj8^cmH8R|6@1l0%17D$$yxb2zTh7F`=pEG8Tu_}e!QP4_b7YzT)KaY z-dQqvYjP7i+-ggq#xy2GL%EhHlU@S$(M9Rk)|`264HP+gQ4U&Gx!JeYki|9(VcF8ffqDZep0 z+?}tqKjCfXd^=P*#xRVUZ!<6^rWB=HIoQO%pN$Wm1QlT_wl1zNtW&Z&{j>I(sw6j zB*|l6y(kSPE>B2LoxBI_P9wG0x#y*5cW~~NKMT$koDTS*kOlRAB>k()F3i@L*Zg81 zzL2t{r73ap9p%GleR7l!vwy6#`(st z=2sMqPpbhLJrmB;-8fB?SB*@u(ivq>YH+H)sJX8qG}G5R)+^GGm71IsSi~>CAU~*l z>zwk>S9dfM(`^qcqV~;?8pBKN)bM2pO8Sl#XCI`25eG&w*3%?n@`ECw*BU$)%2&6IIE9Arp2I0h6IlQbqBWXEy%#W5r)i zKA=2T)%f5E7V?;Ll(k=c>zV&j0&i5l6udKI{PqyBtR7}1Jg!1(0ec@|{Zu>ja zBRA;Wf$?b-q!o@WYT5VB z?$WZom-hFau(d?oA5_p}DQUl{EnUma2Y>ZhO69VQvhvNV^Hx5tTzTj|MS0FrYQ4F- z%-FX$t7OxYSWXZ+!cux6Z8{8Ctt;aA=S}@(pG3sm``jf4s+jKSqvkvRsyn7-8RF!OTih)pBvw6RPWf`gd4Tz2P5gxg-Y@u^MhR~P=Q+!Y>GHP*`J zD_@(}XdXbmdUzIN9tf)w0KcSu^{49!fVkOv%Yi>s!muNr6_?izo z&)(97YhJ1#?GgFIa1L`6R`%|`T6Y9}xhJu1psZ@F1wm8S7FCTdPWkJ{?|=2@_21rF zRkp;gx9`5bu>*IFXJH*d7I;U>%uqD5%7A94au&^q?N-YFq0j+4AYCJfoa>!Q! zw1Fmeb))^jZj?@l<$D|M9IcEkY{@jPsY)suI~6Kxa*Y-ry| zoV=F9>}Sr)1qY_u@RVzUAysTZ%3Vk^(QaTJ_h>qgPOMX`&4YL(l_=kxpPiK%!X{bX znW^8M*%+9Zn3#~@&qwc)&OLcW^TLiC`%i^*kr0htwiiA>G}T5eC@kbe3)Z3q8Ggya zQjLW^Q?9@w+aXuLz4^3Q5jt15AW*hLArg=u`{B0_=?t0a^N-I@&ot-`efz_jB-Z@A zT@GBJo6A1oo<81^eUf(t)f-sVU-XOgI#2eNlJBWQ@-NDZYg6r~;5fqD$CE2M;IR+9 z6pxj@X{JP>x~dgc`Xru0ZR1$~QnQHw;v`V4=sP~LDCB;h%zA6}o}Kj*x0RLc8LFPx zXHfFQO{mCSv~*5% zeoEl2n^PJFN=(a&Vzt~Yxngxe)y57e?-Ao3lnMf+NcTpXdWRr^=?YE5`XxzX?60q% zBY$Cv+ePSAp9pDeT@)l)Cg0$P0!)Rbz^Nnn9Bm*V30to&w1FGH{jUW7r+~i-88FMZ zWC>NGQ)P*tp3iA-UYv6NwO<(;g4mAtl<)Xw8I1G6H%fwEdUFYzqrBKqJJ_&QjfALEGadova>8A%g;L@ASx$0AwDIPzagD_PWkmu z?pm4Tq1_>CQ#ucS$ReJls2J+0ihe-V5mZ{ZL)<|}BJLz{RLG)!()SPmkSV`Dru>vt zQ^&u0%PYu#uB@HwAL#YgU-*xM3rmZFr)s2ULyL+`A$CNUw{O!mwlv4ZwX`(o_zo1s za57XQ@W*V)#Qdjr0z@gCJbzx%Qr(U0oyj+_{TZOr_G(SmGz7>l3bM(p$=g^9uSYx-Ej20E(~y zAkC`qzb$F10rh5R3PUghVAV-;2$#sY`;*+ncvFdnx_wsORF_-rl|AjoX{O*bZe| zfbvIWa`<>}uBWuv)7X1t-SDxVT#u=zkUmNncA_3b0>hP}UQb}8c?k7#(N|rqaB4>q93^}Si`f%Zi6sZv%Dw&60@vPO*8XnBOTU3KB6N zw79_dW#ooLMDo-0Z>-;{Q~$*89d}HBp(2hGkytUxH{mN^fj1q+Q7b>d%c|DNSW;cMF3o){iEJPI-qP9bY17R=&4d;oIT6h5{eoVlN$@;l8Wo1lbcEs_~_=RHZG)KR=2&szq(@Ag&Sxb zu>WdSG%H|Hg(jN>Mdv^s!xXHVrWy4#9$-6`90%(4yk2?zUAAoJ#t*;Go;d&6&Q0rX zuw(nz$SyB9v*qwT;M;fDf38~Hxf=YWTAGt}5Y3~A>f}L`HlW9o4RjvWGzc1qt8AbJ z?VXD_Z1_6mCE$QH^R*VyK{Jd>7m!hDmM}lP);xOZ&8rPcW!F}gYAdZu9Ad_yeoq>i zyG8#$h_-1_Im3AxcxK?JnQFcaesJmj^J}{A9j}{nao)ZS#1~q2ld@AA2fi?_uFLj# z#j|GOf!)b6Dn+hF)PZY4QHO7!WupXtJ9;4~3O$Ir zWEMjdba~S~T?&8sd%3-LulfFiNpn+5R+dF1_yxtsW<`hk7}#6-;*R{#kqxIdw)IjVIrrH7asLzb$Wot)-ZcX)PP;C%tyw zo(g>kg9E|IW$;kS5R*qEyP+SE#({{4jO^j_eB_M%0l9$PW&eb{JAF;`IhlI6{5;k` z0obE8k!IQ1K>WX-9pxX!Qf@okVZ^CF0l!9apAYz^QmN&3m0`LV&iiE{#@s!|J<L3FD`0$?c=}R*gWm^794#aqGMztI!3G*$Dk@p%)=pR zIwUDhNYj`mjz?4X5@(}lAL@N3IlgzG$GEMo<|d~Uhbw7gZ@(omH6_7p?J{nwso8GmwOZnnQxdG!K7c~5G?)<< z6sTW;Kujw?A^lo=p6oi+I7g20iUJ+kdiQlCA(%|0zAhu94*PItc~Zwd`H6(8E>mhj zjIVD@L8_^%3aTlx(%TCwz4vBY>Fssep;3+(`Cr_yFhTYpDb^6c{{ka1H%+wi^LVDi zL(K;mmCmB&AQx$!bFA~cBWYZuv)7(EH1=rqtAl0X!|%Ke`vnqjgpKQ89*(-aNXD< zL0`>Z)Yev+qAx63=&{o+v20b*rp*~OOIs`Fu^V`!Ij_C8q_if@R9al5&1^1+9_`Ot zUSC#HmavX$`x#%zKL>n0Zk)Bv6H%tb6562w7W)a<_*N%;oTd*B=AS24Vn=#aaSURM zlw}#qLz9gW$?=t?#^m&JL>5V_Y|kp_D2S-2LR9E5;}TOud|^Z4oWi2QviQs}uOU;p zA*aOTV{A5tMdd9@DQ^$s{=GB`zs~C=1L);N>n9wPGQeXS5sS3pQnX(oH}V&^DYr7~ z{w@D-3z{F|{ydz?@IReC-NU|Ad@SrE&!`xk7i=8mIl3qk=a|f^`6M7>R2P1S)onOc zR)oAn-bSO{MYrISyEgnR_GWKW4$fQqml%?Af_6k>@OUjCydrUQt5mUN*M+&pOl-lY z)|Es?vS-#`)-AXRU^P={CkbWv;>K4BilxOAF^g2uQxbJ^Ohr$rvW2_LpR7K9&uL5N znPbP=)@vl@$4ezQP~Q*ZTMfPxa)j#s8$9AVr|B5U@*E9B;UNvv2Km&BsX^9x1jk3_ zC(-}W34z)mp9SeL(KyHKy&xkdHa*O9PekFG^71uB5v3+$W`t>}sc>2Tf^0*%N!}is z6ft*UPC#;WP;hjz@?v;qOh7D? za`CeHQossKE1GabKY{*1{FLH!0 ze%ukyVV@)If!R6Ok@nR1GTD*#1`hs?w2vl(WjNAvG~3uJN7`4D$|!CvlcBfKY=?BB zrkN&^lT8pk=Neyr){&Mpx%}IXv^*n^Rx_Xf&hgw$6V4S!+FkQEDa?`f&?NC3N7_>p zF8eyt-kN+l#gX>WtdhGO={Xuje#MdY)hyM%RB7$E+N@hFy}Dkr&8&Mwmy?y1rz;!p zu?+WG#&i`UW1}NuW}9_nI73%9IH()5_7B*`bz_!s%h(1>Z$^W)+oHbLHI59Av|9Qn z2F+ux@6&a&GAy->jRTl2J0mM=`W1aTeW$aI>&!aan7P+7WFA|m8|l-v0>N6dElpQ9 z+>?RQ`>o?P%NQP7hjr~4OEPrLW}9W$rZW%s>e^f%Hud#cdo1E%k7dkeM&=RQ0IIci zV$3?;Ywe+Wjb|*eSvFX7jb@w8GCndqV6%-DWM*#MxG}@*AVUwRkkK&y3pjjR4W{kv`i-^O%L|IzG|8*3x6s*+!7pq8kLx z!}!$PKW4EEQLQFKTWlP#_6+DYk4)&yJw29D8){G4zYa1``1*0V?}Bh zG704!#IFu-3H|`yjf*=AuJr8&QC0@zcPk<~(v#`$b?^;Fa7JJ+VZqlEfMiCFYs*gu z%zq7GsenE1z)T10+6+;j>wV=c^?L7gfIu}Ms@Md!M1vuL*E&2Kfp$VC@Ffb?irS)FuC1<;6R!h;q4 zW+2bi+|Yx(#0wd~XatnW6s`V$^PLS|;6_n8QJ7k;A2p#`5uSw05cr`TcZ91-cdDb> zKG$!%K2Z;%DAlMBFg5~zY7u9p{9m-SbJnSgd44mj|;s9q` zO^CK4JavFh`1Ig^9qKXy*wjKj__d&BL|JN8C-na<&MFoDZzxOknBCi^X)1OCH5w%r z{Kmx0c-4RW2yWpu46}#~`PL2drU%ZVcws%~18s>fX4-j>H2kre3WTH`4Ebt4q}(v* zyu#t_Cld0J4iO<@uv&+cA@a$sD|IIj;*NUFh2L4zITasniMO^`J zsjJ{+uoJtpU1)`Fv;uKfpBR^{X!CVw-yyW#2-;@7;4>RqYy(-uY@!a}W`AztecwF-Y{2P87K0nVxm;DSpe?AB8 z{|oT{`4Z!rS2P#k!3W|y@C*7LJRyD$-a&r=e~3SV{^J9j zTD^>DbRRJ{cnkeG{3Cu0pP`??OX9EKIrKN0-)epb|DnH!$HdRzMf6YboA_t=68!=` zL_MJW`5UYizJy=Vf54OCSMV-6rLk)i_!xzli+zXhAP}ZE^MP+gUy9TQuW|nHIvR*` z5W(<0I-iBIFnAyhXAvxtMKK+VW-%<5#j$vnz!F&!OJ*r7m8G$CmccSv7RzQi*uc+a z24+NT#e8OB1#BTJWJRo)m9SD)#>!a*t7KKIn$@scm@O@0^{jz4vc;^4HM17h%9gM; z*3Oo)4z`RfXDirBwu-GrWX3hDiw%8i!unW0yn9&T8+;ubWJB<^F~UaKdN#(! znT<`rntCJK#5S`nY%9Bg-N>#^~-OUccsPP_lgdJta*l~7(okV!Z``G>L6wD7EU}q3Y`$6^)`v!ZMJ%ZEVk0CzZ zH`%w?Ogdik)XqvuD_|>^b&4dx5>kUScn^SJ(x1k-f@ZW8Y!lWv{b0*qiJv z_BQm2@3QyUCH6h`ef9(PL-s!V5&JRwfc=DBW*@ST5P|(?2!!wp_A&b<`-FYUe#L&x ze#3steusVQ-?Klk&)6RkAMJDYXZ9DIqx?_yU$FfC8~bneCHp)32m2@c3fqKJ%+3^c z1x{6<)8G=9IX1YsJNMw8+>3j2A3lfs^0|B-_v8LNfCus*9?V1dd>+cf_yQizBM@gG zitBhZkKwUAj>p5oD-nM9lX(gv2Bh(Hp20JD7SHB6T+eg40gJ9Yp3hCZ0PDpM^b$k)8=M7l#F6K?VnYZv(zJ#~&cD|H%z$fBzzJjmhtN3c( z31g)$Zsy&*hxc*|hXY|gz^!~OU&jae5Fh3ve3Y-}V|<+3_ypg8_%oaMX1;}Q;hTVGAOJ&d4h}q^|<;Y}lWU5l%TGUH}xo5&=aT`=G z4eG-|agiH(M{M#S{&QQbz8+RDi`87i;xeacU}Cu6JT@^jXr8dm8JT(K)~bFmre0dr z@5a>267}J@xcIa|o*pujBs*;LvCX(~Yg4n^#6{aaW*zR=LS7&4pVL0GtT_`i@7z|X z(6@+-*9ufZh3&P)mDJXlQKYtQz+y8?%>!1gd2n>VtnIZ7+RW~j(Q)hG$gmay{E%6) znJ1*t0qYzgd5=T>xAb-odRjL144Q|K63v&DSM4^6b&$>MX&xIJ**IwFv$>1Z#Hg3J zip7%pvUgK zGwYpbJl2#)qunLvxP>479;@BaKfC zyY*o;J!p~XKkfJ^P?38EC%Ux*7Bh|8?{Ugh{2^&=>5RqB{&5f`s2 zS4J<3E9qS`4b{7UI_*{C%Hq}UO8V5y7@vIlXWV$#PJin?FrAibyUk0VYP9=V$>;_BTrK4?a#r0LOnWIF9>#t3T}v{=n<9T;OV8E;fC9U`mSMse}% zz~%$AV%Blbjn0(Yay8>-ahbDz0&r+H$FSb3&LH|KdC)p$_Oy)Kz!1>rcw&0Dkcw@< z$2NeLRMX?$ebx=mw9hy|3_D)T6BE=7`fF`arH#*Vq9E?P%4nVwNuMfpniDr3RW|jh zXB}os^?lQjmHLo+(>^1!SJRNCU(MuaMfR&o(25e|a?FK7qS2dj-5n*#D`>VwNir3p ztv8R3n%x@AL*2b*-Z;S*Pw-_{Fq35YCWW}fe|+$NI>9IOOSd{10=O0L`EM1;LDst<>s^rb zF35Tp4fL)u^sX}Wt}^tlGW4!8^sX{;U1j9D%E)zx(=WR(UR5@?5y&xp2vILC$kQ&T~P|b3x8?LC$wU&Ue)} z-&IDwtBibC8Tqa<@?B-*yUNISm67i%!{jQ%?N*fr2hj- CUO&YE diff --git a/navit/projs/CodeBlocks/Navit.cbp b/navit/projs/CodeBlocks/Navit.cbp deleted file mode 100644 index 373d341..0000000 --- a/navit/projs/CodeBlocks/Navit.cbp +++ /dev/null @@ -1,300 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/Navit.new.cbp b/navit/projs/CodeBlocks/Navit.new.cbp deleted file mode 100644 index 826ea6e..0000000 --- a/navit/projs/CodeBlocks/Navit.new.cbp +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/Navit.workspace b/navit/projs/CodeBlocks/Navit.workspace deleted file mode 100644 index 0f176ad..0000000 --- a/navit/projs/CodeBlocks/Navit.workspace +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/navit/projs/CodeBlocks/NavitCommonLib.cbp b/navit/projs/CodeBlocks/NavitCommonLib.cbp deleted file mode 100644 index a410141..0000000 --- a/navit/projs/CodeBlocks/NavitCommonLib.cbp +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/NavitCore.cbp b/navit/projs/CodeBlocks/NavitCore.cbp deleted file mode 100644 index bc3c466..0000000 --- a/navit/projs/CodeBlocks/NavitCore.cbp +++ /dev/null @@ -1,235 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/Navit_gtk.cbp b/navit/projs/CodeBlocks/Navit_gtk.cbp deleted file mode 100644 index f491510..0000000 --- a/navit/projs/CodeBlocks/Navit_gtk.cbp +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/Navit_no_plugin.cbp b/navit/projs/CodeBlocks/Navit_no_plugin.cbp deleted file mode 100644 index 35f5412..0000000 --- a/navit/projs/CodeBlocks/Navit_no_plugin.cbp +++ /dev/null @@ -1,87 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/Navit_win32.cbp b/navit/projs/CodeBlocks/Navit_win32.cbp deleted file mode 100644 index 160e94f..0000000 --- a/navit/projs/CodeBlocks/Navit_win32.cbp +++ /dev/null @@ -1,123 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/Osm2Navit.cbp b/navit/projs/CodeBlocks/Osm2Navit.cbp deleted file mode 100644 index cfde16d..0000000 --- a/navit/projs/CodeBlocks/Osm2Navit.cbp +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/Win32Extra/LiberationSans-Regular.ttf b/navit/projs/CodeBlocks/Win32Extra/LiberationSans-Regular.ttf deleted file mode 100644 index a788fbdd4603826d1a1214ca8e46fc4a7b1ee123..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110660 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 VP2g-MycCLAJUS-;TPlU&KLGdbhur`G diff --git a/navit/projs/CodeBlocks/Win32Extra/X11/XF86keysym.h b/navit/projs/CodeBlocks/Win32Extra/X11/XF86keysym.h deleted file mode 100644 index ee783c2..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/X11/XF86keysym.h +++ /dev/null @@ -1,189 +0,0 @@ -/* $XFree86: xc/include/XF86keysym.h,v 1.16 2003/02/11 02:51:10 dawes Exp $ */ - -/* - * XFree86 vendor specific keysyms. - * - * The XFree86 keysym range is 0x10080001 - 0x1008FFFF. - * - * When adding new entries, the xc/lib/XKeysymDB file should also be - * updated to make the new entries visible to Xlib. - */ - -/* - * ModeLock - * - * This one is old, and not really used any more since XKB offers this - * functionality. - */ - -#define XF86XK_ModeLock 0x1008FF01 /* Mode Switch Lock */ - -/* - * Note, 0x1008FF02 - 0x1008FF0F are free and should be used for misc new - * keysyms that don't fit into any of the groups below. - * - * 0x1008FF64, 0x1008FF6F, 0x1008FF71, 0x1008FF83 are no longer used, - * and should be used first for new keysyms. - * - * Check in keysymdef.h for generic symbols before adding new XFree86-specific - * symbols here. - */ - - -/* - * Keys found on some "Internet" keyboards. - */ -#define XF86XK_Standby 0x1008FF10 -#define XF86XK_AudioLowerVolume 0x1008FF11 -#define XF86XK_AudioMute 0x1008FF12 -#define XF86XK_AudioRaiseVolume 0x1008FF13 -#define XF86XK_AudioPlay 0x1008FF14 -#define XF86XK_AudioStop 0x1008FF15 -#define XF86XK_AudioPrev 0x1008FF16 -#define XF86XK_AudioNext 0x1008FF17 -#define XF86XK_HomePage 0x1008FF18 -#define XF86XK_Mail 0x1008FF19 -#define XF86XK_Start 0x1008FF1A -#define XF86XK_Search 0x1008FF1B -#define XF86XK_AudioRecord 0x1008FF1C - -/* These are sometimes found on PDA's (e.g. Palm, PocketPC or elsewhere) */ -#define XF86XK_Calculator 0x1008FF1D -#define XF86XK_Memo 0x1008FF1E -#define XF86XK_ToDoList 0x1008FF1F -#define XF86XK_Calendar 0x1008FF20 -#define XF86XK_PowerDown 0x1008FF21 -#define XF86XK_ContrastAdjust 0x1008FF22 -#define XF86XK_RockerUp 0x1008FF23 -#define XF86XK_RockerDown 0x1008FF24 -#define XF86XK_RockerEnter 0x1008FF25 - -/* Some more "Internet" keyboard symbols */ -#define XF86XK_Back 0x1008FF26 -#define XF86XK_Forward 0x1008FF27 -#define XF86XK_Stop 0x1008FF28 -#define XF86XK_Refresh 0x1008FF29 -#define XF86XK_PowerOff 0x1008FF2A -#define XF86XK_WakeUp 0x1008FF2B -#define XF86XK_Eject 0x1008FF2C -#define XF86XK_ScreenSaver 0x1008FF2D -#define XF86XK_WWW 0x1008FF2E -#define XF86XK_Sleep 0x1008FF2F -#define XF86XK_Favorites 0x1008FF30 -#define XF86XK_AudioPause 0x1008FF31 -#define XF86XK_AudioMedia 0x1008FF32 -#define XF86XK_MyComputer 0x1008FF33 -#define XF86XK_VendorHome 0x1008FF34 -#define XF86XK_LightBulb 0x1008FF35 -#define XF86XK_Shop 0x1008FF36 -#define XF86XK_History 0x1008FF37 -#define XF86XK_OpenURL 0x1008FF38 -#define XF86XK_AddFavorite 0x1008FF39 -#define XF86XK_HotLinks 0x1008FF3A -#define XF86XK_BrightnessAdjust 0x1008FF3B -#define XF86XK_Finance 0x1008FF3C -#define XF86XK_Community 0x1008FF3D -#define XF86XK_AudioRewind 0x1008FF3E -#define XF86XK_XF86BackForward 0x1008FF3F -#define XF86XK_Launch0 0x1008FF40 -#define XF86XK_Launch1 0x1008FF41 -#define XF86XK_Launch2 0x1008FF42 -#define XF86XK_Launch3 0x1008FF43 -#define XF86XK_Launch4 0x1008FF44 -#define XF86XK_Launch5 0x1008FF45 -#define XF86XK_Launch6 0x1008FF46 -#define XF86XK_Launch7 0x1008FF47 -#define XF86XK_Launch8 0x1008FF48 -#define XF86XK_Launch9 0x1008FF49 -#define XF86XK_LaunchA 0x1008FF4A -#define XF86XK_LaunchB 0x1008FF4B -#define XF86XK_LaunchC 0x1008FF4C -#define XF86XK_LaunchD 0x1008FF4D -#define XF86XK_LaunchE 0x1008FF4E -#define XF86XK_LaunchF 0x1008FF4F - -#define XF86XK_ApplicationLeft 0x1008FF50 -#define XF86XK_ApplicationRight 0x1008FF51 -#define XF86XK_Book 0x1008FF52 -#define XF86XK_CD 0x1008FF53 -#define XF86XK_Calculater 0x1008FF54 -#define XF86XK_Clear 0x1008FF55 -#define XF86XK_Close 0x1008FF56 -#define XF86XK_Copy 0x1008FF57 -#define XF86XK_Cut 0x1008FF58 -#define XF86XK_Display 0x1008FF59 -#define XF86XK_DOS 0x1008FF5A -#define XF86XK_Documents 0x1008FF5B -#define XF86XK_Excel 0x1008FF5C -#define XF86XK_Explorer 0x1008FF5D -#define XF86XK_Game 0x1008FF5E -#define XF86XK_Go 0x1008FF5F -#define XF86XK_iTouch 0x1008FF60 -#define XF86XK_LogOff 0x1008FF61 -#define XF86XK_Market 0x1008FF62 -#define XF86XK_Meeting 0x1008FF63 -#define XF86XK_MenuKB 0x1008FF65 -#define XF86XK_MenuPB 0x1008FF66 -#define XF86XK_MySites 0x1008FF67 -#define XF86XK_New 0x1008FF68 -#define XF86XK_News 0x1008FF69 -#define XF86XK_OfficeHome 0x1008FF6A -#define XF86XK_Open 0x1008FF6B -#define XF86XK_Option 0x1008FF6C -#define XF86XK_Paste 0x1008FF6D -#define XF86XK_Phone 0x1008FF6E -#define XF86XK_Q 0x1008FF70 -#define XF86XK_Reply 0x1008FF72 -#define XF86XK_Reload 0x1008FF73 -#define XF86XK_RotateWindows 0x1008FF74 -#define XF86XK_RotationPB 0x1008FF75 -#define XF86XK_RotationKB 0x1008FF76 -#define XF86XK_Save 0x1008FF77 -#define XF86XK_ScrollUp 0x1008FF78 -#define XF86XK_ScrollDown 0x1008FF79 -#define XF86XK_ScrollClick 0x1008FF7A -#define XF86XK_Send 0x1008FF7B -#define XF86XK_Spell 0x1008FF7C -#define XF86XK_SplitScreen 0x1008FF7D -#define XF86XK_Support 0x1008FF7E -#define XF86XK_TaskPane 0x1008FF7F -#define XF86XK_Terminal 0x1008FF80 -#define XF86XK_Tools 0x1008FF81 -#define XF86XK_Travel 0x1008FF82 -#define XF86XK_UserPB 0x1008FF84 -#define XF86XK_User1KB 0x1008FF85 -#define XF86XK_User2KB 0x1008FF86 -#define XF86XK_Video 0x1008FF87 -#define XF86XK_WheelButton 0x1008FF88 -#define XF86XK_Word 0x1008FF89 -#define XF86XK_Xfer 0x1008FF8A -#define XF86XK_ZoomIn 0x1008FF8B -#define XF86XK_ZoomOut 0x1008FF8C - -#define XF86XK_Away 0x1008FF8D -#define XF86XK_Messenger 0x1008FF8E -#define XF86XK_WebCam 0x1008FF8F -#define XF86XK_MailForward 0x1008FF90 -#define XF86XK_Pictures 0x1008FF91 -#define XF86XK_Music 0x1008FF92 - -/* Keys for special action keys (hot keys) */ -#define XF86XK_Switch_VT_1 0x1008FE01 -#define XF86XK_Switch_VT_2 0x1008FE02 -#define XF86XK_Switch_VT_3 0x1008FE03 -#define XF86XK_Switch_VT_4 0x1008FE04 -#define XF86XK_Switch_VT_5 0x1008FE05 -#define XF86XK_Switch_VT_6 0x1008FE06 -#define XF86XK_Switch_VT_7 0x1008FE07 -#define XF86XK_Switch_VT_8 0x1008FE08 -#define XF86XK_Switch_VT_9 0x1008FE09 -#define XF86XK_Switch_VT_10 0x1008FE0A -#define XF86XK_Switch_VT_11 0x1008FE0B -#define XF86XK_Switch_VT_12 0x1008FE0C - -#define XF86XK_Ungrab 0x1008FE20 -#define XF86XK_ClearGrab 0x1008FE21 -#define XF86XK_Next_VMode 0x1008FE22 -#define XF86XK_Prev_VMode 0x1008FE23 - - diff --git a/navit/projs/CodeBlocks/Win32Extra/builtin.c b/navit/projs/CodeBlocks/Win32Extra/builtin.c deleted file mode 100644 index f2883c7..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/builtin.c +++ /dev/null @@ -1,25 +0,0 @@ -extern void module_data_textfile_init(void); -extern void module_data_binfile_init(void); -extern void module_data_mg_init(void); -extern void module_data_garmin_init(void); -extern void module_data_poi_geodownload_init(void); -extern void module_gtk_graphics_init(void); -extern void module_gtk_gui_init(void); -extern void module_vehicle_demo_init(void); -extern void module_vehicle_file_init(void); -extern void module_win32_gui_init(void); -extern void module_speech_speech_dispatcher_init(void); -extern void builtin_init(void); -void builtin_init(void) { - module_data_textfile_init(); - module_data_binfile_init(); - module_data_mg_init(); - module_win32_gui_init(); - module_data_garmin_init(); - module_data_poi_geodownload_init(); - module_gtk_graphics_init(); - module_gtk_gui_init(); - module_vehicle_demo_init(); - module_vehicle_file_init(); - module_speech_speech_dispatcher_init(); -} diff --git a/navit/projs/CodeBlocks/Win32Extra/byteswap.h b/navit/projs/CodeBlocks/Win32Extra/byteswap.h deleted file mode 100644 index a227dde..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/byteswap.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _BYTESWAP_H -#define _BYTESWAP_H - -static inline unsigned short bswap_16(unsigned short x) { - return (x>>8) | (x<<8); -} - -static inline unsigned int bswap_32(unsigned int x) { - return (bswap_16(x&0xffff)<<16) | (bswap_16(x>>16)); -} - -static inline unsigned long long bswap_64(unsigned long long x) { - return (((unsigned long long)bswap_32(x&0xffffffffull))<<32) | (bswap_32(x>>32)); -} - -#endif - diff --git a/navit/projs/CodeBlocks/Win32Extra/config.h b/navit/projs/CodeBlocks/Win32Extra/config.h deleted file mode 100644 index 019925b..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/config.h +++ /dev/null @@ -1,417 +0,0 @@ -/* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.in by autoheader. */ - -/* Define to avoid floating point */ -/* #undef AVOID_FLOAT */ - -/* Define to avoid unaligned access */ -/* #undef AVOID_UNALIGNED */ - -/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP - systems. This function is required for `alloca.c' support on those systems. - */ -/* #undef CRAY_STACKSEG_END */ - -/* Define to 1 if using `alloca.c'. */ -/* #undef C_ALLOCA */ - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -#define ENABLE_NLS 1 - -/* Define to 1 if you have `alloca', as a function or macro. */ -#define HAVE_ALLOCA 1 - -/* Define to 1 if you have and it should be used (not on Ultrix). - */ -#define HAVE_ALLOCA_H 1 - -/* Define to 1 if you have the `argz_count' function. */ -#define HAVE_ARGZ_COUNT 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_ARGZ_H 1 - -/* Define to 1 if you have the `argz_next' function. */ -#define HAVE_ARGZ_NEXT 1 - -/* Define to 1 if you have the `argz_stringify' function. */ -#define HAVE_ARGZ_STRINGIFY 1 - -/* Define to 1 if you have the `asprintf' function. */ -#define HAVE_ASPRINTF 1 - -/* Define to 1 if the compiler understands __builtin_expect. */ -#define HAVE_BUILTIN_EXPECT 1 - -/* Define to 1 if you have the [CEGUI/CEGUI.h] header file. */ -/* #undef HAVE_CEGUI */ - -/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the - CoreFoundation framework. */ -/* #undef HAVE_CFLOCALECOPYCURRENT */ - -/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in - the CoreFoundation framework. */ -/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */ - -/* Define if the GNU dcgettext() function is already present or preinstalled. - */ -#define HAVE_DCGETTEXT 1 - -/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you - don't. */ -#define HAVE_DECL_FEOF_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if - you don't. */ -#define HAVE_DECL_FGETS_UNLOCKED 0 - -/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you - don't. */ -#define HAVE_DECL_GETC_UNLOCKED 1 - -/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you - don't. */ -#define HAVE_DECL__SNPRINTF 0 - -/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you - don't. */ -#define HAVE_DECL__SNWPRINTF 0 - -/* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 - -/* Define to 1 if you have imlib2 */ -#define HAVE_FREETYPE2 1 - -/* Define to 1 if you have the `fwprintf' function. */ -/* #undef HAVE_FWPRINTF */ - -/* Define to 1 if you have the `getcwd' function. */ -#define HAVE_GETCWD 1 - -/* Define to 1 if you have the `getegid' function. */ -#define HAVE_GETEGID 1 - -/* Define to 1 if you have the `geteuid' function. */ -#define HAVE_GETEUID 1 - -/* Define to 1 if you have the `getgid' function. */ -#define HAVE_GETGID 1 - -/* Define to 1 if you have the `getpagesize' function. */ -#define HAVE_GETPAGESIZE 1 - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#define HAVE_GETTEXT 1 - -/* Define to 1 if you have the `getuid' function. */ -#define HAVE_GETUID 1 - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_GLC */ - -/* Define to 1 if you have the header file. */ -#define HAVE_GLUT - -/* Define to 1 if you have imlib2 */ -#define HAVE_GTK2 1 - -/* Define if you have the iconv() function. */ -#define HAVE_ICONV 1 - -/* Define to 1 if you have imlib2 */ -/* #undef HAVE_IMLIB2 */ - -/* Define if you have the 'intmax_t' type in or . */ -#define HAVE_INTMAX_T 1 - -/* Define if exists and doesn't clash with . */ -#define HAVE_INTTYPES_H 1 - -/* Define if exists, doesn't clash with , and - declares uintmax_t. */ -#define HAVE_INTTYPES_H_WITH_UINTMAX 1 - -/* Define if you have and nl_langinfo(CODESET). */ -#define HAVE_LANGINFO_CODESET 1 - -/* Define if your file defines LC_MESSAGES. */ -#define HAVE_LC_MESSAGES 1 - -/* Define to 1 if you have the `CEGUIBase' library (-lCEGUIBase). */ -/* #undef HAVE_LIBCEGUIBASE */ - -/* Define to 1 if you have the `CEGUIFalagardWRBase' library - (-lCEGUIFalagardWRBase). */ -/* #undef HAVE_LIBCEGUIFALAGARDWRBASE */ - -/* Define to 1 if you have the `CEGUIOpenGLRenderer' library - (-lCEGUIOpenGLRenderer). */ -/* #undef HAVE_LIBCEGUIOPENGLRENDERER */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_LIBGPS */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_LIBSDL */ - -/* Define to 1 if you have the header file. */ -/* #undef HAVE_LIBSPEECHD */ - -/* Define to 1 if you have the header file. */ -#define HAVE_LIMITS_H 1 - -/* Define if you have the 'long double' type. */ -#define HAVE_LONG_DOUBLE 1 - -/* Define if you have the 'long long' type. */ -#define HAVE_LONG_LONG 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_MEMORY_H 1 - -/* Define to 1 if you have the `mempcpy' function. */ -#define HAVE_MEMPCPY 1 - -/* Define to 1 if you have a working `mmap' system call. */ -/* #undef HAVE_MMAP */ - -/* Define to 1 if you have the `munmap' function. */ -#define HAVE_MUNMAP 1 - -/* Define if you have and it defines the NL_LOCALE_NAME macro if - _GNU_SOURCE is defined. */ -/* #undef HAVE_NL_LOCALE_NAME */ - -/* Define to 1 if you have the header file. */ -#define HAVE_OPENGL - -/* Define if your printf() function supports format strings with positions. */ -#define HAVE_POSIX_PRINTF 1 - -/* Define if the defines PTHREAD_MUTEX_RECURSIVE. */ -#define HAVE_PTHREAD_MUTEX_RECURSIVE 1 - -/* Define if the POSIX multithreading library has read/write locks. */ -#define HAVE_PTHREAD_RWLOCK 1 - -/* Define to 1 if you have the `putenv' function. */ -#define HAVE_PUTENV 1 - -/* Define to 1 if you have python */ -#define HAVE_PYTHON 1 - -/* Define to 1 if you have the `setenv' function. */ -#define HAVE_SETENV 1 - -/* Define to 1 if you have the `setlocale' function. */ -#define HAVE_SETLOCALE 1 - -/* Define to 1 if you have the `snprintf' function. */ -#define HAVE_SNPRINTF 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDDEF_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define if exists, doesn't clash with , and declares - uintmax_t. */ -#define HAVE_STDINT_H_WITH_UINTMAX 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the `stpcpy' function. */ -/* #undef HAVE_STPCPY */ - -/* Define to 1 if you have the `strcasecmp' function. */ -#define HAVE_STRCASECMP 1 - -/* Define to 1 if you have the `strdup' function. */ -#define HAVE_STRDUP 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRINGS_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the `strtoul' function. */ -#define HAVE_STRTOUL 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_PARAM_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_STAT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TYPES_H 1 - -/* Define to 1 if you have the `tsearch' function. */ -#define HAVE_TSEARCH 1 - -/* Define if you have the 'uintmax_t' type in or . */ -#define HAVE_UINTMAX_T 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_UNISTD_H 1 - -/* Define if you have the 'unsigned long long' type. */ -#define HAVE_UNSIGNED_LONG_LONG 1 - -/* Define to 1 or 0, depending whether the compiler supports simple visibility - declarations. */ -#define HAVE_VISIBILITY 0 - -/* Define if you have the 'wchar_t' type. */ -#define HAVE_WCHAR_T 1 - -/* Define to 1 if you have the `wcslen' function. */ -#define HAVE_WCSLEN 1 - -/* Define if you have the 'wint_t' type. */ -#define HAVE_WINT_T 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_ZLIB - -/* Define to 1 if you have the `__fsetlocking' function. */ -/* #undef HAVE___FSETLOCKING */ - -/* Define as const if the declaration of iconv() needs const. */ -#define ICONV_CONST const - -/* Define if integer division by zero raises signal SIGFPE. */ -#define INTDIV0_RAISES_SIGFPE 1 - -/* Name of package */ -#define PACKAGE "navit" - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "navit" - -/* Define to the full name and version of this package. */ -#define PACKAGE_STRING "navit 0.0.3" - -/* Define to the one symbol short name of this package. */ -#define PACKAGE_TARNAME "navit" - -/* Define to the version of this package. */ -#define PACKAGE_VERSION "0.0.3" - -/* Define if exists and defines unusable PRI* macros. */ -/* #undef PRI_MACROS_BROKEN */ - -/* Define if the pthread_in_use() detection is hard. */ -/* #undef PTHREAD_IN_USE_DETECTION_HARD */ - -/* Define as the maximum value of type 'size_t', if the system doesn't define - it. */ -/* #undef SIZE_MAX */ - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at runtime. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown */ -/* #undef STACK_DIRECTION */ - -/* Define to 1 if you have the ANSI C header files. */ -#define STDC_HEADERS 1 - -/* Define if the POSIX multithreading library can be used. */ -#define USE_POSIX_THREADS 1 - -/* Define if references to the POSIX multithreading library should be made - weak. */ -/* #undef USE_POSIX_THREADS_WEAK */ - -/* Define if the GNU Pth multithreading library can be used. */ -/* #undef USE_PTH_THREADS */ - -/* Define if references to the GNU Pth multithreading library should be made - weak. */ -/* #undef USE_PTH_THREADS_WEAK */ - -/* Define if the old Solaris multithreading library can be used. */ -/* #undef USE_SOLARIS_THREADS */ - -/* Define if references to the old Solaris multithreading library should be - made weak. */ -/* #undef USE_SOLARIS_THREADS_WEAK */ - -/* Define if the Win32 multithreading API can be used. */ -/* #undef USE_WIN32_THREADS */ - -/* Version number of package */ -#define VERSION "0.0.3" - -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# define _GNU_SOURCE 1 -#endif - -/* Define to `__inline__' or `__inline' if that's what the C compiler - calls it, or to nothing if 'inline' is not supported under any name. */ -#ifndef __cplusplus -/* #undef inline */ -#endif - -/* Define as the type of the result of subtracting two pointers, if the system - doesn't define it. */ -/* #undef ptrdiff_t */ - -/* Define to empty if the C compiler doesn't support this keyword. */ -/* #undef signed */ - -/* Define to `unsigned int' if does not define. */ -/* #undef size_t */ - -/* Define to unsigned long or unsigned long long if and - don't define. */ -/* #undef uintmax_t */ - - -#define __libc_lock_t gl_lock_t -#define __libc_lock_define gl_lock_define -#define __libc_lock_define_initialized gl_lock_define_initialized -#define __libc_lock_init gl_lock_init -#define __libc_lock_lock gl_lock_lock -#define __libc_lock_unlock gl_lock_unlock -#define __libc_lock_recursive_t gl_recursive_lock_t -#define __libc_lock_define_recursive gl_recursive_lock_define -#define __libc_lock_define_initialized_recursive gl_recursive_lock_define_initialized -#define __libc_lock_init_recursive gl_recursive_lock_init -#define __libc_lock_lock_recursive gl_recursive_lock_lock -#define __libc_lock_unlock_recursive gl_recursive_lock_unlock -#define glthread_in_use libintl_thread_in_use -#define glthread_lock_init libintl_lock_init -#define glthread_lock_lock libintl_lock_lock -#define glthread_lock_unlock libintl_lock_unlock -#define glthread_lock_destroy libintl_lock_destroy -#define glthread_rwlock_init libintl_rwlock_init -#define glthread_rwlock_rdlock libintl_rwlock_rdlock -#define glthread_rwlock_wrlock libintl_rwlock_wrlock -#define glthread_rwlock_unlock libintl_rwlock_unlock -#define glthread_rwlock_destroy libintl_rwlock_destroy -#define glthread_recursive_lock_init libintl_recursive_lock_init -#define glthread_recursive_lock_lock libintl_recursive_lock_lock -#define glthread_recursive_lock_unlock libintl_recursive_lock_unlock -#define glthread_recursive_lock_destroy libintl_recursive_lock_destroy -#define glthread_once libintl_once -#define glthread_once_call libintl_once_call -#define glthread_once_singlethreaded libintl_once_singlethreaded - -#define index(a,b) strchr(a,b) -#define strtok_r(s,d,p) strtok(s,d) - -#define alarm( a ) diff --git a/navit/projs/CodeBlocks/Win32Extra/endian.h b/navit/projs/CodeBlocks/Win32Extra/endian.h deleted file mode 100644 index cabb696..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/endian.h +++ /dev/null @@ -1,5 +0,0 @@ -#ifndef ENDIAN_H_INCLUDED -#define ENDIAN_H_INCLUDED - -#endif - diff --git a/navit/projs/CodeBlocks/Win32Extra/libgarmin/libgarmin.a b/navit/projs/CodeBlocks/Win32Extra/libgarmin/libgarmin.a deleted file mode 100644 index 7d49bcb9dd5d86f2e75b813f0c06122c96eb360e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 453238 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 `LG85ObNc31jqt?i-Msjv@W$n! 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 Wo?wv89#82Qgp|7d4_4ky`TqdFwN~K( diff --git a/navit/projs/CodeBlocks/Win32Extra/libgarmin/libgarmin.h b/navit/projs/CodeBlocks/Win32Extra/libgarmin/libgarmin.h deleted file mode 100644 index 8374fce..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/libgarmin/libgarmin.h +++ /dev/null @@ -1,192 +0,0 @@ -/* - Copyright (C) 2007 Alexander Atanasov - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - -*/ - -#include - -#ifdef _WIN32 -#define u_int8_t unsigned char -#define int8_t char -#define int16_t short -#define u_int16_t unsigned short -#define int32_t int -#define u_int32_t unsigned int -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -enum { - L_LBL, - L_NET, - L_POI, -}; - -struct gcoord { - int x; - int y; -}; - -#define GS_COUNTRY 1 -#define GS_REGION 2 -#define GS_CITY 3 -#define GS_ZIP 4 -#define GS_ROAD 5 -#define GS_INTERSECT 6 -#define GS_HOUSENUMBER 7 -#define GS_POI 8 - -#define GM_EXACT 0 -#define GM_START 1 -#define GM_ANY 2 - -struct gar_search { - unsigned char type; - unsigned char match; - char *needle; - struct gobject *fromobj; -}; - -#define GO_POINT 1 -#define GO_POI 2 -#define GO_POLYLINE 3 -#define GO_POLYGON 4 -#define GO_ROAD 5 - -struct gar_subfile; -struct gar_objdraworder; - -struct gmap { - struct gar_objdraworder *draworder; - int subfiles; - int lastsub; - struct gar_subfile **subs; - int zoomlevels; - int basebits; - int minlevel; - int maxlevel; -}; - -struct gobject { - int type; - void *gptr; - void *priv_data; - struct gobject *next; -}; - -struct gar_rect { - double lulat; - double lulong; - double rllat; - double rllong; -}; - - -/* Walk and parse all data */ -#define OPM_PARSE (1<<0) -/* Call a callback w/ every object */ -#define OPM_DUMP (1<<1) -/* Work as a map backend */ -#define OPM_GPS (1<<2) - -typedef void (*dump_fn)(struct gobject *obj); - -#define DBGM_LBLS (1<<0) -#define DBGM_OBJSRC (1<<1) - - -struct gar_config { - int opm; - int maxsubdivs; /* Load max N subdivs for OPM_GPS */ - dump_fn cb; /* Callback function for OPM_DUMP */ - unsigned debugmask; /* Debuging aid */ - int debuglevel; /* Debug level */ -}; - -struct gimg; -struct gar; - -typedef void (*log_fn)(char *file, int line, int level, char *fmt, ...) - __attribute__ ((format(printf,4,5))); -/* Default init w/ config, keep for the latest navit release */ -struct gar *gar_init(char *tbd, log_fn l); -struct gar *gar_init_cfg(char *tbd, log_fn l, struct gar_config *cfg); -void gar_free(struct gar *g); -int gar_img_load(struct gar *gar, char *file, int data); -struct gmap *gar_find_subfiles(struct gar *gar, void *select, int flags); -void gar_free_gmap(struct gmap *g); -int gar_get_zoomlevels(struct gar_subfile *sub); - -#define GO_GET_SORTED (1<<0) -#define GO_GET_ROUTABLE (1<<1) -#define GO_GET_SEARCH (1<<2) - -struct gobject *gar_get_object(struct gar *gar, void *ptr); -int gar_get_objects(struct gmap *gm, int level, void *select, - struct gobject **ret, int flags); -void gar_free_objects(struct gobject *g); -u_int8_t gar_obj_type(struct gobject *o); -int gar_get_object_position(struct gobject *o, struct gcoord *ret); -int gar_object_subtype(struct gobject *o); -int gar_get_object_dcoord(struct gmap *gm, struct gobject *o, int ndelta, struct gcoord *ret); -int gar_get_object_coord(struct gmap *gm, struct gobject *o, struct gcoord *ret); - -int gar_is_object_dcoord_node(struct gmap *gm, struct gobject *o, int ndelta); - -int gar_get_object_deltas(struct gobject *o); -/* Get lbl as strdup'ed string */ -char *gar_get_object_lbl(struct gobject *o); -int gar_get_object_intlbl(struct gobject *o); -int gar_object_get_draw_order(struct gobject *o); -char *gar_object_debug_str(struct gobject *o); -/* Object index is (subdividx << 16) | (idx << 8) | otype */ -int gar_object_index(struct gobject *o); -/* Object mapid is the id of the file containing the object */ -int gar_object_mapid(struct gobject *o); -struct gobject *gar_get_object_by_id(struct gar *gar, unsigned int mapid, - unsigned int objid); - -int gar_fat_file2fd(struct gimg *g, char *name, int fd); -/* Get ptr to a dskimg file */ -struct gimg *gar_get_dskimg(struct gar *gar, char *file); - -#define F_ONEWAY (1<<0) -#define F_SEGMENTED (1<<1) - -int gar_object_flags(struct gobject *o); - - -#define GARDEG(x) ((x) < 0x800000 ? (double)(x) * 360.0 / 16777216.0 : -(double)((x) - 0x100000) * 360.0 / 16777216.0) -#define GARRAD(x) ((x) < 0x800000 ? (double)(x) * TWOPI / 16777216.0 : -(double)((x) - 0x100000) * TWOPI / 16777216.0) -#define DEGGAR(x) ((x) * (1/(360.0/(1<<24)))) -#define FEET2METER(x) ((x)/3.28084) - -#define POI_STREET_NUM (1<<0) -#define POI_STREET (1<<1) -#define POI_CITY (1<<2) -#define POI_ZIP (1<<3) -#define POI_PHONE (1<<4) -#define POI_EXIT (1<<5) -#define POI_TIDE_PREDICT (1<<6) -#define POI_UNKNOW (1<<7) - - -#ifdef __cplusplus -} -#endif diff --git a/navit/projs/CodeBlocks/Win32Extra/navit_gtk.c b/navit/projs/CodeBlocks/Win32Extra/navit_gtk.c deleted file mode 100644 index c2aa095..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/navit_gtk.c +++ /dev/null @@ -1,23 +0,0 @@ -extern void module_data_textfile_init(void); -extern void module_data_binfile_init(void); -extern void module_data_mg_init(void); -extern void module_data_garmin_init(void); -extern void module_data_poi_geodownload_init(void); -extern void module_gtk_graphics_init(void); -extern void module_gtk_gui_init(void); -extern void module_vehicle_demo_init(void); -extern void module_vehicle_file_init(void); -extern void module_speech_speech_dispatcher_init(void); -extern void builtin_init(void); -void builtin_init(void) { - module_data_textfile_init(); - module_data_binfile_init(); - module_data_mg_init(); - module_data_garmin_init(); - module_data_poi_geodownload_init(); - module_gtk_graphics_init(); - module_gtk_gui_init(); - module_vehicle_demo_init(); - module_vehicle_file_init(); - module_speech_speech_dispatcher_init(); -} diff --git a/navit/projs/CodeBlocks/Win32Extra/navit_win32.c b/navit/projs/CodeBlocks/Win32Extra/navit_win32.c deleted file mode 100644 index b60e792..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/navit_win32.c +++ /dev/null @@ -1,23 +0,0 @@ - - -extern void module_data_textfile_init(void); -extern void module_data_binfile_init(void); -extern void module_data_mg_init(void); -extern void module_win32_gui_init(void); -extern void module_data_garmin_init(void); -extern void module_data_poi_geodownload_init(void); -extern void module_vehicle_demo_init(void); -extern void module_vehicle_file_init(void); -extern void module_speech_speech_dispatcher_init(void); - -void builtin_init(void) { - module_data_textfile_init(); - module_data_binfile_init(); - module_data_mg_init(); - module_win32_gui_init(); - module_data_garmin_init(); - module_data_poi_geodownload_init(); - module_vehicle_demo_init(); - module_vehicle_file_init(); - module_speech_speech_dispatcher_init(); -} diff --git a/navit/projs/CodeBlocks/Win32Extra/serial_io.c b/navit/projs/CodeBlocks/Win32Extra/serial_io.c deleted file mode 100644 index 5192cf7..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/serial_io.c +++ /dev/null @@ -1,118 +0,0 @@ -#include -#include -#include "serial_io.h" - -int serial_io_init( const char* port, const char* strsettings ) -{ - HANDLE hCom = NULL; - - char strport[16]; - snprintf( strport, sizeof( strport ), "\\\\.\\%s", port ); - - hCom = CreateFile( - strport, - GENERIC_WRITE | GENERIC_READ, - 0, - 0, - OPEN_EXISTING, - 0, - NULL); - - if (hCom == INVALID_HANDLE_VALUE) - { - LPVOID lpMsgBuf; - - FormatMessage( - FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - GetLastError(), - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language - (LPTSTR) &lpMsgBuf, - 0, - NULL - ); - // g_strSerialError = strPort + wxT(": ") + (LPTSTR) lpMsgBuf; - - // Free the buffer. - LocalFree( lpMsgBuf ); - return -1; - } - - DCB dcb; - - ZeroMemory(&dcb, sizeof(DCB)); - - GetCommState(hCom, &dcb); - -// char strsettings[255]; -// snprintf( strsettings, sizeof( strsettings ), "baud=%d parity=N data=8 stop=1", baudrate ); - BuildCommDCB( strsettings, &dcb); - - SetupComm(hCom, 4096, 4096); - - SetCommState(hCom, &dcb); - - COMMTIMEOUTS sCT; - - memset(&sCT, 0, sizeof(sCT)); - sCT.ReadTotalTimeoutConstant = 10; - - SetCommTimeouts(hCom, &sCT); - - return (int)hCom; -} - -int serial_io_read( int fd, char * buffer, int buffer_size ) -{ - DWORD dwBytesIn = 0; - - if (fd <= 0) - { - // Sleep(1000); - *buffer = 0; - return 0; - } - - ReadFile( (HANDLE)fd, buffer, buffer_size - 1, &dwBytesIn, NULL); - - if (dwBytesIn > 0) - { - printf( "GPS < %s\n",buffer ); - } - if (dwBytesIn >= 0) - { - buffer[dwBytesIn] = 0; - } - else{ - buffer[0] = 0; - } - buffer[buffer_size - 1] = 0; - - - if (dwBytesIn <= 0) - { - Sleep(50); - dwBytesIn = 0; - } - - return dwBytesIn; -} - -int serial_io_write(int fd, const char * buffer) -{ - DWORD dwBytesOut = 0; - - WriteFile((HANDLE)fd, buffer, strlen(buffer), &dwBytesOut, NULL); - - return dwBytesOut; -} - -void serial_io_shutdown(int fd ) -{ - if (fd > 0) - { - CloseHandle((HANDLE)fd); - } -} diff --git a/navit/projs/CodeBlocks/Win32Extra/serial_io.h b/navit/projs/CodeBlocks/Win32Extra/serial_io.h deleted file mode 100644 index 4c7b8a3..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/serial_io.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef SERIAL_IO_H_INCLUDED -#define SERIAL_IO_H_INCLUDED - -int serial_io_init( const char* port, const char* strsettings ); -int serial_io_read(int fd, char * buffer, int buffer_size ); -int WriteSerial(int fd, const char * buffer); -void serial_io_shutdown(int fd ); - -#endif diff --git a/navit/projs/CodeBlocks/Win32Extra/setenv.c b/navit/projs/CodeBlocks/Win32Extra/setenv.c deleted file mode 100644 index ac3fcca..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/setenv.c +++ /dev/null @@ -1,19 +0,0 @@ -#include -#include - - -int setenv(const char *name, const char *value, int overwrite) -{ - char strPutEnv[512]; - - char * hasKey = getenv ( name ); - - if ( ( overwrite != 0 ) || ( hasKey == NULL ) ) - { - snprintf( strPutEnv, sizeof( strPutEnv ), "%s=%s", name, value ); - strPutEnv[ sizeof( strPutEnv ) - 1 ] = '\0'; - _putenv( strPutEnv ); - } - return 0; -} - diff --git a/navit/projs/CodeBlocks/Win32Extra/setenv.h b/navit/projs/CodeBlocks/Win32Extra/setenv.h deleted file mode 100644 index 0d542a8..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/setenv.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _SETENV_H_INCLUDED -#define _SETENV_H_INCLUDED - - -int setenv(const char *name, const char *value, int overwrite); - - -#endif /* !_SETENV_H_INCLUDED */ - diff --git a/navit/projs/CodeBlocks/Win32Extra/speech_dispatcher_win32.c b/navit/projs/CodeBlocks/Win32Extra/speech_dispatcher_win32.c deleted file mode 100644 index 1542ac8..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/speech_dispatcher_win32.c +++ /dev/null @@ -1,96 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "config.h" -#include "plugin.h" -#include "speech.h" -#include -#define COBJMACROS -#include -#include -#include - -const IID UUID_OF_ISPVOICE; // = {6C44DF74-72B9-4992-A1EC-EF996E0422D4}; - - -struct speech_priv { - ISpVoice* pIspVoice; -}; - -static int -speechd_say(struct speech_priv *this_, const char *text) { - int err = 1; - - if ( this_->pIspVoice ) - { - WCHAR* pWideString = g_utf8_to_utf16( text, -1, NULL, NULL, NULL ); - ISpVoice_Speak( this_->pIspVoice, pWideString, 0, NULL); - g_free( pWideString ); - err = 0; - } - return err; -} - -static void -speechd_destroy(struct speech_priv *this) { - g_free(this); -} - -static struct speech_methods speechd_meth = { - speechd_destroy, - speechd_say, -}; - -static struct speech_priv * -speechd_new(char *data, struct speech_methods *meth) { - struct speech_priv *this_; - - this_=g_new(struct speech_priv,1); - - this_->pIspVoice = NULL; - - - CLSID clsid_sape; - CLSID* pw = &clsid_sape; - - CoInitialize(NULL); - - HRESULT hr = CLSIDFromProgID(L"SAPI.SpVoice", &clsid_sape); - - if ( 0 == hr ) - { - IID UUID_OF_ISPVOICE; // = {6C44DF74-72B9-4992-A1EC-EF996E0422D4}; - UUID_OF_ISPVOICE.Data1 = 0x6C44DF74; - UUID_OF_ISPVOICE.Data2 = 0x72B9; - UUID_OF_ISPVOICE.Data3 = 0x4992; - UUID_OF_ISPVOICE.Data4[0] = 161; - UUID_OF_ISPVOICE.Data4[1] = 236; - UUID_OF_ISPVOICE.Data4[2] = 239; - UUID_OF_ISPVOICE.Data4[3] = 153; - UUID_OF_ISPVOICE.Data4[4] = 110; - UUID_OF_ISPVOICE.Data4[5] = 4; - UUID_OF_ISPVOICE.Data4[6] = 34; - UUID_OF_ISPVOICE.Data4[7] = 212; - - ISpVoice* pIspVoice; - hr = CoCreateInstance( &clsid_sape, NULL, CLSCTX_ALL, &UUID_OF_ISPVOICE, &pIspVoice ); - - if ( ( 0 == hr ) && ( this_ != NULL ) ) - { - this_->pIspVoice = pIspVoice; - } - } - - // ISpVoice_Speak( pIspVoice, L"If you can hear this, SAPI is working", 0, NULL); - *meth=speechd_meth; - return this_; -} - - -void plugin_init(void) -{ - plugin_register_speech_type("speech_dispatcher", speechd_new); -} diff --git a/navit/projs/CodeBlocks/Win32Extra/sys/mman.c b/navit/projs/CodeBlocks/Win32Extra/sys/mman.c deleted file mode 100644 index b435704..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/sys/mman.c +++ /dev/null @@ -1,38 +0,0 @@ -#include -#include "mman.h" - -void * mmap_readonly_win32( const char* name, long* map_handle_ptr, long* map_file_ptr ) -{ - void * mapped_ptr = NULL; - - OFSTRUCT of; - HFILE hFile = OpenFile (name, &of, OF_READ); - - *map_file_ptr = (long)hFile; - *map_handle_ptr = 0; - - if ( hFile != HFILE_ERROR ) - { - HANDLE hMapping = CreateFileMapping( (HANDLE)hFile, NULL, PAGE_READONLY, 0, 0, NULL); - mapped_ptr = MapViewOfFile(hMapping, FILE_MAP_READ, 0 , 0, 0 ); - *map_handle_ptr = (long)hMapping; - } - - return mapped_ptr; -} - -void mmap_unmap_win32( void* mem_ptr, long map_handle, long map_file ) -{ - if ( mem_ptr != NULL ) - { - UnmapViewOfFile( mem_ptr ); - } - if ( map_handle != 0) - { - CloseHandle( (HANDLE)map_handle ); - } - if ( map_file != 0 ) - { - CloseHandle( (HANDLE)map_file ); - } -} diff --git a/navit/projs/CodeBlocks/Win32Extra/sys/mman.h b/navit/projs/CodeBlocks/Win32Extra/sys/mman.h deleted file mode 100644 index 37e59b9..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/sys/mman.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef _WIN32_MMAN_H_INCLUDED -#define _WIN32_MMAN_H_INCLUDED - -void * mmap_readonly_win32( const char* name, long* map_handle_ptr, long* map_file_ptr ); -void mmap_unmap_win32( void* mem_ptr, long map_handle, long map_file ); - -#endif /* !_WIN32_MMAN_H_INCLUDED */ - diff --git a/navit/projs/CodeBlocks/Win32Extra/wordexp.c b/navit/projs/CodeBlocks/Win32Extra/wordexp.c deleted file mode 100644 index faa2d65..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/wordexp.c +++ /dev/null @@ -1,53 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include "wordexp.h" - -int wordexp(const char * words, wordexp_t * we, int flags) -{ - int error=0; - - assert(we != NULL); - assert(words != NULL); - - we->we_wordc = 1; - we->we_wordv = NULL; - we->we_strings = NULL; - we->we_nbytes = 0; - - we->we_wordv = malloc( we->we_wordc * sizeof( char* ) ); - - we->we_nbytes = strlen( words ) + 1; - we->we_strings = malloc( we->we_nbytes ); - - we->we_wordv[0] = &we->we_strings[0]; - - // copy string & terminate - memcpy( we->we_strings, words, we->we_nbytes -1 ); - we->we_strings[ we->we_nbytes -1 ] = '\0'; - - return error; -} - -void wordfree(wordexp_t *we) -{ - assert(we != NULL); - - if ( we->we_wordv ) - { - free(we->we_wordv); - } - if ( we->we_strings ) - { - free(we->we_strings); - } - - we->we_wordv = NULL; - we->we_strings = NULL; - we->we_nbytes = 0; - we->we_wordc = 0; -} diff --git a/navit/projs/CodeBlocks/Win32Extra/wordexp.h b/navit/projs/CodeBlocks/Win32Extra/wordexp.h deleted file mode 100644 index ad18c78..0000000 --- a/navit/projs/CodeBlocks/Win32Extra/wordexp.h +++ /dev/null @@ -1,42 +0,0 @@ -#ifndef _WORDEXP_H_ -#define _WORDEXP_H_ - - -typedef struct { - size_t we_wordc; /* count of words matched */ - char **we_wordv; /* pointer to list of words */ - size_t we_offs; /* slots to reserve in we_wordv */ - /* following are internals */ - char *we_strings; /* storage for wordv strings */ - size_t we_nbytes; /* size of we_strings */ -} wordexp_t; - -/* - * Flags for wordexp(). - */ -#define WRDE_APPEND 0x1 /* append to previously generated */ -#define WRDE_DOOFFS 0x2 /* we_offs member is valid */ -#define WRDE_NOCMD 0x4 /* disallow command substitution */ -#define WRDE_REUSE 0x8 /* reuse wordexp_t */ -#define WRDE_SHOWERR 0x10 /* don't redirect stderr to /dev/null */ -#define WRDE_UNDEF 0x20 /* disallow undefined shell vars */ - -/* - * Return values from wordexp(). - */ -#define WRDE_BADCHAR 1 /* unquoted special character */ -#define WRDE_BADVAL 2 /* undefined variable */ -#define WRDE_CMDSUB 3 /* command substitution not allowed */ -#define WRDE_NOSPACE 4 /* no memory for result */ -#if (_XOPEN_SOURCE - 0) >= 4 || defined(_NETBSD_SOURCE) -#define WRDE_NOSYS 5 /* obsolete, reserved */ -#endif -#define WRDE_SYNTAX 6 /* shell syntax error */ -#define WRDE_ERRNO 7 /* other errors see errno */ - -void wordfree(wordexp_t *); -int wordexp(const char * words, wordexp_t * we, int flags); - - -#endif /* !_WORDEXP_H_ */ - diff --git a/navit/projs/CodeBlocks/binfile.cbp b/navit/projs/CodeBlocks/binfile.cbp deleted file mode 100644 index e7a7873..0000000 --- a/navit/projs/CodeBlocks/binfile.cbp +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/data_garmin.cbp b/navit/projs/CodeBlocks/data_garmin.cbp deleted file mode 100644 index c3b4906..0000000 --- a/navit/projs/CodeBlocks/data_garmin.cbp +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/data_garmin_img.cbp b/navit/projs/CodeBlocks/data_garmin_img.cbp deleted file mode 100644 index 52c5b61..0000000 --- a/navit/projs/CodeBlocks/data_garmin_img.cbp +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/data_mg.cbp b/navit/projs/CodeBlocks/data_mg.cbp deleted file mode 100644 index 4db54a5..0000000 --- a/navit/projs/CodeBlocks/data_mg.cbp +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/data_poi_geodownload.cbp b/navit/projs/CodeBlocks/data_poi_geodownload.cbp deleted file mode 100644 index 0c6673d..0000000 --- a/navit/projs/CodeBlocks/data_poi_geodownload.cbp +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/data_textfile.cbp b/navit/projs/CodeBlocks/data_textfile.cbp deleted file mode 100644 index 547641f..0000000 --- a/navit/projs/CodeBlocks/data_textfile.cbp +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/fib-1.1.cbp b/navit/projs/CodeBlocks/fib-1.1.cbp deleted file mode 100644 index 7d8c537..0000000 --- a/navit/projs/CodeBlocks/fib-1.1.cbp +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/gentypes.cbp b/navit/projs/CodeBlocks/gentypes.cbp deleted file mode 100644 index 46bbfc0..0000000 --- a/navit/projs/CodeBlocks/gentypes.cbp +++ /dev/null @@ -1,89 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/gtk_gl_ext.cbp b/navit/projs/CodeBlocks/gtk_gl_ext.cbp deleted file mode 100644 index be35f8c..0000000 --- a/navit/projs/CodeBlocks/gtk_gl_ext.cbp +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/gtk_graphics.cbp b/navit/projs/CodeBlocks/gtk_graphics.cbp deleted file mode 100644 index d8571b8..0000000 --- a/navit/projs/CodeBlocks/gtk_graphics.cbp +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/gtk_gui.cbp b/navit/projs/CodeBlocks/gtk_gui.cbp deleted file mode 100644 index e077dc7..0000000 --- a/navit/projs/CodeBlocks/gtk_gui.cbp +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/gui_sdl.cbp b/navit/projs/CodeBlocks/gui_sdl.cbp deleted file mode 100644 index d567657..0000000 --- a/navit/projs/CodeBlocks/gui_sdl.cbp +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/libgarmin.cbp b/navit/projs/CodeBlocks/libgarmin.cbp deleted file mode 100644 index 16c63e5..0000000 --- a/navit/projs/CodeBlocks/libgarmin.cbp +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/make_builtin b/navit/projs/CodeBlocks/make_builtin deleted file mode 100644 index f8e1c65..0000000 --- a/navit/projs/CodeBlocks/make_builtin +++ /dev/null @@ -1,7 +0,0 @@ - -builtin.c: - ls *.la | sed -e "s/.la/_init(void);/" -e "s/.*lib/extern void module_/" >builtin.c - echo "extern void builtin_init(void);" >>builtin.c - echo "void builtin_init(void) {" >>builtin.c - ls *.la | sed -e "s/.la/_init();/" -e "s/.*lib/ module_/" >>builtin.c - echo "}" >>builtin.c diff --git a/navit/projs/CodeBlocks/makefile_extra b/navit/projs/CodeBlocks/makefile_extra deleted file mode 100644 index 98c69c7..0000000 --- a/navit/projs/CodeBlocks/makefile_extra +++ /dev/null @@ -1,134 +0,0 @@ -SRC_GTK_PATH = D:/gtk -SRC_GTK_BIN_PATH = $(SRC_GTK_PATH)/bin -SRC_GTK_ETC_PATH = $(SRC_GTK_PATH)/etc -SRC_GTK_LIB_PATH = $(SRC_GTK_PATH)/lib - -SRC_MO_PATH = ./locale - -SRC_NAVIT_EXE_PATH = ./bin/release -SRC_XPM_PATH = ../../src/xpm - -DST_PATH = ./distr -DST_BIN_PATH = $(DST_PATH)/bin -DST_XPM_PATH = $(DST_BIN_PATH)/xpm -DST_ETC_PATH = $(DST_PATH)/etc -DST_LIB_PATH = $(DST_PATH)/lib -DST_MAP_PATH = $(DST_PATH)/maps -DST_MO_PATH = $(DST_BIN_PATH)/locale - -WIN32_DLLS = \ - iconv.dll \ - intl.dll \ - libglib-2.0-0.dll \ - libgmodule-2.0-0.dll \ - libgobject-2.0-0.dll \ - zlib1.dll - -GTK_DLLS = \ - freetype6.dll \ - iconv.dll \ - intl.dll \ - libatk-1.0-0.dll \ - libcairo-2.dll \ - libfontconfig-1.dll \ - libfreetype-6.dll \ - libgdk-win32-2.0-0.dll \ - libgdk_pixbuf-2.0-0.dll \ - libglib-2.0-0.dll \ - libgmodule-2.0-0.dll \ - libgobject-2.0-0.dll \ - libgtk-win32-2.0-0.dll \ - libpango-1.0-0.dll \ - libpangocairo-1.0-0.dll \ - libpangoft2-1.0-0.dll \ - libpangowin32-1.0-0.dll \ - libpng12.dll \ - libxml2.dll \ - zlib1.dll - -NAVIT_EXES_GTK = navit_gtk.exe osm2navit.exe -NAVIT_EXES_W32 = navit_win32.exe osm2navit.exe - - -SAMPLE_MAP=osm_bbox_11.3,47.9,11.7,48.2 - -maps_DATA = $(SAMPLE_MAP).bin - -samplemap: $(SAMPLE_MAP).bin - -$(SAMPLE_MAP).osm.bz2: - echo "Downloading osm sample map" - wget -O $(SAMPLE_MAP).osm.bz2.tmp http://navit.sourceforge.net/maps/$(SAMPLE_MAP).osm.bz2 - mv $(SAMPLE_MAP).osm.bz2.tmp $(SAMPLE_MAP).osm.bz2 - -$(SAMPLE_MAP).bin: $(SAMPLE_MAP).osm.bz2 ./bin/release/osm2navit.exe - echo "Converting osm sample map" - cp $(SAMPLE_MAP).osm.bz2 tmp.osm.bz2 ; - bunzip2 tmp.osm.bz2; - cat tmp.osm | ./bin/release/osm2navit.exe --attr-debug-level=5 $(SAMPLE_MAP).bin.tmp ; - mv $(SAMPLE_MAP).bin.tmp $(SAMPLE_MAP).bin ; - rm tmp.osm ; - -POFILES = cs.mo es.mo fr.mo nl.mo pl.mo de.mo fi.mo it.mo no.mo - -MSGFMT=msgfmt.exe - -%.mo:../../po/%.po - $(MSGFMT) --check --verbose --statistics --output-file=$@ $< && \ - mkdir -p ./locale/$(basename $@)/LC_MESSAGES && \ - mv $@ ./locale/$(basename $@)/LC_MESSAGES/navit.mo - - -locale: $(POFILES) -locale_clean: - rm -Rf locale - -distr_gtk: $(SAMPLE_MAP).bin $(POFILES) - rm -Rf $(DISTR_TARGET_PATH); - mkdir -p $(DST_BIN_PATH); - mkdir -p $(DST_ETC_PATH); - mkdir -p $(DST_LIB_PATH); - for i in $(NAVIT_EXES_GTK); do \ - cp $(SRC_NAVIT_EXE_PATH)/$$i $(DST_BIN_PATH)/$$i; \ - done; - for i in $(GTK_DLLS); do \ - cp $(SRC_GTK_BIN_PATH)/$$i $(DST_BIN_PATH)/$$i; \ - done; - cp -r $(SRC_GTK_ETC_PATH)/* $(DST_ETC_PATH) ; - mkdir -p $(DST_LIB_PATH)/gtk-2.0/2.10.0 ; - cp -r $(SRC_GTK_LIB_PATH)/gtk-2.0/2.10.0/* $(DST_LIB_PATH)/gtk-2.0/2.10.0 ; - mkdir -p $(DST_LIB_PATH)/pango ; - cp -r $(SRC_GTK_LIB_PATH)/pango/* $(DST_LIB_PATH)/pango ; - cp ./navit.xml.distr $(DST_BIN_PATH)/navit.xml ; - cp ./*.ttf $(DST_BIN_PATH)/ ; - mkdir -p $(DST_MAP_PATH) ; - cp $(SAMPLE_MAP).bin $(DST_MAP_PATH)/ ; - mkdir -p $(DST_XPM_PATH) ; - cp -r $(SRC_XPM_PATH)/*.xpm $(DST_XPM_PATH)/ ; - mkdir -p $(DST_MO_PATH) ; - cp -r $(SRC_MO_PATH)/* $(DST_MO_PATH)/ - -distr_win32: $(SAMPLE_MAP).bin $(POFILES) - rm -Rf $(DISTR_TARGET_PATH); - mkdir -p $(DST_BIN_PATH); - mkdir -p $(DST_ETC_PATH); - mkdir -p $(DST_LIB_PATH); - for i in $(NAVIT_EXES); do \ - cp $(SRC_NAVIT_EXE_W32_PATH)/$$i $(DST_BIN_PATH)/$$i; \ - done; - for i in $(WIN32_DLLS); do \ - cp $(SRC_GTK_BIN_PATH)/$$i $(DST_BIN_PATH)/$$i; \ - done; - cp -r $(SRC_GTK_ETC_PATH)/* $(DST_ETC_PATH) ; - mkdir -p $(DST_LIB_PATH)/gtk-2.0/2.10.0 ; - cp -r $(SRC_GTK_LIB_PATH)/gtk-2.0/2.10.0/* $(DST_LIB_PATH)/gtk-2.0/2.10.0 ; - mkdir -p $(DST_LIB_PATH)/pango ; - cp -r $(SRC_GTK_LIB_PATH)/pango/* $(DST_LIB_PATH)/pango ; - cp ./navit.xml.distr $(DST_BIN_PATH)/navit.xml ; - cp ./*.ttf $(DST_BIN_PATH)/ ; - mkdir -p $(DST_MAP_PATH) ; - cp $(SAMPLE_MAP).bin $(DST_MAP_PATH)/ ; - mkdir -p $(DST_XPM_PATH) ; - cp -r $(SRC_XPM_PATH)/*.xpm $(DST_XPM_PATH)/ ; - mkdir -p $(DST_MO_PATH) ; - cp -r $(SRC_MO_PATH)/* $(DST_MO_PATH)/ diff --git a/navit/projs/CodeBlocks/makefile_langfiles b/navit/projs/CodeBlocks/makefile_langfiles deleted file mode 100644 index bdbc614..0000000 --- a/navit/projs/CodeBlocks/makefile_langfiles +++ /dev/null @@ -1,19 +0,0 @@ -POFILES = cs.mo es.mo fr.mo nl.mo pl.mo de.mo fi.mo it.mo no.mo - -MSGFMT=msgfmt.exe - -%.mo:../../po/%.po - $(MSGFMT) --check --verbose --statistics --output-file=$@ $< && \ - mkdir -p ./locale/$(basename $@)/LC_MESSAGES && \ - mv $@ ./locale/$(basename $@)/LC_MESSAGES/navit.mo - -.PHONY: all clean - -# nl.po: ..\..\nl.mo - -all: $(POFILES) - -clean: - rm -rf locale/* - - diff --git a/navit/projs/CodeBlocks/mdb.cbp b/navit/projs/CodeBlocks/mdb.cbp deleted file mode 100644 index a972fb4..0000000 --- a/navit/projs/CodeBlocks/mdb.cbp +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/navit.xml.distr b/navit/projs/CodeBlocks/navit.xml.distr deleted file mode 100644 index 0c22a50..0000000 --- a/navit/projs/CodeBlocks/navit.xml.distr +++ /dev/null @@ -1,1006 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/navit/projs/CodeBlocks/speech_speech_dispatcher.cbp b/navit/projs/CodeBlocks/speech_speech_dispatcher.cbp deleted file mode 100644 index 228c621..0000000 --- a/navit/projs/CodeBlocks/speech_speech_dispatcher.cbp +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/vehicle_demo.cbp b/navit/projs/CodeBlocks/vehicle_demo.cbp deleted file mode 100644 index fc4ae95..0000000 --- a/navit/projs/CodeBlocks/vehicle_demo.cbp +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/vehicle_file.cbp b/navit/projs/CodeBlocks/vehicle_file.cbp deleted file mode 100644 index 11d548c..0000000 --- a/navit/projs/CodeBlocks/vehicle_file.cbp +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/win32_gui.cbp b/navit/projs/CodeBlocks/win32_gui.cbp deleted file mode 100644 index 91b2571..0000000 --- a/navit/projs/CodeBlocks/win32_gui.cbp +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - diff --git a/navit/projs/CodeBlocks/win32gui/resources/navit.ico b/navit/projs/CodeBlocks/win32gui/resources/navit.ico deleted file mode 100644 index 6d7a952b4e7cdc361ed6dde05b0e5b4267c20c2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3310 zcmc(f&x=$?5P-|rFnjQz2%eU(@ucULh_|4R%%X^TkQ}|We?SJFxPdo^Va7`^AP8?x z9+H?WWCMcC;cZ|~ImABeA(@j0gYm~(BD}>xI$zbB*xScfXK%O1-n{BepnLu+=-lEzC!vLfx^i=h)(i(tvYpyGFV1JB2TnVyRw#wwI~QkQ(2D<_lDV;$$3#|K$z$9 zB4bKbML-3zFea;l>+nIF-gCXjEA+)Z?=xSt|LdMNl#W}pIH9#X4T>}vt#O##tx;7p zJx+8~rMx%l-MUbvVy8Q}abd!NcL({o3Er!#j0IPx+uWkAO?G>BO3Obe)=n`{*lJR6 zB8;SA(&)$;HI#m_pZ_|({~qv2XmjmgU)~W4IB$L73844efiF{g54Qf;lKQvr#W^QS zOG|R-&>=Z;CHfLQ zgGBTZeMBEoM18oB6LN}{+4J=T_XP4ddEPfm&&R{yVel|`7z_yp4}*un!{A{sOc*>2 z9tIDChr!Tc@Gy87JPaNNpU}bK;qc1ATMCs?1ik^5084y9BtZ#NN$wJ3N$!%|CAsZ5EH`@cm*g+WuSZmpzoa%L3?&RDbU3(VTrIrAR-Cv3cwO^j4X;MA}svq#NkXLEK%!W zEP5OC6wtwtU`Q||7!nK#2D?r$L>Lkb35Ey*Vd$)fA;FMfNH7qZjvj^tLxLdzkjNhi zmT*ig3d9J=0ghy`bxn{@i>Wa#4}0bs+gossjkOk9mX~w)<`PWo!M+YYgg&A z#X4Qy+R^ND-)G0H{AQ z<{Jf3^XtvOcim?wEUI%G^B6Cg>N0chwC?pdxa%!P8afxSn|Y>ogTL-LHO*A>Qo3^2 zeF6Q#xi?yG8+pi0b*bFXW5cv_QdIm}&mMpmdT3M^O5u153MD9$a9JI=i%oO9=KSFbsq zPMzCh{~o5s*x0vKwgqcrE8Q@hq~aai^EFBbsQigd03*qV3k_d&i)&Ve;)~DU0rLY6C z(sNd3*;fO$qs`3od!fFz!u~1t*>!Vv^tQh?5`{sx>powB`#c0Av$?%v5!x75UX5X` ZT|jx;73#jorS^FOy&txM=ir03e*l@aH*Ej_ diff --git a/navit/projs/CodeBlocks/win32gui/resources/resource.h b/navit/projs/CodeBlocks/win32gui/resources/resource.h deleted file mode 100644 index 55bcc2d..0000000 --- a/navit/projs/CodeBlocks/win32gui/resources/resource.h +++ /dev/null @@ -1,4 +0,0 @@ -#include - -#define IDI_NAVIT 1100 -#define IDB_NAVITTOOLBAR 1101 diff --git a/navit/projs/CodeBlocks/win32gui/resources/resource.rc b/navit/projs/CodeBlocks/win32gui/resources/resource.rc deleted file mode 100644 index d31d89c..0000000 --- a/navit/projs/CodeBlocks/win32gui/resources/resource.rc +++ /dev/null @@ -1,14 +0,0 @@ -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -#include "resource.h" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -IDB_NAVITTOOLBAR BITMAP DISCARDABLE "toolbar.bmp" -IDI_NAVIT ICON DISCARDABLE "navit.ico" diff --git a/navit/projs/CodeBlocks/win32gui/resources/toolbar.bmp b/navit/projs/CodeBlocks/win32gui/resources/toolbar.bmp deleted file mode 100644 index 17381d83e6f67548c3b52ffe87572a1ac5f87a78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1398 zcmaKsu};G<5QeV;BDq`&HVq_4xt3D zvCpxcFaMn{y}N(761NBRw`lKZYqXVIqKB1r4mr=3EsEfh7_&oG8~0R`Tw1>@S9$B!sDj^d$?0>`;NRp)6~;sM6&s;t)J=}StV zz*X-s@+N&)3>Vagh!^w`M&9dY6AJQ6Ep&>B~=P~i>`GS&p zsIdZ`Q?cylfdsSu#Os7_VBK(k`QE1U#lhz1RhI;281^B g?3Xz&f4}_jgc^J9sy-{^EzOq-WJw-^h0Wgb1shg8ApigX diff --git a/navit/projs/CodeBlocks/win32gui/win32_graphics.c b/navit/projs/CodeBlocks/win32gui/win32_graphics.c deleted file mode 100644 index a9112ad..0000000 --- a/navit/projs/CodeBlocks/win32gui/win32_graphics.c +++ /dev/null @@ -1,774 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "debug.h" -#include "point.h" -#include "graphics.h" -#include "color.h" -#include "plugin.h" -#include "win32_gui.h" -#include "xpm2bmp.h" - -#ifndef GET_WHEEL_DELTA_WPARAM - #define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam)) -#endif - - -static GHashTable *image_cache_hash = NULL; - - -HFONT EzCreateFont (HDC hdc, TCHAR * szFaceName, int iDeciPtHeight, - int iDeciPtWidth, int iAttributes, BOOL fLogRes) ; - -#define EZ_ATTR_BOLD 1 -#define EZ_ATTR_ITALIC 2 -#define EZ_ATTR_UNDERLINE 4 -#define EZ_ATTR_STRIKEOUT 8 - -HFONT EzCreateFont (HDC hdc, TCHAR * szFaceName, int iDeciPtHeight, - int iDeciPtWidth, int iAttributes, BOOL fLogRes) -{ - FLOAT cxDpi, cyDpi ; - HFONT hFont ; - LOGFONT lf ; - POINT pt ; - TEXTMETRIC tm ; - - SaveDC (hdc) ; - - SetGraphicsMode (hdc, GM_ADVANCED) ; - ModifyWorldTransform (hdc, NULL, MWT_IDENTITY) ; - SetViewportOrgEx (hdc, 0, 0, NULL) ; - SetWindowOrgEx (hdc, 0, 0, NULL) ; - - if (fLogRes) - { - cxDpi = (FLOAT) GetDeviceCaps (hdc, LOGPIXELSX) ; - cyDpi = (FLOAT) GetDeviceCaps (hdc, LOGPIXELSY) ; - } - else - { - cxDpi = (FLOAT) (25.4 * GetDeviceCaps (hdc, HORZRES) / - GetDeviceCaps (hdc, HORZSIZE)) ; - - cyDpi = (FLOAT) (25.4 * GetDeviceCaps (hdc, VERTRES) / - GetDeviceCaps (hdc, VERTSIZE)) ; - } - - pt.x = (int) (iDeciPtWidth * cxDpi / 72) ; - pt.y = (int) (iDeciPtHeight * cyDpi / 72) ; - - DPtoLP (hdc, &pt, 1) ; - lf.lfHeight = - (int) (fabs (pt.y) / 10.0 + 0.5) ; - lf.lfWidth = 0 ; - lf.lfEscapement = 0 ; - lf.lfOrientation = 0 ; - lf.lfWeight = iAttributes & EZ_ATTR_BOLD ? 700 : 0 ; - lf.lfItalic = iAttributes & EZ_ATTR_ITALIC ? 1 : 0 ; - lf.lfUnderline = iAttributes & EZ_ATTR_UNDERLINE ? 1 : 0 ; - lf.lfStrikeOut = iAttributes & EZ_ATTR_STRIKEOUT ? 1 : 0 ; - lf.lfCharSet = DEFAULT_CHARSET ; - lf.lfOutPrecision = 0 ; - lf.lfClipPrecision = 0 ; - lf.lfQuality = 0 ; - lf.lfPitchAndFamily = 0 ; - - lstrcpy (lf.lfFaceName, szFaceName) ; - - hFont = CreateFontIndirect (&lf) ; - - if (iDeciPtWidth != 0) - { - hFont = (HFONT) SelectObject (hdc, hFont) ; - - GetTextMetrics (hdc, &tm) ; - - DeleteObject (SelectObject (hdc, hFont)) ; - - lf.lfWidth = (int) (tm.tmAveCharWidth * - fabs (pt.x) / fabs (pt.y) + 0.5) ; - - hFont = CreateFontIndirect (&lf) ; - } - - RestoreDC (hdc, -1) ; - return hFont ; -} - -struct graphics_image_priv { - PXPM2BMP pxpm; -}; - - -void ErrorExit(LPTSTR lpszFunction) -{ - // Retrieve the system error message for the last-error code - - LPVOID lpMsgBuf; - LPVOID lpDisplayBuf; - DWORD dw = GetLastError(); - - FormatMessage( - FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - dw, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), - (LPTSTR) &lpMsgBuf, - 0, NULL ); - - lpDisplayBuf = (LPVOID)LocalAlloc(LMEM_ZEROINIT, - (lstrlen((LPCTSTR)lpMsgBuf)+lstrlen((LPCTSTR)lpszFunction)+40)*sizeof(TCHAR)); - sprintf((LPTSTR)lpDisplayBuf, TEXT("%s failed with error %d: %s"), lpszFunction, dw, lpMsgBuf); - - printf( "%s\n", lpDisplayBuf ); - MessageBox(NULL, (LPCTSTR)lpDisplayBuf, TEXT("Error"), MB_OK); - - LocalFree(lpMsgBuf); - LocalFree(lpDisplayBuf); - ExitProcess(dw); -} - - - -struct graphics_gc_priv { - HWND hwnd; - int line_width; - COLORREF fg_color; - COLORREF bg_color; - struct graphics_priv *gr; -}; - - -//struct graphics_priv *g_gra; - -static HDC hMemDC; -static HBITMAP hBitmap; -static HBITMAP hOldBitmap; - -// Fills the region 'rgn' in graded colours -static void MakeMemoryDC(HANDLE hWnd, HDC hdc ) -{ - if ( hMemDC ) - { - if ( hOldBitmap ) - { - SelectObject( hMemDC, hOldBitmap ); - DeleteObject( hBitmap ); - hBitmap = NULL; - hOldBitmap = NULL; - } - } - - // Creates memory DC - hMemDC = CreateCompatibleDC(hdc); - if ( hMemDC ) - { - RECT rectRgn; - GetClientRect( hWnd, &rectRgn ); - - int Width = rectRgn.right - rectRgn.left; - int Height = rectRgn.bottom - rectRgn.top; - printf( "resize memDC to: %d %d \n", Width, Height ); - - hBitmap = CreateCompatibleBitmap(hdc, Width, Height ); - - if ( hBitmap ) - { - hOldBitmap = (HBITMAP) SelectObject( hMemDC, hBitmap); - } - } -} - -static void HandleButtonClick( struct graphics_priv *gra_priv, int updown, int button, long lParam ) -{ - int xPos = LOWORD(lParam); - int yPos = HIWORD(lParam); - - if (gra_priv->button_callback ) - { - struct point pt = {xPos, yPos}; - (*gra_priv->button_callback)(gra_priv->button_callback_data, updown, button, &pt); - } -} - -static LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) -{ - -//if ( Message != 15 ) -//printf( "CHILD %d %d %d \n", Message, wParam, lParam ); - - struct graphics_priv* gra_priv = (struct graphics_priv*)GetWindowLongPtr( hwnd , DWLP_USER ); - - switch(Message) - { - case WM_CREATE: - { - HDC hdc; - hdc = GetDC( hwnd ); - MakeMemoryDC(hwnd, hdc ); - ReleaseDC( hwnd, hdc ); - } - break; - case WM_COMMAND: - switch(LOWORD(wParam)) - { - case WM_USER + 1: - break; - } - break; - case WM_CLOSE: - DestroyWindow(hwnd); - break; - case WM_USER+1: - if ( gra_priv ) - { - RECT rc ; - HDC hdc; - - GetClientRect( hwnd, &rc ); - gra_priv->width = rc.right; - gra_priv->height = rc.bottom; - - hdc = GetDC( hwnd ); - MakeMemoryDC(hwnd, hdc ); - ReleaseDC( hwnd, hdc ); - (*gra_priv->resize_callback)(gra_priv->resize_callback_data, gra_priv->width, gra_priv->height); - } - break; - - case WM_SIZE: - /* - if ( gra_priv ) - { - //graphics = GetWindowLong( hwnd, DWL_USER, 0 ); - - - { - HDC hdc; - hdc = GetDC( hwnd ); - MakeMemoryDC(hwnd, hdc ); - ReleaseDC( hwnd, hdc ); - } - (*gra_priv->resize_callback)(gra_priv->resize_callback_data, gra_priv->width, gra_priv->height); - - - } - */ - if ( gra_priv ) - { - gra_priv->width = LOWORD( lParam ); - gra_priv->height = HIWORD( lParam ); - printf( "resize gfx to: %d %d \n", gra_priv->width, gra_priv->height ); - } - break; - case WM_DESTROY: - PostQuitMessage(0); - exit( 0 ); - break; - case WM_PAINT: - if ( gra_priv ) - { - HDC hdc = GetDC(hwnd ); - if ( hMemDC ) - { - BitBlt( hdc, 0, 0, gra_priv->width , gra_priv->height, hMemDC, 0, 0, SRCCOPY ); - } - ReleaseDC( hwnd, hdc ); - } - break; - case WM_MOUSEMOVE: - { - int xPos = LOWORD(lParam); - int yPos = HIWORD(lParam); - struct point pt = {xPos, yPos}; - - // printf( "WM_MOUSEMOVE: %d %d \n", xPos, yPos ); - (*gra_priv->motion_callback)(gra_priv->motion_callback_data, &pt); - } - - break; - - case WM_LBUTTONDOWN: - HandleButtonClick( gra_priv,1, 1,lParam ); - break; - case WM_LBUTTONUP: - HandleButtonClick( gra_priv, 0, 1,lParam ); - break; - case WM_RBUTTONDOWN: - HandleButtonClick( gra_priv, 1, 3,lParam ); - break; - case WM_RBUTTONUP: - HandleButtonClick( gra_priv, 0, 3,lParam ); - break; - - default: - return DefWindowProc(hwnd, Message, wParam, lParam); - } - return 0; -} - - -static const char g_szClassName[] = "NAVGRA"; - -HANDLE CreateGraphicsWindows( struct graphics_priv* gr ) -{ - WNDCLASSEX wc; - HWND hwnd; - RECT rcParent; - - wc.cbSize = sizeof(WNDCLASSEX); - wc.style = 0; - wc.lpfnWndProc = WndProc; - wc.cbClsExtra = 0; - wc.cbWndExtra = 64; - wc.hInstance = NULL; - wc.hIcon = NULL; - wc.hCursor = LoadCursor(NULL, IDC_ARROW); - wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); - wc.lpszMenuName = NULL; - wc.lpszClassName = g_szClassName; - wc.hIconSm = NULL; - - - HANDLE hdl = gr->wnd_parent_handle; - GetClientRect( gr->wnd_parent_handle,&rcParent); - - if(!RegisterClassEx(&wc)) - { - ErrorExit( "Window Registration Failed!" ); - return NULL; - } - - gr->width = rcParent.right - rcParent.left; - gr->height = rcParent.bottom - rcParent.top; - - hwnd = CreateWindow( g_szClassName, - "", - WS_CHILD , - 0, - 0, - gr->width, - gr->height, - gr->wnd_parent_handle, - (HMENU)ID_CHILD_GFX, - NULL, - NULL); - - if(hwnd == NULL) - { - ErrorExit( "Window Creation Failed!" ); - return NULL; - } - - SetWindowLongPtr( hwnd , DWLP_USER, gr ); - - ShowWindow( hwnd, TRUE ); - UpdateWindow( hwnd ); - - gr->wnd_handle = hwnd; - - PostMessage( gr->wnd_parent_handle, WM_USER + 1, 0, 0 ); - - return hwnd; -} - - - -static void graphics_destroy(struct graphics_priv *gr) -{ - g_free( gr ); -} - - -static void gc_destroy(struct graphics_gc_priv *gc) -{ - g_free( gc ); -} - -static void gc_set_linewidth(struct graphics_gc_priv *gc, int w) -{ - gc->line_width = w; -} - -static void gc_set_dashes(struct graphics_gc_priv *gc, unsigned char *dash_list, int n) -{ -// gdk_gc_set_dashes(gc->gc, 0, (gint8 *)dash_list, n); -// gdk_gc_set_line_attributes(gc->gc, 1, GDK_LINE_ON_OFF_DASH, GDK_CAP_ROUND, GDK_JOIN_ROUND); -} - - - -static void gc_set_color(struct graphics_gc_priv *gc, struct color *c, int fg) -{ - - gc->fg_color = RGB( c->r, c->g, c->b ); -} - -static void gc_set_foreground(struct graphics_gc_priv *gc, struct color *c) -{ - gc->fg_color = RGB( c->r, c->g, c->b ); -} - -static void gc_set_background(struct graphics_gc_priv *gc, struct color *c) -{ - gc->bg_color = RGB( c->r, c->g, c->b ); - if ( hMemDC ) - SetBkColor( hMemDC, gc->bg_color ); - -} - -static struct graphics_gc_methods gc_methods = { - gc_destroy, - gc_set_linewidth, - gc_set_dashes, - gc_set_foreground, - gc_set_background -}; - -static struct graphics_gc_priv *gc_new(struct graphics_priv *gr, struct graphics_gc_methods *meth) -{ - struct graphics_gc_priv *gc=g_new(struct graphics_gc_priv, 1); - *meth=gc_methods; - gc->hwnd = gr->wnd_handle; - gc->line_width = 1; - gc->fg_color = RGB( 0,0,0 ); - gc->bg_color = RGB( 255,255,255 ); - return gc; -} - - -static void draw_lines(struct graphics_priv *gr, struct graphics_gc_priv *gc, struct point *p, int count) -{ - int i; - HPEN holdpen; - HPEN hpen; - - hpen = CreatePen( PS_SOLID, gc->line_width, gc->fg_color ); - holdpen = SelectObject( hMemDC, hpen ); - - SetBkColor( hMemDC, gc->bg_color ); - - int first = 1; - for ( i = 0; i< count; i++ ) - { - if ( first ) - { - first = 0; - MoveToEx( hMemDC, p[0].x, p[0].y, NULL ); - } - else - { - LineTo( hMemDC, p[i].x, p[i].y ); - } - } - - SelectObject( hMemDC, holdpen ); - DeleteObject( hpen ); -} - -static void draw_polygon(struct graphics_priv *gr, struct graphics_gc_priv *gc, struct point *p, int count) -{ - - //if (gr->mode == draw_mode_begin || gr->mode == draw_mode_end) - { - int i; - POINT points[ count ]; - for ( i=0;i< count; i++ ) - { - points[i].x = p[i].x; - points[i].y = p[i].y; - } - HBRUSH holdbrush; - HBRUSH hbrush; - - SetBkColor( hMemDC, gc->bg_color ); - - hbrush = CreateSolidBrush( gc->fg_color ); - holdbrush = SelectObject( hMemDC, hbrush ); - Polygon( hMemDC, points,count ); - SelectObject( hMemDC, holdbrush ); - DeleteObject( hbrush ); - } -} - - -static void draw_rectangle(struct graphics_priv *gr, struct graphics_gc_priv *gc, struct point *p, int w, int h) -{ -// gdk_draw_rectangle(gr->drawable, gc->gc, TRUE, p->x, p->y, w, h); -} - -static void draw_circle(struct graphics_priv *gr, struct graphics_gc_priv *gc, struct point *p, int r) -{ - HDC dc = hMemDC; - - HPEN holdpen; - HPEN hpen; - - hpen = CreatePen( PS_SOLID, gc->line_width, gc->fg_color ); - holdpen = SelectObject( dc, hpen ); - - SetBkColor( hMemDC, gc->bg_color ); - - Ellipse( dc, p->x - r, p->y -r, p->x + r, p->y + r ); - - SelectObject( dc, holdpen ); - DeleteObject( hpen ); - -// if (gr->mode == draw_mode_begin || gr->mode == draw_mode_end) -// gdk_draw_arc(gr->drawable, gc->gc, FALSE, p->x-r/2, p->y-r/2, r, r, 0, 64*360); -// if (gr->mode == draw_mode_end || gr->mode == draw_mode_cursor) -// gdk_draw_arc(gr->widget->window, gc->gc, FALSE, p->x-r/2, p->y-r/2, r, r, 0, 64*360); -} - - - -static void draw_restore(struct graphics_priv *gr, struct point *p, int w, int h) -{ - InvalidateRect( gr->wnd_handle, NULL, FALSE ); -} - -static void draw_mode(struct graphics_priv *gr, enum draw_mode_num mode) -{ - // printf( "set draw_mode to %d\n", (int)mode ); - - if ( mode == draw_mode_begin ) - { - if ( gr->wnd_handle == NULL ) - { - CreateGraphicsWindows( gr ); - } - if ( gr->mode != draw_mode_begin ) - { - if ( hMemDC ) - { - RECT rcClient; - HBRUSH bgBrush = CreateSolidBrush( gr->bg_color ); - GetClientRect( gr->wnd_handle, &rcClient ); - FillRect( hMemDC, &rcClient, bgBrush ); - DeleteObject( bgBrush ); - } - } - } - - // force paint - if (mode == draw_mode_end && gr->mode == draw_mode_begin) - { - InvalidateRect( gr->wnd_handle, NULL, FALSE ); - } - - gr->mode=mode; - -} - - -static void * get_data(struct graphics_priv *this_, char *type) -{ - if ( strcmp( "wnd_parent_handle_ptr", type ) == 0 ) - { - return &( this_->wnd_parent_handle ); - } - if ( strcmp( "START_CLIENT", type ) == 0 ) - { - CreateGraphicsWindows( this_ ); - return NULL; - } - return NULL; -} - - -static void register_resize_callback(struct graphics_priv *this_, void (*callback)(void *data, int w, int h), void *data) -{ - this_->resize_callback=callback; - this_->resize_callback_data=data; -} - -static void register_motion_callback(struct graphics_priv *this_, void (*callback)(void *data, struct point *p), void *data) -{ - this_->motion_callback=callback; - this_->motion_callback_data=data; -} - -static void register_button_callback(struct graphics_priv *this_, void (*callback)(void *data, int press, int button, struct point *p), void *data) -{ - this_->button_callback=callback; - this_->button_callback_data=data; -} - -static void background_gc(struct graphics_priv *gr, struct graphics_gc_priv *gc) -{ - RECT rcClient; - HBRUSH bgBrush = CreateSolidBrush( gc->bg_color ); - GetClientRect( gr->wnd_handle, &rcClient ); - FillRect( hMemDC, &rcClient, bgBrush ); - DeleteObject( bgBrush ); - gr->bg_color = gc->bg_color; -} - -struct graphics_font_priv { - LOGFONT lf; - HFONT hfont; - int size; -}; - -static void draw_text(struct graphics_priv *gr, struct graphics_gc_priv *fg, struct graphics_gc_priv *bg, struct graphics_font_priv *font, char *text, struct point *p, int dx, int dy) -{ - RECT rcClient; - GetClientRect( gr->wnd_handle, &rcClient ); - - int prevBkMode = SetBkMode( hMemDC, TRANSPARENT ); - - if ( NULL == font->hfont ) - { - font->hfont = EzCreateFont (hMemDC, TEXT ("Arial"), font->size/2, 0, 0, TRUE) ; - GetObject ( font->hfont, sizeof (LOGFONT), &font->lf) ; - } - - - double angle = -atan2( dy, dx ) * 180 / 3.14159 ; - - SetTextAlign (hMemDC, TA_BASELINE) ; - SetViewportOrgEx (hMemDC, p->x, p->y, NULL) ; - font->lf.lfEscapement = font->lf.lfOrientation = ( angle * 10 ) ; - DeleteObject (font->hfont) ; - - font->hfont = CreateFontIndirect (&font->lf); - HFONT hOldFont = SelectObject(hMemDC, font->hfont ); - - gunichar2* utf16 = NULL; - glong utf16_len = 0; - - utf16 = g_utf8_to_utf16( text, -1, NULL, &utf16_len, NULL ); - TextOutW(hMemDC, 0,0, utf16, (size_t)utf16_len ); - g_free( utf16 ); - - - SelectObject(hMemDC, hOldFont); - DeleteObject (font->hfont) ; - - SetBkMode( hMemDC, prevBkMode ); - - SetViewportOrgEx (hMemDC, 0, 0, NULL) ; - -} - - - -static void font_destroy(struct graphics_font_priv *font) -{ - if ( font->hfont ) - { - DeleteObject(font->hfont); - } - g_free(font); -} - -static struct graphics_font_methods font_methods = { - font_destroy -}; - -static struct graphics_font_priv *font_new(struct graphics_priv *gr, struct graphics_font_methods *meth, int size) -{ - struct graphics_font_priv *font=g_new(struct graphics_font_priv, 1); - *meth = font_methods; - - font->hfont = NULL; - font->size = size; - // FontFamily fontFamily( "Liberation Mono"); -//font( &fontFamily, size, FontStyleRegular, UnitPoint ); - return font; -} - - -void image_cache_hash_add( const char* key, struct graphics_image_priv* val_ptr) -{ - if ( image_cache_hash == NULL ) { - image_cache_hash = g_hash_table_new(g_str_hash, g_str_equal); - } - - if ( g_hash_table_lookup(image_cache_hash, key ) == NULL ) - { - g_hash_table_insert(image_cache_hash, g_strdup( key ), (gpointer)val_ptr ); - } - -} - -struct graphics_image_priv* image_cache_hash_lookup( const char* key ) -{ - struct graphics_image_priv* val_ptr = NULL; - - if ( image_cache_hash != NULL ) - { - val_ptr = g_hash_table_lookup(image_cache_hash, key ); - } - return val_ptr; -} - - - -static struct graphics_image_priv *image_new(struct graphics_priv *gr, struct graphics_image_methods *meth, char *name, int *w, int *h, struct point *hot) -{ - struct graphics_image_priv* ret; - - if ( NULL == ( ret = image_cache_hash_lookup( name ) ) ) - { - ret = g_new( struct graphics_image_priv, 1 ); - printf( "loading image '%s'\n", name ); - ret->pxpm = Xpm2bmp_new(); - Xpm2bmp_load( ret->pxpm, name ); - image_cache_hash_add( name, ret ); - } - - return ret; -} - -static void draw_image(struct graphics_priv *gr, struct graphics_gc_priv *fg, struct point *p, struct graphics_image_priv *img) -{ - Xpm2bmp_paint( img->pxpm , hMemDC, p->x, p->y ); -} - -static struct graphics_methods graphics_methods = { - graphics_destroy, - draw_mode, - draw_lines, - draw_polygon, - draw_rectangle, - draw_circle, - draw_text, - draw_image, -#ifdef HAVE_IMLIB2 - NULL, // draw_image_warp, -#else - NULL, -#endif - draw_restore, - font_new, - gc_new, - background_gc, - NULL, // overlay_new, - image_new, - get_data, - register_resize_callback, - register_button_callback, - register_motion_callback, -}; - -static struct graphics_priv * graphics_win32_drawing_area_new_helper(struct graphics_methods *meth) -{ - struct graphics_priv *this_=g_new0(struct graphics_priv,1); - *meth=graphics_methods; - this_->mode = -1; - return this_; -} - -struct graphics_priv* win32_graphics_new( struct graphics_methods *meth, struct attr **attrs) -{ - struct graphics_priv* this_=graphics_win32_drawing_area_new_helper(meth); - return this_; -} diff --git a/navit/projs/CodeBlocks/win32gui/win32_gui.c b/navit/projs/CodeBlocks/win32gui/win32_gui.c deleted file mode 100644 index cab043b..0000000 --- a/navit/projs/CodeBlocks/win32gui/win32_gui.c +++ /dev/null @@ -1,541 +0,0 @@ -#include -#include -#include -#include -#include "config.h" -#include "plugin.h" -#include "gui.h" -#include "win32_gui.h" -#include "point.h" -#include "menu.h" -#include "item.h" -#include "attr.h" -#include "callback.h" -#include -#include "debug.h" - - -//static GHashTable *popup_callback_hash = NULL; -static GArray *popup_menu_array; - -const char g_szClassName[] = "navit_gui_class"; - - -static menu_id = 0; -static POINT menu_pt; -static gunichar2* g_utf16 = NULL; - -static gunichar2* Utf8ToUtf16( const char* str ) -{ - if ( g_utf16 ) - { - g_free( g_utf16 ); - } - g_utf16 = g_utf8_to_utf16( str, -1, NULL, NULL, NULL ); - return g_utf16; -} - -static gunichar2* Utf8ToUtf16_nd( const char* str ) -{ - gunichar2* utf16= g_utf8_to_utf16( str, -1, NULL, NULL, NULL ); - return utf16; -} - -gboolean message_pump( gpointer data ) -{ - MSG messages; - - Sleep( 1 ); - - if (GetMessage (&messages, NULL, 0, 0)) - { - TranslateMessage(&messages); - DispatchMessage(&messages); - } - else{ - exit( 0 ); - } - return TRUE; -} - - - -//extern struct graphics_priv *g_gra; - -BOOL CALLBACK EnumChildProc(HWND hwndChild, LPARAM lParam) -{ - LPRECT rcParent; - int idChild; - - idChild = GetWindowLong(hwndChild, GWL_ID); - - if ( idChild == ID_CHILD_GFX ) - { - rcParent = (LPRECT) lParam; - - MoveWindow( hwndChild, 0, 0, rcParent->right, rcParent->bottom, TRUE ); - PostMessage( hwndChild, WM_USER+1, 0, 0 ); - } - - return TRUE; -} - -#ifndef GET_WHEEL_DELTA_WPARAM - #define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam)) -#endif - -static void CreateToolBar(HWND hwnd) -{ - // Create Toolbar - HWND hTool; - TBBUTTON tbb[8]; - TBADDBITMAP tbab; - - hTool = CreateWindowEx(0, TOOLBARCLASSNAME, NULL, WS_CHILD | WS_VISIBLE, 0, 0, 0, 0, - hwnd, (HMENU)ID_CHILD_TOOLBAR, GetModuleHandle(NULL), NULL); - - if(hTool == NULL) - MessageBox(hwnd, "Could not create tool bar.", "Error", MB_OK | MB_ICONERROR); - - SendMessage(hTool, TB_BUTTONSTRUCTSIZE, (WPARAM)sizeof(TBBUTTON), 0); - - tbab.hInst = GetModuleHandle(NULL); - tbab.nID = IDB_NAVITTOOLBAR; - int iImageOffset = SendMessage(hTool, TB_ADDBITMAP, 10, (LPARAM) &tbab); - - int iStr; - - ZeroMemory(tbb, sizeof(tbb)); - - tbb[0].iBitmap = iImageOffset; - tbb[0].fsState = TBSTATE_ENABLED; - tbb[0].fsStyle = TBSTYLE_BUTTON; - tbb[0].idCommand = ID_DISPLAY_ZOOMIN; - iStr = SendMessage(hTool, TB_ADDSTRINGW, 0, (LPARAM) Utf8ToUtf16( _("ZoomIn" ) ) ); - tbb[0].iString = iStr; - - tbb[1].iBitmap = iImageOffset+1; - tbb[1].fsState = TBSTATE_ENABLED; - tbb[1].fsStyle = TBSTYLE_BUTTON; - tbb[1].idCommand = ID_DISPLAY_ZOOMOUT; - iStr = SendMessage(hTool, TB_ADDSTRINGW, 0, (LPARAM) Utf8ToUtf16( _("ZoomOut" ) ) ); - tbb[1].iString = iStr; - - tbb[2].iBitmap = iImageOffset+4; - tbb[2].fsState = TBSTATE_ENABLED; - tbb[2].fsStyle = TBSTYLE_BUTTON; - tbb[2].idCommand = ID_DISPLAY_REFRESH; - iStr = SendMessage(hTool, TB_ADDSTRINGW, 0, (LPARAM) Utf8ToUtf16( _("Refresh" ) ) ); - tbb[2].iString = iStr; - - tbb[3].iBitmap = iImageOffset+2; - tbb[3].fsState = TBSTATE_ENABLED; - tbb[3].fsStyle = TBSTYLE_BUTTON; - tbb[3].idCommand = ID_DISPLAY_ZOOMIN; - iStr = SendMessage(hTool, TB_ADDSTRINGW, 0, (LPARAM) Utf8ToUtf16( _("Cursor" ) ) ); - tbb[3].iString = iStr; - - tbb[4].iBitmap = iImageOffset+5; - tbb[4].fsState = TBSTATE_ENABLED; - tbb[4].fsStyle = TBSTYLE_BUTTON; - tbb[4].idCommand = ID_DISPLAY_ORIENT; - iStr = SendMessage(hTool, TB_ADDSTRINGW, 0, (LPARAM) Utf8ToUtf16( _("Orientation" ) ) ); - tbb[4].iString = iStr; - - tbb[5].iBitmap = iImageOffset+8; - tbb[5].fsState = TBSTATE_ENABLED; - tbb[5].fsStyle = TBSTYLE_BUTTON; - tbb[5].idCommand = ID_DISPLAY_ZOOMIN; - iStr= SendMessage(hTool, TB_ADDSTRINGW, 0, (LPARAM) Utf8ToUtf16( _("Destination" ) ) ); - tbb[5].iString = iStr; - - tbb[6].iBitmap = iImageOffset+3; - tbb[6].fsState = TBSTATE_ENABLED; - tbb[6].fsStyle = TBSTYLE_BUTTON; - tbb[6].idCommand = ID_DISPLAY_ZOOMIN; - iStr= SendMessage(hTool, TB_ADDSTRINGW, 0, (LPARAM) Utf8ToUtf16( _("Roadbook" ) ) ); - tbb[6].iString = iStr; - - tbb[7].iBitmap = iImageOffset+9; - tbb[7].fsState = TBSTATE_ENABLED; - tbb[7].fsStyle = TBSTYLE_BUTTON; - tbb[7].idCommand = ID_FILE_EXIT; - iStr= SendMessage(hTool, TB_ADDSTRINGW, 0, (LPARAM) Utf8ToUtf16( _("_Quit" ) ) ); - tbb[7].iString = iStr; - - SendMessage(hTool, TB_ADDBUTTONS, sizeof(tbb)/sizeof(TBBUTTON), (LPARAM)&tbb); -} - -static void window_layout( HWND hwnd ) -{ - RECT rcClient; - RECT rcTool; - int iToolHeight; - - HWND hChild = GetDlgItem(hwnd, ID_CHILD_TOOLBAR); - SendMessage(hChild, TB_AUTOSIZE, 0, 0); - - GetWindowRect(hChild, &rcTool); - iToolHeight = rcTool.bottom - rcTool.top; - - GetClientRect(hwnd, &rcClient); - //printf( "BEFORE resize gui to: %d %d %d %d \n", rcClient.left, rcClient.right, rcClient.top, rcClient.bottom ); - - rcClient.top += iToolHeight; - - printf( "resize gui to: %d %d %d %d \n", rcClient.left, rcClient.right, rcClient.top, rcClient.bottom ); - - - hChild = GetDlgItem(hwnd, ID_CHILD_GFX); - if ( hChild ) - { - MoveWindow( hChild, rcClient.left, rcClient.top, rcClient.right- rcClient.left, rcClient.bottom - rcClient.top, TRUE ); - PostMessage( hChild, WM_USER+1, 0, 0 ); - } -} - -static LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) -{ - RECT rcClient; - -// printf( "PARENT %d %d %d \n", Message, wParam, lParam ); - - switch(Message) - { - case WM_CREATE: - { - HMENU hMenu, hSubMenu; - - CreateToolBar( hwnd ); - - hMenu = CreateMenu(); - // g_this_->hwnd = hwnd; - - hSubMenu = CreatePopupMenu(); - - AppendMenuW(hSubMenu, MF_STRING, ID_DISPLAY_ZOOMIN, Utf8ToUtf16( _( "ZoomIn" ) ) ); - AppendMenuW(hSubMenu, MF_STRING, ID_DISPLAY_ZOOMOUT, Utf8ToUtf16( _( "ZoomOut" ) ) ); - AppendMenuW(hSubMenu, MF_STRING, ID_DISPLAY_REFRESH, Utf8ToUtf16( _( "Refresh" ) ) ); - AppendMenuW(hSubMenu, MF_SEPARATOR, 0, NULL ); - AppendMenuW(hSubMenu, MF_STRING, ID_FILE_EXIT, Utf8ToUtf16( _( "_Quit" ) ) ); - - AppendMenuW(hMenu, MF_STRING | MF_POPUP, (UINT)hSubMenu, Utf8ToUtf16( _( "Display" ) ) ); - hSubMenu = CreatePopupMenu(); - AppendMenu(hSubMenu, MF_STRING, ID_STUFF_GO, "&Go"); - AppendMenu(hMenu, MF_STRING | MF_POPUP, (UINT)hSubMenu, "&Stuff"); - - SetMenu(hwnd, hMenu); - - window_layout( hwnd ); - - } - break; - case WM_COMMAND: - { - printf( "WM_COMMAND %d\n", LOWORD(wParam) ); - struct gui_priv* gui = (struct gui_priv*)GetWindowLongPtr( hwnd , DWLP_USER ); - - - switch(LOWORD(wParam)) - { - case ID_DISPLAY_ZOOMIN: - navit_zoom_in(gui->nav, 2, NULL); - return 0; - break; - case ID_DISPLAY_ZOOMOUT: - navit_zoom_out(gui->nav, 2, NULL); - return 0; - break; - case ID_DISPLAY_REFRESH: - navit_draw(gui->nav); - return 0; - break; - case ID_DISPLAY_CURSOR: - { - struct attr attr; - attr.type=attr_cursor; - // TODO attr.u.num=gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(w)); - if(!navit_set_attr(gui->nav, &attr)) { - dbg(0, "Failed to set attr_cursor\n"); - } - return 0; - } - break; - case ID_DISPLAY_ORIENT: - { - struct attr attr; - - attr.type=attr_orientation; - // attr.u.num=gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(w)); - attr.u.num = 0; // TODO - if(!navit_set_attr(gui->nav, &attr)) { - dbg(0, "Failed to set attr_orientation\n"); - } - return 0; - } - - case ID_FILE_EXIT: - PostMessage(hwnd, WM_CLOSE, 0, 0); - return 0; - break; - } - if ( popup_menu_array ) - { - struct menu_priv* priv = (struct menu_priv*)g_array_index( popup_menu_array, gint, LOWORD(wParam) - POPUP_MENU_OFFSET ); - - if ( priv ) - { - struct callback* cb = priv->cb; - if ( priv->cb ) - { - callback_call_0( priv->cb ); - return 0; - } - } - } - } - break; - case WM_USER+ 1: - GetClientRect(hwnd, &rcClient); - printf( "resize gui to: %d %d \n", rcClient.right, rcClient.bottom ); - - window_layout( hwnd ); - //EnumChildWindows(hwnd, EnumChildProc, (LPARAM) &rcClient); - return 0; - break; - case WM_CLOSE: - DestroyWindow(hwnd); - break; - case WM_SIZE: - window_layout( hwnd ); - return 0; - break; - case WM_DESTROY: - PostQuitMessage(0); - break; - - - case WM_MOUSEWHEEL: - { - struct gui_priv* gui = (struct gui_priv*)GetWindowLongPtr( hwnd , DWLP_USER ); - - short delta = GET_WHEEL_DELTA_WPARAM( wParam ); - if ( delta > 0 ) - { - navit_zoom_in(gui->nav, 2, NULL); - } - else{ - navit_zoom_out(gui->nav, 2, NULL); - } - } - break; - - default: - return DefWindowProc(hwnd, Message, wParam, lParam); - } - return 0; -} - -HANDLE CreateWin32Window( void ) -{ - WNDCLASSEX wc; - HWND hwnd; - MSG Msg; - - wc.cbSize = sizeof(WNDCLASSEX); - wc.style = 0; - wc.lpfnWndProc = WndProc; - wc.cbClsExtra = 0; - wc.cbWndExtra = 32; - wc.hInstance = NULL; - wc.hCursor = LoadCursor(NULL, IDC_ARROW); - wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); - wc.lpszMenuName = NULL; - wc.lpszClassName = g_szClassName; - wc.hIconSm = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_NAVIT)); - wc.hIcon = LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_NAVIT)); - - if(!RegisterClassEx(&wc)) - { - MessageBox(NULL, "Window Registration Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK); - return 0; - } - - hwnd = CreateWindowEx( - WS_EX_CLIENTEDGE, - g_szClassName, - _( "Navit" ), - WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN, - CW_USEDEFAULT, CW_USEDEFAULT, 800, 600, - NULL, NULL, NULL, NULL); - - if(hwnd == NULL) - { - MessageBox(NULL, "Window Creation Failed!", "Error!", MB_ICONEXCLAMATION | MB_OK); - return 0; - } - - ShowWindow(hwnd, TRUE); - UpdateWindow(hwnd); - - g_idle_add (message_pump, NULL); - - return hwnd; -} - - -static int win32_gui_set_graphics(struct gui_priv *this_, struct graphics *gra) -{ - HANDLE* wndHandle_ptr = graphics_get_data(gra, "wnd_parent_handle_ptr"); - *wndHandle_ptr = this_->hwnd; - graphics_get_data(gra, "START_CLIENT"); - return 0; -} - - -static void win32_gui_add_bookmark_do(struct gui_priv *gui) -{ -// navit_add_bookmark(gui->nav, &gui->dialog_coord, gtk_entry_get_text(GTK_ENTRY(gui->dialog_entry))); -// gtk_widget_destroy(gui->dialog_win); -} - -static int win32_gui_add_bookmark(struct gui_priv *gui, struct pcoord *c, char *description) -{ - return 1; -} - - -static struct menu_methods menu_methods; - - -static struct menu_priv *add_menu( struct menu_priv *menu, - struct menu_methods *meth, - char *name, - enum menu_type type, - struct callback *cb) -{ - struct menu_priv* ret = NULL; - - ret = g_new0(struct menu_priv, 1); - - *ret = *menu; - *meth = menu_methods; - - if ( type == menu_type_submenu ) - { - HMENU hSubMenu = NULL; - hSubMenu = CreatePopupMenu(); - AppendMenu(menu->hMenu, MF_STRING | MF_POPUP, (UINT)hSubMenu, name ); - ret->hMenu = hSubMenu; - } - else - { - AppendMenu( menu->hMenu, MF_STRING, menu_id, name ); - } - - // g_hash_table_insert( popup_callback_hash, GINT_TO_POINTER( menu_id ), (gpointer)cb ); - g_array_append_val( popup_menu_array, ret ); - - ret->cb = cb; - - menu_id++; - - return ret; - -} - -static void set_toggle(struct menu_priv *menu, int active) -{ - // gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(menu->action), active); -} - -static int get_toggle(struct menu_priv *menu) -{ - // return gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(menu->action)); - return 0; -} - -static struct menu_methods menu_methods = { - add_menu, - set_toggle, - get_toggle, -}; - -static void popup_activate(struct menu_priv *menu) -{ - POINT pnt; - GetCursorPos( &pnt ); - - if (menu->hMenu) - { - TrackPopupMenu( menu->hMenu, 0, pnt.x, pnt.y, 0, menu->wnd_handle, NULL ); - DestroyMenu( menu->hMenu ); - } -} - - -static void popup_deactivate( struct menu_priv *menu ) -{ - DestroyMenu( menu->hMenu ); -} - -struct menu_priv* win32_gui_popup_new(struct gui_priv *this_, struct menu_methods *meth) -{ - struct menu_priv* ret = NULL; - - ret = g_new0(struct menu_priv, 1); - *meth = menu_methods; - - menu_id = POPUP_MENU_OFFSET; - - if ( popup_menu_array ) - { - g_array_free (popup_menu_array, TRUE); - popup_menu_array = NULL; - } - - popup_menu_array = g_array_new (FALSE, FALSE, sizeof (gint)); - - ret->cb = NULL; - ret->hMenu = CreatePopupMenu(); - ret->wnd_handle = this_->hwnd; - meth->popup=popup_activate; - -printf( "create popup menu %d \n", ret->hMenu ); - - return ret; -} - -struct gui_methods win32_gui_methods = { - NULL, // win32_gui_menubar_new, - NULL, // win32_gui_toolbar_new, - NULL, // win32_gui_statusbar_new, - win32_gui_popup_new, - win32_gui_set_graphics, - NULL, - NULL, // win32_gui_datawindow_new, - win32_gui_add_bookmark, -}; - - - -static struct gui_priv *win32_gui_new( struct navit *nav, struct gui_methods *meth, struct attr **attrs) -{ - struct gui_priv *this_; - - *meth=win32_gui_methods; - - this_=g_new0(struct gui_priv, 1); - this_->nav=nav; - - this_->hwnd = CreateWin32Window(); - SetWindowLongPtr( this_->hwnd , DWLP_USER, this_ ); - - return this_; -} - -void plugin_init(void) -{ - plugin_register_gui_type("win32", win32_gui_new); - plugin_register_graphics_type("win32_graphics", win32_graphics_new); -} diff --git a/navit/projs/CodeBlocks/win32gui/win32_gui.h b/navit/projs/CodeBlocks/win32gui/win32_gui.h deleted file mode 100644 index aa8f61a..0000000 --- a/navit/projs/CodeBlocks/win32gui/win32_gui.h +++ /dev/null @@ -1,76 +0,0 @@ -#ifndef WIN32_GUI_INCLUDED -#define WIN32_GUI_INCLUDED - -#include "resources\resource.h" -#include "coord.h" -#include "point.h" -#include "graphics.h" - -#define ID_CHILD_GFX 100 -#define ID_CHILD_TOOLBAR (ID_CHILD_GFX + 1) -#define ID_CHILD_1 (ID_CHILD_TOOLBAR + 1) -#define ID_CHILD_2 (ID_CHILD_1 + 1) -#define ID_CHILD_3 (ID_CHILD_2 + 1) -#define ID_CHILD_4 (ID_CHILD_4 + 1) - -#define ID_DISPLAY_ZOOMIN 200 -#define ID_DISPLAY_ZOOMOUT 201 -#define ID_DISPLAY_REFRESH 202 -#define ID_DISPLAY_CURSOR 203 -#define ID_DISPLAY_ORIENT 204 - -#define ID_FILE_EXIT 9001 -#define ID_STUFF_GO 9002 - -#define _(text) gettext(text) - -#define POPUP_MENU_OFFSET 4000 - -struct statusbar_methods; -struct menu_methods; -struct datawindow_methods; -struct navit; -struct callback; - - -struct menu_priv { - HWND wnd_handle; - HMENU hMenu; - struct callback* cb; -}; - -struct gui_priv { - struct navit *nav; - HANDLE hwnd; -}; - - -struct graphics_priv { - struct point p; - int width; - int height; - int library_init; - int visible; - HANDLE wnd_parent_handle; - HANDLE wnd_handle; - COLORREF bg_color; - - - void (*resize_callback)(void *data, int w, int h); - void *resize_callback_data; - void (*motion_callback)(void *data, struct point *p); - void *motion_callback_data; - void (*button_callback)(void *data, int press, int button, struct point *p); - void *button_callback_data; - enum draw_mode_num mode; -}; - -struct menu_priv *gui_gtk_menubar_new(struct gui_priv *gui, struct menu_methods *meth); -struct menu_priv *gui_gtk_toolbar_new(struct gui_priv *gui, struct menu_methods *meth); -struct statusbar_priv *gui_gtk_statusbar_new(struct gui_priv *gui, struct statusbar_methods *meth); -struct menu_priv *gui_gtk_popup_new(struct gui_priv *gui, struct menu_methods *meth); -struct datawindow_priv *gui_gtk_datawindow_new(struct gui_priv *gui, char *name, struct callback *click, struct callback *close, struct datawindow_methods *meth); - -struct graphics_priv* win32_graphics_new( struct graphics_methods *meth, struct attr **attrs); - -#endif diff --git a/navit/projs/CodeBlocks/win32gui/window.c b/navit/projs/CodeBlocks/win32gui/window.c deleted file mode 100644 index 58569b4..0000000 --- a/navit/projs/CodeBlocks/win32gui/window.c +++ /dev/null @@ -1,149 +0,0 @@ -#define WIN32_LEAN_AND_MEAN - -#include - -#include "resource.h" - -HINSTANCE hInst; - -BOOL CALLBACK DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam) -{ - switch(uMsg) - { - case WM_INITDIALOG: - /* - * TODO: Add code to initialize the dialog. - */ - return TRUE; - - case WM_CLOSE: - EndDialog(hwndDlg, 0); - return TRUE; - - case WM_COMMAND: - switch(LOWORD(wParam)) - { - /* - * TODO: Add more control ID's, when needed. - */ - case IDC_BTN_QUIT: - EndDialog(hwndDlg, 0); - return TRUE; - - case IDC_BTN_TEST: - MessageBox(hwndDlg, "You clicked \"Test\" button!", "Information", MB_ICONINFORMATION); - return TRUE; - } - } - - return FALSE; -} - - -#include - -/* Declare Windows procedure */ -LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); - -/* Make the class name into a global variable */ -char szClassName[ ] = "CodeBlocksWindowsApp"; - -int WINAPI WinMain1 (HINSTANCE hThisInstance, - HINSTANCE hPrevInstance, - LPSTR lpszArgument, - int nCmdShow) -{ - HWND hwnd; /* This is the handle for our window */ - MSG messages; /* Here messages to the application are saved */ - WNDCLASSEX wincl; /* Data structure for the windowclass */ - - /* The Window structure */ - wincl.hInstance = hThisInstance; - wincl.lpszClassName = szClassName; - wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */ - wincl.style = CS_DBLCLKS; /* Catch double-clicks */ - wincl.cbSize = sizeof (WNDCLASSEX); - - /* Use default icon and mouse-pointer */ - wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION); - wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION); - wincl.hCursor = LoadCursor (NULL, IDC_ARROW); - wincl.lpszMenuName = NULL; /* No menu */ - wincl.cbClsExtra = 0; /* No extra bytes after the window class */ - wincl.cbWndExtra = 0; /* structure or the window instance */ - /* Use Windows's default colour as the background of the window */ - wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND; - - /* Register the window class, and if it fails quit the program */ - if (!RegisterClassEx (&wincl)) - return 0; - - /* The class is registered, let's create the program*/ - hwnd = CreateWindowEx ( - 0, /* Extended possibilites for variation */ - szClassName, /* Classname */ - "Code::Blocks Template Windows App", /* Title Text */ - WS_OVERLAPPEDWINDOW, /* default window */ - CW_USEDEFAULT, /* Windows decides the position */ - CW_USEDEFAULT, /* where the window ends up on the screen */ - 544, /* The programs width */ - 375, /* and height in pixels */ - HWND_DESKTOP, /* The window is a child-window to desktop */ - NULL, /* No menu */ - hThisInstance, /* Program Instance handler */ - NULL /* No Window Creation data */ - ); - - /* Make the window visible on the screen */ - ShowWindow (hwnd, nCmdShow); - - /* Run the message loop. It will run until GetMessage() returns 0 */ - -#if 0 - while (GetMessage (&messages, NULL, 0, 0)) - { - /* Translate virtual-key messages into character messages */ - TranslateMessage(&messages); - /* Send message to WindowProcedure */ - DispatchMessage(&messages); - } -#endif - /* The program return-value is 0 - The value that PostQuitMessage() gave */ - return messages.wParam; -} - - -/* This function is called by the Windows function DispatchMessage() */ - -LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) -{ - switch (message) /* handle the messages */ - { - case WM_MOUSEMOVE: - { - int xPos = LOWORD(lParam); - int yPos = HIWORD(lParam); - printf( "mouse at %d %d \n", xPos, yPos ); - } - - break; - case WM_DESTROY: - PostQuitMessage (0); /* send a WM_QUIT to the message queue */ - break; - default: /* for messages that we don't deal with */ - return DefWindowProc (hwnd, message, wParam, lParam); - } - - return 0; -} - -/* - -int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) -{ - hInst = hInstance; - - // The user interface is a modal dialog box - return DialogBox(hInstance, MAKEINTRESOURCE(DLG_MAIN), NULL, DialogProc); -} -*/ diff --git a/navit/projs/CodeBlocks/win32gui/xpm2bmp.c b/navit/projs/CodeBlocks/win32gui/xpm2bmp.c deleted file mode 100644 index 3c60c15..0000000 --- a/navit/projs/CodeBlocks/win32gui/xpm2bmp.c +++ /dev/null @@ -1,588 +0,0 @@ -#include -#include -#include -#include -#include "Xpm2bmp.h" - -#define _DBG - -// function prototypes -static int CreateBitmapFromXpm( const char* filename, PXPM2BMP pXpm2bmp ); - -// typedefs -static XPMCOLORENTRY theRGBRecords[] = -{ - {"ALICEBLUE", 240, 248, 255}, - {"ANTIQUEWHITE", 250, 235, 215}, - {"AQUAMARINE", 50, 191, 193}, - {"AZURE", 240, 255, 255}, - {"BEIGE", 245, 245, 220}, - {"BISQUE", 255, 228, 196}, - {"BLACK", 0, 0, 0}, - {"BLANCHEDALMOND", 255, 235, 205}, - {"BLUE", 0, 0, 255}, - {"BLUEVIOLET", 138, 43, 226}, - {"BROWN", 165, 42, 42}, - {"BURLYWOOD", 222, 184, 135}, - {"CADETBLUE", 95, 146, 158}, - {"CHARTREUSE", 127, 255, 0}, - {"CHOCOLATE", 210, 105, 30}, - {"CORAL", 255, 114, 86}, - {"CORNFLOWERBLUE", 34, 34, 152}, - {"CORNSILK", 255, 248, 220}, - {"CYAN", 0, 255, 255}, - {"DARKGOLDENROD", 184, 134, 11}, - {"DARKGREEN", 0, 86, 45}, - {"DARKKHAKI", 189, 183, 107}, - {"DARKOLIVEGREEN", 85, 86, 47}, - {"DARKORANGE", 255, 140, 0}, - {"DARKORCHID", 139, 32, 139}, - {"DARKSALMON", 233, 150, 122}, - {"DARKSEAGREEN", 143, 188, 143}, - {"DARKSLATEBLUE", 56, 75, 102}, - {"DARKSLATEGRAY", 47, 79, 79}, - {"DARKTURQUOISE", 0, 166, 166}, - {"DARKVIOLET", 148, 0, 211}, - {"DEEPPINK", 255, 20, 147}, - {"DEEPSKYBLUE", 0, 191, 255}, - {"DIMGRAY", 84, 84, 84}, - {"DODGERBLUE", 30, 144, 255}, - {"FIREBRICK", 142, 35, 35}, - {"FLORALWHITE", 255, 250, 240}, - {"FORESTGREEN", 80, 159, 105}, - {"GAINSBORO", 220, 220, 220}, - {"GHOSTWHITE", 248, 248, 255}, - {"GOLD", 218, 170, 0}, - {"GOLDENROD", 239, 223, 132}, - {"GRAY", 126, 126, 126}, - {"GRAY0", 0, 0, 0}, - {"GRAY1", 3, 3, 3}, - {"GRAY10", 26, 26, 26}, - {"GRAY100", 255, 255, 255}, - {"GRAY11", 28, 28, 28}, - {"GRAY12", 31, 31, 31}, - {"GRAY13", 33, 33, 33}, - {"GRAY14", 36, 36, 36}, - {"GRAY15", 38, 38, 38}, - {"GRAY16", 41, 41, 41}, - {"GRAY17", 43, 43, 43}, - {"GRAY18", 46, 46, 46}, - {"GRAY19", 48, 48, 48}, - {"GRAY2", 5, 5, 5}, - {"GRAY20", 51, 51, 51}, - {"GRAY21", 54, 54, 54}, - {"GRAY22", 56, 56, 56}, - {"GRAY23", 59, 59, 59}, - {"GRAY24", 61, 61, 61}, - {"GRAY25", 64, 64, 64}, - {"GRAY26", 66, 66, 66}, - {"GRAY27", 69, 69, 69}, - {"GRAY28", 71, 71, 71}, - {"GRAY29", 74, 74, 74}, - {"GRAY3", 8, 8, 8}, - {"GRAY30", 77, 77, 77}, - {"GRAY31", 79, 79, 79}, - {"GRAY32", 82, 82, 82}, - {"GRAY33", 84, 84, 84}, - {"GRAY34", 87, 87, 87}, - {"GRAY35", 89, 89, 89}, - {"GRAY36", 92, 92, 92}, - {"GRAY37", 94, 94, 94}, - {"GRAY38", 97, 97, 97}, - {"GRAY39", 99, 99, 99}, - {"GRAY4", 10, 10, 10}, - {"GRAY40", 102, 102, 102}, - {"GRAY41", 105, 105, 105}, - {"GRAY42", 107, 107, 107}, - {"GRAY43", 110, 110, 110}, - {"GRAY44", 112, 112, 112}, - {"GRAY45", 115, 115, 115}, - {"GRAY46", 117, 117, 117}, - {"GRAY47", 120, 120, 120}, - {"GRAY48", 122, 122, 122}, - {"GRAY49", 125, 125, 125}, - {"GRAY5", 13, 13, 13}, - {"GRAY50", 127, 127, 127}, - {"GRAY51", 130, 130, 130}, - {"GRAY52", 133, 133, 133}, - {"GRAY53", 135, 135, 135}, - {"GRAY54", 138, 138, 138}, - {"GRAY55", 140, 140, 140}, - {"GRAY56", 143, 143, 143}, - {"GRAY57", 145, 145, 145}, - {"GRAY58", 148, 148, 148}, - {"GRAY59", 150, 150, 150}, - {"GRAY6", 15, 15, 15}, - {"GRAY60", 153, 153, 153}, - {"GRAY61", 156, 156, 156}, - {"GRAY62", 158, 158, 158}, - {"GRAY63", 161, 161, 161}, - {"GRAY64", 163, 163, 163}, - {"GRAY65", 166, 166, 166}, - {"GRAY66", 168, 168, 168}, - {"GRAY67", 171, 171, 171}, - {"GRAY68", 173, 173, 173}, - {"GRAY69", 176, 176, 176}, - {"GRAY7", 18, 18, 18}, - {"GRAY70", 179, 179, 179}, - {"GRAY71", 181, 181, 181}, - {"GRAY72", 184, 184, 184}, - {"GRAY73", 186, 186, 186}, - {"GRAY74", 189, 189, 189}, - {"GRAY75", 191, 191, 191}, - {"GRAY76", 194, 194, 194}, - {"GRAY77", 196, 196, 196}, - {"GRAY78", 199, 199, 199}, - {"GRAY79", 201, 201, 201}, - {"GRAY8", 20, 20, 20}, - {"GRAY80", 204, 204, 204}, - {"GRAY81", 207, 207, 207}, - {"GRAY82", 209, 209, 209}, - {"GRAY83", 212, 212, 212}, - {"GRAY84", 214, 214, 214}, - {"GRAY85", 217, 217, 217}, - {"GRAY86", 219, 219, 219}, - {"GRAY87", 222, 222, 222}, - {"GRAY88", 224, 224, 224}, - {"GRAY89", 227, 227, 227}, - {"GRAY9", 23, 23, 23}, - {"GRAY90", 229, 229, 229}, - {"GRAY91", 232, 232, 232}, - {"GRAY92", 235, 235, 235}, - {"GRAY93", 237, 237, 237}, - {"GRAY94", 240, 240, 240}, - {"GRAY95", 242, 242, 242}, - {"GRAY96", 245, 245, 245}, - {"GRAY97", 247, 247, 247}, - {"GRAY98", 250, 250, 250}, - {"GRAY99", 252, 252, 252}, - {"GREEN", 0, 255, 0}, - {"GREENYELLOW", 173, 255, 47}, - {"HONEYDEW", 240, 255, 240}, - {"HOTPINK", 255, 105, 180}, - {"INDIANRED", 107, 57, 57}, - {"IVORY", 255, 255, 240}, - {"KHAKI", 179, 179, 126}, - {"LAVENDER", 230, 230, 250}, - {"LAVENDERBLUSH", 255, 240, 245}, - {"LAWNGREEN", 124, 252, 0}, - {"LEMONCHIFFON", 255, 250, 205}, - {"LIGHTBLUE", 176, 226, 255}, - {"LIGHTCORAL", 240, 128, 128}, - {"LIGHTCYAN", 224, 255, 255}, - {"LIGHTGOLDENROD", 238, 221, 130}, - {"LIGHTGOLDENRODYELLOW", 250, 250, 210}, - {"LIGHTGRAY", 168, 168, 168}, - {"LIGHTPINK", 255, 182, 193}, - {"LIGHTSALMON", 255, 160, 122}, - {"LIGHTSEAGREEN", 32, 178, 170}, - {"LIGHTSKYBLUE", 135, 206, 250}, - {"LIGHTSLATEBLUE", 132, 112, 255}, - {"LIGHTSLATEGRAY", 119, 136, 153}, - {"LIGHTSTEELBLUE", 124, 152, 211}, - {"LIGHTYELLOW", 255, 255, 224}, - {"LIMEGREEN", 0, 175, 20}, - {"LINEN", 250, 240, 230}, - {"MAGENTA", 255, 0, 255}, - {"MAROON", 143, 0, 82}, - {"MEDIUMAQUAMARINE", 0, 147, 143}, - {"MEDIUMBLUE", 50, 50, 204}, - {"MEDIUMFORESTGREEN", 50, 129, 75}, - {"MEDIUMGOLDENROD", 209, 193, 102}, - {"MEDIUMORCHID", 189, 82, 189}, - {"MEDIUMPURPLE", 147, 112, 219}, - {"MEDIUMSEAGREEN", 52, 119, 102}, - {"MEDIUMSLATEBLUE", 106, 106, 141}, - {"MEDIUMSPRINGGREEN", 35, 142, 35}, - {"MEDIUMTURQUOISE", 0, 210, 210}, - {"MEDIUMVIOLETRED", 213, 32, 121}, - {"MIDNIGHTBLUE", 47, 47, 100}, - {"MINTCREAM", 245, 255, 250}, - {"MISTYROSE", 255, 228, 225}, - {"MOCCASIN", 255, 228, 181}, - {"NAVAJOWHITE", 255, 222, 173}, - {"NAVY", 35, 35, 117}, - {"NAVYBLUE", 35, 35, 117}, - {"OLDLACE", 253, 245, 230}, - {"OLIVEDRAB", 107, 142, 35}, - {"ORANGE", 255, 135, 0}, - {"ORANGERED", 255, 69, 0}, - {"ORCHID", 239, 132, 239}, - {"PALEGOLDENROD", 238, 232, 170}, - {"PALEGREEN", 115, 222, 120}, - {"PALETURQUOISE", 175, 238, 238}, - {"PALEVIOLETRED", 219, 112, 147}, - {"PAPAYAWHIP", 255, 239, 213}, - {"PEACHPUFF", 255, 218, 185}, - {"PERU", 205, 133, 63}, - {"PINK", 255, 181, 197}, - {"PLUM", 197, 72, 155}, - {"POWDERBLUE", 176, 224, 230}, - {"PURPLE", 160, 32, 240}, - {"RED", 255, 0, 0}, - {"ROSYBROWN", 188, 143, 143}, - {"ROYALBLUE", 65, 105, 225}, - {"SADDLEBROWN", 139, 69, 19}, - {"SALMON", 233, 150, 122}, - {"SANDYBROWN", 244, 164, 96}, - {"SEAGREEN", 82, 149, 132}, - {"SEASHELL", 255, 245, 238}, - {"SIENNA", 150, 82, 45}, - {"SKYBLUE", 114, 159, 255}, - {"SLATEBLUE", 126, 136, 171}, - {"SLATEGRAY", 112, 128, 144}, - {"SNOW", 255, 250, 250}, - {"SPRINGGREEN", 65, 172, 65}, - {"STEELBLUE", 84, 112, 170}, - {"TAN", 222, 184, 135}, - {"THISTLE", 216, 191, 216}, - {"TOMATO", 255, 99, 71}, - {"TRANSPARENT", 0, 0, 1}, - {"TURQUOISE", 25, 204, 223}, - {"VIOLET", 156, 62, 206}, - {"VIOLETRED", 243, 62, 150}, - {"WHEAT", 245, 222, 179}, - {"WHITE", 255, 255, 255}, - {"WHITESMOKE", 245, 245, 245}, - {"YELLOW", 255, 255, 0}, - {"YELLOWGREEN", 50, 216, 56} -}; - - -PXPM2BMP Xpm2bmp_new() -{ - PXPM2BMP preturn = (PXPM2BMP)calloc( sizeof( XPM2BMP ) , 1 ); - return preturn; -} - - -int Xpm2bmp_load( PXPM2BMP pXpm2bmp, const char* filename ) -{ - return CreateBitmapFromXpm( filename, pXpm2bmp ); -} - -int Xpm2bmp_paint( PXPM2BMP pXpm2bmp, HDC hdc, int x1,int y1 ) -{ - StretchDIBits(hdc, - x1, y1, pXpm2bmp->size_x, pXpm2bmp->size_y, - 0, 0, pXpm2bmp->size_x, pXpm2bmp->size_y, - pXpm2bmp->wimage_data_trans, - (BITMAPINFO *)pXpm2bmp->bmih_trans, - DIB_RGB_COLORS, - SRCAND ); - - StretchDIBits(hdc, - x1, y1, pXpm2bmp->size_x, pXpm2bmp->size_y, - 0, 0, pXpm2bmp->size_x, pXpm2bmp->size_y, - pXpm2bmp->wimage_data, - (BITMAPINFO *)pXpm2bmp->bmih, - DIB_RGB_COLORS, - SRCPAINT ); - - return 0; -} - -static int parse_line_values( const char* line, PXPM2BMP pXpm2bmp ) -{ - int return_value = 0; - char* parse_line = (char*)line; - char* tok; - int value_pos = 0; - - parse_line = strchr( parse_line, '"' ); - parse_line++; - - tok = strtok( parse_line, " \t\n" ); - - while ( tok != 0 ) - { - int val = atoi( tok ); - switch ( value_pos ) - { - case 0: pXpm2bmp->size_x = val; break; - case 1: pXpm2bmp->size_y = val; break; - case 2: pXpm2bmp->colors = val; break; - case 3: pXpm2bmp->chars_per_pixel = val; break; - case 4: pXpm2bmp->hotspot_x = val; break; - case 5: pXpm2bmp->hotspot_y = val; break; - } - tok = strtok( NULL, " \t" ); - value_pos ++; - - } - - return return_value; -} - -static int hex2int( char c ) -{ - if ((c >= '0') && (c <='9' )) return c - '0'; - if ((c >= 'A') && (c <= 'F')) return c - 'A' + 10; - if ((c >= 'a') && (c <= 'f')) return c - 'a' + 10; - return -1; -} - -static DWORD string2hex16( const char* str ) -{ - int i1 = hex2int( str[0] ); - int i2 = hex2int( str[1] ); - if ( ( i1 >= 0 ) && ( i2 >= 0 ) ) - return i1*16+i2; - return -1; -} - -static int parse_color_values( const char* line, PXPM2BMP pXpm2bmp ) -{ - int return_value = 0; - char* cq = strchr( line, '"' ); - char* cchar = strchr( cq+pXpm2bmp->chars_per_pixel+1, 'c' ); - char* chash = strchr( cq+pXpm2bmp->chars_per_pixel+1, '#' ); - char* qe = strchr( cq+pXpm2bmp->chars_per_pixel+1, '"' ); - - cq++; - - if ( cq ) - { - memcpy( pXpm2bmp->color_entires[ pXpm2bmp-> color_entires_size].color_str, cq, pXpm2bmp->chars_per_pixel + 1 ); - pXpm2bmp->color_entires[ pXpm2bmp-> color_entires_size].color_str[ pXpm2bmp->chars_per_pixel ] = '\0'; - - - if ( cchar && chash && qe) - { - chash++; - *qe = 0; - int len = strlen( chash ); - - pXpm2bmp->color_entires[ pXpm2bmp->color_entires_size].r = string2hex16( &chash[0] ); - pXpm2bmp->color_entires[ pXpm2bmp->color_entires_size].g = string2hex16( &chash[len / 3] ); - pXpm2bmp->color_entires[ pXpm2bmp->color_entires_size].b = string2hex16( &chash[len * 2 / 3] ); -#ifdef _DBG -printf( "adding color %s => %d RGB %x %x %x to index %d\n", - line, - pXpm2bmp->color_entires_size, - pXpm2bmp->color_entires[ pXpm2bmp->color_entires_size].r, - pXpm2bmp->color_entires[ pXpm2bmp->color_entires_size].g, - pXpm2bmp->color_entires[ pXpm2bmp->color_entires_size].b, - pXpm2bmp->color_entires_size ); -#endif - } - else - { - int q; - char *start = cchar + 1; - char *end = start; - - while ( *start != 0 ) - { - if ( ( *start != '\t' ) && ( *start != ' ' ) ) - { - break; - } - start++; - } - - end = start; - while ( *end != 0 ) - { - if ( ( *end == '\t' ) || ( *end == ' ' ) || ( *end == '"' )) - { - *end = 0; - } - end++; - } - - start = _strupr( start ); - - for ( q=0; q < sizeof( theRGBRecords ) / sizeof( theRGBRecords[0] ); q++ ) - { - - if ( 0 == strcmp( start, theRGBRecords[q].color_str ) ) - { - pXpm2bmp->color_entires[ pXpm2bmp->color_entires_size].r = theRGBRecords[q].r; - pXpm2bmp->color_entires[ pXpm2bmp->color_entires_size].g = theRGBRecords[q].g; - pXpm2bmp->color_entires[ pXpm2bmp->color_entires_size].b = theRGBRecords[q].b; - } - } - if ( 0 == strcmp( start, "NONE" ) ) - { - pXpm2bmp->color_entires[ pXpm2bmp->color_entires_size].r = 255; - pXpm2bmp->color_entires[ pXpm2bmp->color_entires_size].g = 0; - pXpm2bmp->color_entires[ pXpm2bmp->color_entires_size].b = 255; - } - } - } - pXpm2bmp->color_entires_size++; - - return return_value; -} - -static int vv = 0; - -static int parse_pixel_line_values( const char* line, PXPM2BMP pXpm2bmp, unsigned char* pixel_data, unsigned char* pixel_data_trans ) -{ - int return_value = 0; - int i,j; - - - char* cq = strchr( line, '"' ); - int pix_idx = 0; - int size_x = pXpm2bmp->size_x; - int len = strlen( cq ); - - cq++; - - if ( len > pXpm2bmp->chars_per_pixel * size_x ) - { - for ( i=0; i< size_x; i++ ) - { - int found = 0; - char* cmp = &cq[ i * pXpm2bmp->chars_per_pixel]; - - for ( j=0; j< pXpm2bmp-> color_entires_size; j++ ) - { - if ( strncmp( cmp, pXpm2bmp->color_entires[ j ].color_str, pXpm2bmp->chars_per_pixel ) == 0 ) - { - int r = pXpm2bmp->color_entires[ j ].r; - int g = pXpm2bmp->color_entires[ j ].g; - int b = pXpm2bmp->color_entires[ j ].b; - - if ( ( r == 255 ) && ( g == 0 ) && ( r == 255 ) ) - { - r=g=b=0; - pixel_data_trans[ pix_idx ] = 255; - pixel_data_trans[ pix_idx+1 ] = 255; - pixel_data_trans[ pix_idx+2 ] = 255; - } - else - { - pixel_data_trans[ pix_idx ] = 0; - pixel_data_trans[ pix_idx+1 ] = 0; - pixel_data_trans[ pix_idx+2 ] = 0; - } - - // pixel_data[ pix_idx++ ] = pXpm2bmp->color_entires[ j ].r; - // pixel_data[ pix_idx++ ] = pXpm2bmp->color_entires[ j ].g; - // pixel_data[ pix_idx++ ] = pXpm2bmp->color_entires[ j ].b; - pixel_data[ pix_idx++ ] = b; - pixel_data[ pix_idx++ ] = g; - pixel_data[ pix_idx++ ] = r; - found = 1; - vv++; - break; - } - } - if ( !found ) - { - fprintf( stderr, "XPMLIB: error color not found\n" ); - } - - } - } - else - { - return_value = -1; - fprintf( stderr, "XPMLIB: invalid line length\n" ); - } - return return_value; -} - - -static int CreateBitmapFromXpm( const char* filename, PXPM2BMP pXpm2bmp ) -{ - int return_val = 0; - unsigned char i, row; - char line[ 1024 ]; - int nbytes ; - FILE* file_xpm = fopen( filename, "r" ); - - int phase = 0; - row = 0; - - if ( file_xpm ) - { - while ( fgets(line, sizeof( line ), file_xpm ) ) - { -#ifdef _DBG - printf( "PARSING: %s\n", line ); -#endif - if ( line[ 0 ] != '"' ) - continue; - - switch ( phase ) - { - case 0: - parse_line_values( line, pXpm2bmp ); -#ifdef _DBG - printf( "size_x %d\n", pXpm2bmp->size_x ); - printf( "size_y %d\n", pXpm2bmp->size_y ); -#endif - phase = 1; - - pXpm2bmp->color_entires_size = 0; - nbytes = ( pXpm2bmp->chars_per_pixel + 1 ) * pXpm2bmp->colors; - - pXpm2bmp->color_entires = calloc( sizeof( XPMCOLORENTRY ), pXpm2bmp->colors + 100 ); - pXpm2bmp->color_entires[0].color_str = calloc( nbytes, pXpm2bmp->colors ); - for ( i = 1; i< pXpm2bmp->colors; i++ ) - { - pXpm2bmp->color_entires[i].color_str = pXpm2bmp->color_entires[0].color_str + ( pXpm2bmp->chars_per_pixel + 1 ) * i; - } - - if (!(pXpm2bmp->dib = (unsigned char *)malloc(sizeof(BITMAPINFOHEADER) + pXpm2bmp->size_x * pXpm2bmp->size_y * 3))) - { - return 4; - } - if (!(pXpm2bmp->dib_trans = (unsigned char *)calloc(sizeof(BITMAPINFOHEADER) + pXpm2bmp->size_x * pXpm2bmp->size_y * 3,1))) - { - return 4; - } - - memset(pXpm2bmp->dib, 0, sizeof(BITMAPINFOHEADER)); - pXpm2bmp->bmih = (BITMAPINFOHEADER *)pXpm2bmp->dib; - pXpm2bmp->bmih->biSize = sizeof(BITMAPINFOHEADER); - pXpm2bmp->bmih->biWidth = pXpm2bmp->size_x; - pXpm2bmp->bmih->biHeight = -((long)pXpm2bmp->size_y); - pXpm2bmp->bmih->biPlanes = 1; - pXpm2bmp->bmih->biBitCount = 24; - pXpm2bmp->bmih->biCompression = 0; - pXpm2bmp->wimage_data = pXpm2bmp->dib + sizeof(BITMAPINFOHEADER); - - - pXpm2bmp->bmih_trans = (BITMAPINFOHEADER *)pXpm2bmp->dib_trans; - pXpm2bmp->bmih_trans->biSize = sizeof(BITMAPINFOHEADER); - pXpm2bmp->bmih_trans->biWidth = pXpm2bmp->size_x; - pXpm2bmp->bmih_trans->biHeight = -((long)pXpm2bmp->size_y); - pXpm2bmp->bmih_trans->biPlanes = 1; - pXpm2bmp->bmih_trans->biBitCount = 24; - pXpm2bmp->bmih_trans->biCompression = 0; - pXpm2bmp->wimage_data_trans = pXpm2bmp->dib_trans + sizeof(BITMAPINFOHEADER); -// memset( pXpm2bmp->wimage_data_trans, 255, 5* 22 * 3 ); - - break; - case 1: - parse_color_values( line, pXpm2bmp ); - if ( pXpm2bmp->color_entires_size >= pXpm2bmp->colors ) - { - phase = 2; - } - - break; - case 2: - parse_pixel_line_values( line, pXpm2bmp, - pXpm2bmp->wimage_data + row * pXpm2bmp->size_x * 3, - pXpm2bmp->wimage_data_trans + row * pXpm2bmp->size_x * 3 ); - - row++; - if ( row >= pXpm2bmp->size_y ) - { - phase = 3; - } - break; - } - - } - - fclose( file_xpm ); - } - return return_val; -} diff --git a/navit/projs/CodeBlocks/win32gui/xpm2bmp.h b/navit/projs/CodeBlocks/win32gui/xpm2bmp.h deleted file mode 100644 index 2fa028f..0000000 --- a/navit/projs/CodeBlocks/win32gui/xpm2bmp.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef Xpm2BMP_H_INCLUDED -#define Xpm2BMP_H_INCLUDED - -#include -#include "wingdi.h" - -typedef struct XPMCOLORENTRY_TAG -{ - char* color_str; - unsigned long r; - unsigned long g; - unsigned long b; -} XPMCOLORENTRY, *PXPMCOLORENTRY; - -typedef struct XPM2BMP_TAG -{ - unsigned short size_x; - unsigned short size_y; - unsigned short colors; - unsigned short pixels; - unsigned short chars_per_pixel; - unsigned short hotspot_x; - unsigned short hotspot_y; - - int color_entires_size; - PXPMCOLORENTRY color_entires; - - unsigned char *dib; - unsigned char *wimage_data; - BITMAPINFOHEADER *bmih; - - unsigned char *dib_trans; - unsigned char *wimage_data_trans; - BITMAPINFOHEADER *bmih_trans; - -} XPM2BMP, *PXPM2BMP; - - -PXPM2BMP Xpm2bmp_new(); -int Xpm2bmp_load( PXPM2BMP pXpm2bmp, const char* filename ); -int Xpm2bmp_paint( PXPM2BMP pXpm2bmp, HDC hdc, int x1,int y1 ); - - -#endif // Xpm2BMP_H_INCLUDED -- 2.7.4