From 704a4b7524e05d7bf4d208eb1b30be9989abef4c Mon Sep 17 00:00:00 2001
From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= <vslavik@fastmail.fm>
Date: Sat, 10 Jul 1999 21:17:24 +0000
Subject: [PATCH] *** empty log message ***

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/alignv.bmp   | Bin 0 -> 8760 bytes
 docs/latex/wx/border.bmp   | Bin 0 -> 17134 bytes
 docs/latex/wx/busyinfo.tex |  35 +++++
 docs/latex/wx/cont.bmp     | Bin 0 -> 61582 bytes
 docs/latex/wx/contbox.bmp  | Bin 0 -> 47478 bytes
 docs/latex/wx/descent.bmp  | Bin 0 -> 7272 bytes
 docs/latex/wx/filesys.tex  | 101 ++++++++++++++
 docs/latex/wx/filesysh.tex | 128 +++++++++++++++++
 docs/latex/wx/fs.tex       |  75 ++++++++++
 docs/latex/wx/hello.bmp    | Bin 0 -> 7800 bytes
 docs/latex/wx/htcell.tex   | 240 ++++++++++++++++++++++++++++++++
 docs/latex/wx/htcolor.tex  |  38 +++++
 docs/latex/wx/htcontnr.tex | 250 +++++++++++++++++++++++++++++++++
 docs/latex/wx/htfilter.tex |  59 ++++++++
 docs/latex/wx/hthelpct.tex | 158 +++++++++++++++++++++
 docs/latex/wx/htmlcell.tex |  76 ++++++++++
 docs/latex/wx/htmlfilt.tex |  11 ++
 docs/latex/wx/htmlhand.tex | 146 ++++++++++++++++++++
 docs/latex/wx/htmlhlpf.tex |  83 +++++++++++
 docs/latex/wx/htmlprn.tex  |  62 +++++++++
 docs/latex/wx/htmlstrt.tex |  68 +++++++++
 docs/latex/wx/htparser.tex | 191 +++++++++++++++++++++++++
 docs/latex/wx/httag.tex    | 176 +++++++++++++++++++++++
 docs/latex/wx/httaghnd.tex |  91 ++++++++++++
 docs/latex/wx/httagmod.tex |  42 ++++++
 docs/latex/wx/htwidget.tex |  38 +++++
 docs/latex/wx/htwindow.tex | 276 +++++++++++++++++++++++++++++++++++++
 docs/latex/wx/htwinhnd.tex |  32 +++++
 docs/latex/wx/htwinprs.tex | 261 +++++++++++++++++++++++++++++++++++
 docs/latex/wx/indent.bmp   | Bin 0 -> 31760 bytes
 docs/latex/wx/wxhtml.tex   |  31 +++++
 docs/latex/wx/zipstrm.tex  |  33 +++++
 32 files changed, 2701 insertions(+)
 create mode 100644 docs/latex/wx/alignv.bmp
 create mode 100644 docs/latex/wx/border.bmp
 create mode 100644 docs/latex/wx/busyinfo.tex
 create mode 100644 docs/latex/wx/cont.bmp
 create mode 100644 docs/latex/wx/contbox.bmp
 create mode 100644 docs/latex/wx/descent.bmp
 create mode 100644 docs/latex/wx/filesys.tex
 create mode 100644 docs/latex/wx/filesysh.tex
 create mode 100644 docs/latex/wx/fs.tex
 create mode 100644 docs/latex/wx/hello.bmp
 create mode 100644 docs/latex/wx/htcell.tex
 create mode 100644 docs/latex/wx/htcolor.tex
 create mode 100644 docs/latex/wx/htcontnr.tex
 create mode 100644 docs/latex/wx/htfilter.tex
 create mode 100644 docs/latex/wx/hthelpct.tex
 create mode 100644 docs/latex/wx/htmlcell.tex
 create mode 100644 docs/latex/wx/htmlfilt.tex
 create mode 100644 docs/latex/wx/htmlhand.tex
 create mode 100644 docs/latex/wx/htmlhlpf.tex
 create mode 100644 docs/latex/wx/htmlprn.tex
 create mode 100644 docs/latex/wx/htmlstrt.tex
 create mode 100644 docs/latex/wx/htparser.tex
 create mode 100644 docs/latex/wx/httag.tex
 create mode 100644 docs/latex/wx/httaghnd.tex
 create mode 100644 docs/latex/wx/httagmod.tex
 create mode 100644 docs/latex/wx/htwidget.tex
 create mode 100644 docs/latex/wx/htwindow.tex
 create mode 100644 docs/latex/wx/htwinhnd.tex
 create mode 100644 docs/latex/wx/htwinprs.tex
 create mode 100644 docs/latex/wx/indent.bmp
 create mode 100644 docs/latex/wx/wxhtml.tex
 create mode 100644 docs/latex/wx/zipstrm.tex

diff --git a/docs/latex/wx/alignv.bmp b/docs/latex/wx/alignv.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..20cff5ee6c2b23f45eeb871b2c459b7acb40e221
GIT binary patch
literal 8760
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
F{{uVO{b~RJ

literal 0
HcmV?d00001

diff --git a/docs/latex/wx/border.bmp b/docs/latex/wx/border.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..d57f535572e3ad0907fc1a60c0014d87d39bff2a
GIT binary patch
literal 17134
zcmeI3PmEnfcE)ercl*8WM`QOG{I9X6n`fH_Y}(LfEW}LQWU$+9cm_|q+s4dmMgwgt
zaiU2yN|3?=DM*<G3lx!v1sY8xBC%kBG%Q9D3l^4w1d6;sBc!lkF$)$Wg$0W&CL_rA
zt8>r0^=`k{HW@|90!!6(Z`G-DzWVCaId$*5{{GoluZE0&$BQhxTlFs8KBf|~ag{9l
zmlO1s|7cJt^8AtFrG-Zx{Bj{H-uOvYTzfMse)Fl?zs!nXT+M#{@yA*5(fe6(CC`di
zpU8@LUdev{qOPC+cJ})(CG&;K^>?%4w_jw%%iqt6w_nPNpYF<vPc-iJXR_kmUu4Dm
z?_|Xb_h!YLFJ#4Mzs-uP+a!A;D_(k7_THB4N78*kvae;u=fBH}S00n>^TP32R(yP2
z@@<X3OLneh#iySN*Ojbz@6D`uQJCNSsr0{<{oBIz>>pp#_>Vu7d^0P4rRx_u()XXz
zw<O#z3-h$bf1>fvYP@iL_^x!^n-y=pApD<a#ZQFmXAft^YZrv=xcHFnYi|k1Z?Zq%
zAw3^S_Z8`Wbw&DLl|Jc*gX`~Uy!v03owt9c`A=(3pJ@KF^Wm>FXX$?bZO!j>;gS3+
zPpIuP>ARNw{B_}Y?+xLY7mgQ&VTUlB5Qe9HrM{`ZVc>s_fv?)T+gY~t-vjON*cXyg
z-J|ZbLpQ8^)3P-i<L!`*sT3-?N~2w5t)!-nzGl0nQb@Lyg?2NWh%yab=NeZ?rqI|B
z+qcr!lnnjY$fXDU&2}TUg>v=km?{j0(eR|#xokIL$zz>Mr?r_KFb*r5@s6@Jh}-ZN
z(FS&ccyN!aqXz+_y{;_eVvW&N4Qkp9b+szKI^U9>lwH^9HFmsUhjzv?W^4qz*t9WL
z*YUv|GG33B^4v3Xw^PTK>UDf$?eRE<d&Xk77|GmdUo_TWZWyvgd#ps&%qC?aWh~Xn
zN;zAwL~&%dj9`n|-lCG$jBCo5S-D|&(CI88TgQ~@q7O`tqmHQ)qni1cdvv-J>etn}
z!PY3ohVPENM7p(|lttFmcQ@DV8jB(B&f!spzLqe;qWhZH_}rNKJ<<?uZY^yM(@Au4
z7GbxJDP=Ka50+L(?ZktnhPe@1StBeoYO`exxAhC`kB(7p!^g0jd<G%8#uf!zHjAP?
zq3B~CQ(5z9jYl@M4te(Nnj98#wV@5Gl(87eN9E92^<MAW1@Q%y=gV0iD)0ZgFR@MX
zP3^@(^9CWYnZo^KdCh)gb;%>!RHh_{h6Bpt+jZSmF>Wo|RP(oeWLy|0c#i8~c7N4J
z;+l{)Z9XDIi?rh>Fpl4XmU5>GT2eGOqXS)DW=kEmTHA#Y@BF%2Zdcv~d5Xq3wHZ|$
zRXk0}7PFyXj~cmK)jr4%%(K^68M3iubvR(P#<W^6OO__fn-|mOTHxm%X=Y~2DwPjR
z>kh9>dyu9b96wNv2N^q~PiucExxekp{e|vcD%Ztgq0JD^@hIACwmuiy>>37qZH$%l
z<U$n3V{JSL;evVJT8<|Mwc<Tl#ypxhXEUgy!4lfoT_E!4=IvF!7(`V?WIY#`<Iw|p
z_fkhkJB7StG0eu$2KS7ye)HryMzEpNy`I{z8gBX+Pn|NyHT#wE^bcaI^q~t+L570-
z?J6m*PLkJ53hjP|aI2QXyxqL}W>8@%ot<ZJ)7z4N+nTqu%Wj4-KSek$e8&84YzRxu
zxH2utfOTsu)(@+8ny~virp{2dKtsHQZwfrqhPGiWu@*3qt{>=pR`hZ2`Z$~T8hY&U
zJ|Zk}ocqDE)8^Adsx$R-bZ_1dKHlmSuj8!O?J`0UsmMXT=Qu%ZQ?Wcj4yy0k^eh2m
zK0DTyGsn1!vx-%Vk9HP8o*C59Fx!n<ta?OkGb&@s&5ig(Wihp@wq2W0VeugqH1Air
zs)E!3#nCkTyUaiJHH?m@|F=)bAGO1+Gkugr`*XcHU^c^1DOVf~^WwLBp4V>JAG%_r
ztMv(CcbE*b;X+suPf>&V4~IkH*>E=eaX1l<<h{nh&<l$L8dkzoI2ayk^i)5t@n=-u
z9nL2@E`&>AQR5fGzVKkUEPHF=4%s<Apa%>;mZnxjvjGy<p_sQMBopDJeBgArP>oa1
zO!$#{W~`?+;(OsXc~Up*NyqGHOLs5a6&{tv^I-N->bVlWr@q;6F?7P7d@gh<Teo3*
zE}sf3LOCbN{XR}H_}=hvz8vlkPlm2qOMcb9Q*u8H%i%e(*j2vh{a8Nt_gXR8>W16G
zE?GMm8N4J;x@Ikrxh$S~p@?|)<||<xn@RuP@Q}vsXAL!%3%<H(W@682rrIN0=X2gl
zAZL5A%J;Tk?Vf1md)1yLY|Kf`NNX`2?hNx`EponSev~2^j8PVcG@oeIV+(t;9=|La
z492fYm$iGmtGA;!)m<VzAC8E(M<deJFlW3EVy)sivC?L4H7tP%>>3%bk#X$9YWi&+
zgEhL4r|ueym&2GmZNEHvHC$r7x5C9(8}C`%o}JOh(@KTK`nd=9EoF|W`VH3*Jk#Q8
zF??6(H{`E-hjC@^p9)1`_&}%Wt+F{MJ#@oC`d)!-J{m(aJ8gSqQM*K(NOGsJ^up<3
zyrlecO~$|`g*ju#b2#_Nc)Q=<XdM|-Vmhx_cTnYN`TRa%S_~U0H=F&HQy2c3;;Q`B
z@VFnlUse5^_0i|@o8?TOw}V*`?7U*L#had@;+j0G?_IvHVauLdc<QVeOmjE++vGR}
zSWfr6p0;xhV~kxEf}P4hc}ITK)qdKavK6uyB}aZIGHNv@!yf(Zqw`)xnKkVTV)wJk
zO~<R4=NUYaJQ{W=^3E%FtQ5WQIQqzpvanD0v$AnfeU}VJ*@LGohbM*lXt<J$_<?po
zjL(&H%u5Huq|R(nukKehx}&^VW&pLcWPiyelo9S%wo<;7x3t85DJMkV5uPb|(Nx}3
zhB+QNaIM|&g!(QBQ9InDJUu6gBs0m%evP~oc8Zm*q<UemBbUE-HR51+N?x~LtAC`z
zufFeyfrr8mW8dB|H!zBx6YAMejyznAlC_=EH&<FaFT1NgPVbU7!adq&k7@=7Wo?ah
z*6D#PmYf?TcPZT0xJP;O8O<0zRy6N^##jG}c-kwL=<O-%?$D|n7nhG$NF=3|m8Km+
zvnYRVh4YQBqQp#sr=_@YK1>UB$+dRDqv4kDlx*(P-tFj#+P&gQX)$Ze?+$6vn7?c1
z-9MApNW+>uW?y(%qb~`|Maf*SjO@?)mL+^okTdap+ofEy7l=aa2WfBWJ{Gl|)BU-;
zJ(er4Zr2HWd#>|roNK#rEOgbfpu2^q4at&n#M9C^BRs2OxFsG|jT!Q?@A~1jMLpk}
z;Guv`8tRy))R!xR=9<TL?Q!AajZuC~_s67vLG^;hMr87+{oy|Cl(WKiQY<~E`lwhs
z%!&~AoPklb<YHv;e(pgfv`y)XwXV-e*E!W<E7XvMV`>w!u%LS3N8(GUb_&Uz;j%Pb
z7Gt2Amha3~jKPMpFs!cQBJOU+)jSubK&75s+-!$4#nQ-G^uS}<^C?>!!m=ykx=r3>
zZ0!n*u*Dm{VMtPDK<)SLQyLRlDr=b90#klW?}{T+myD^dPQI7q=j4iKv~%$-?FD0s
zr{b@J30Y;-W{OF8S-C0IeV*XTO8iBvYpCGrDfjm~h30mhriDc@W>u@V21}#8y<*1J
z&UZyM1J)0p5<{^TBA6P1EWT%pY-vUd7Y$ceo<66@b%xWsxZ02{#f-tTbanCxWv-Of
zc#dZMeBDwcLUc~|Q>yzM;YavW$!Rx4Uvhr}Pkg4h98V*2;k4x96NjQ?wp+zm;E6YH
zYR#E--v)NvSKWr*QVi@Q>5HC=rCrjk`zPfa>*g7CD_Bz=Y%01oB{8K^Mv+2M#AZPh
z5nJf$M-n0mrQ~-b+$(H6FD}}d4?73S*(CbeEs6!MyTx0|V~Wa(nfXHL*+lQXdXn5N
z?^)E-?26*jMMHm8@s_yzqOEF2K0p>$-qT))=MYW@+QAoNp5^&)Iw#Yvx(51VuAPzY
zc~0*+r<j;ol>PCII}{g_vw@_imGc+FQ9m81#YR7ACkV|!E7j0SHC3q1S0{8WUxnAW
zvt%dMvKi&HGP-ZkruW76n=t2ZJE>V#qK_v+JGEKNwI@W{s;52Kk(|9%5SNN9X$j5o
z{=H$tvycJ9Fnl(?5&Px4@=Bgds%ICiy&_D#*j@&U_qjLwv)$%%u#EwG2mZAu4Wag2
zWRhA4`q!`vlhlqrm4$KkC~ZD7tyupwueN?HHl)=(Z|z~6rwi%m7wL*^b$RZcb?~r@
ze3hyFnm(|UyG+<x5uama9xf{{>p$&)RqdPbYBl>f!Ao(Bwo+B}teD*jAxJ<_A*>jO
zNf3Trl=x|*_N?jm<4M-MF@s~#118$zaX*0vyeTg258)HZC1Wr$ial1%SrsRdIoM+i
zeT?JXuiyXA7<7cxFz0B6usOKK!*>xo2vi{Q-86{S#%<nF)_!AFZG}_6#6#FS)T1!-
z{7K#<B31aRXHnW=kUlH+9@*t>{2#L0Q<R`}rkM$-)7}0jHyINZpXC38F%f;lQtS~A
zkum*MEJS}N#;qy~1bLxl18UHjrb?T3hT2<Aeidf@u9PUrP6yi6S6m;6!@JA2gS!4_
zm3vCrL%Mz=xfjZkcUu=B75{ckOdy__FIl^CSM1*&vq&Y&uL$;Dp~^r+em^Ur!)4Iv
z*@*}b2Kr6L{lk7wq~G$BBXzF^sTJP|K9dSD{b=P}QC+*d*VRs`>xKbqbDe|t=uXFY
ze5kiG3ySN?wHlqc{?)9i`0Yp)RpVYTZPw3ButJ@-`<S%m+7YGgJ`VjZ<8t1|J^PS;
zYVJWTKZ{R#>{TC2O<`;uGkywIuT%Z7;WoV8bvm9@#`70_-tXhMcU>voPK{-Im$?;U
zyx+Z?+AP>Of4AvY>u9~-bC~xdKd8r<bv(}Oc%MnfNX^(fv$X4(Aj(raCa+<{$GWbR
zxwN0_bR5@y?{%uHYTN9`sh5Mm?hXB5A6l?XJn*%njceMf-ItE5t}7J7WL<7^K4c~~
z<4UI5nLcyxV-CJL9$^M!<%B#2yyPgb<3Y^V=E9ddc2c)_7Sd<mXd&x!;Mvh*<*;|P
z<Uziv@K~A3_{v}xnfjXebG@E$BEDTZMct~xd6ho*BF+~FRXDkWjeF}GoPS*(T#`MR
z3nw7<`_1a@4D3(WtT)MVg{b)khTk)=0GfFfW(>NW<;su&O;ec*<CB@Stms!%e(OC@
zKCg|E+dOjX7U>)KZhFXlL~$d#thz-x%eG`q`-0ChX``I)wZ0ctp6Pw?VdK27imZ&Y
zIpaI5ZMxsk;Jg2Wz6Fam?whF$*Z-Pm<V&E+i#ex*g*KNwP-YBot6O&~-k)ms*_bvo
zkD4i?uvBN0eN|_(vcQ`Y{3^xDH#b;G+dI)q>CyY;0qLzg@82c6r^NM%u6Or&dq=4J
zWNY)bH3tXxWLIlP&Sv(@GLm{k1tT(pj0}!<+3GvUUnZk`-A#k}0Wra~dhPa2;^s#g
zYglY0eqq+kPi}0@F?j6^p`||BVz7JrX1-Ey^6R|(9ksf5EqGJ9PDEThi2@2vySAI`
z7Xc7e-?x9DyYdX)^K0W{>!|YoN#;K^(`rVqYDSkzA2g5n2equL#Jd%^@azN^WFvfq
zx)Yxc>>BR;Nq|fU-zM+BcUJKb|D}I$KQNvM#on-Ms|WWGIw{s?b_{nNsZ05pmJzc<
zcAM{}sx}KYOZOl{WHYLe`xu*j_2r@8W7Eb|dc4i?xsKs{gMt}Q^EIuH=DyNUwbN$E
z2eSe>*vEQpd%`k@zvD>Tn1!L=JhpCo_!{th0D9`p=&Nkzh*I=^)*6N!ISMBTzot$R
z!$PXpuc?QlO?{iMA?^SDxR$M-708ijrfh}Se}#9{e;8upz_>V+%-82y_Y&mYJCMOT
zD^6WU?d|m08k(FVcD`@Oa~VUb9l%Je-~7(>HL#i53@Uw&$iAKNc0YF+YHVRMofSB2
z7S$NrjkFK84SG!aOkijRqv5D$0YC4f9gnGJ8fHS_&A;>Ov-2|#_ii5<duA9G2~Vn*
zRkhQ;tvuI%q(YYUQ;bJWX2P@aeJaDoJ*;*tG8WmX@(kl&airt@Z2y$x(3#4ox$;1H
zepfw3d#k-$znh2N$?mE4v-&lLmOU$Dy;CbKeP=PNGR?0%y=V2?fUU_^XSFl!(9w4Y
z{4#nvOz7%}uKCt&Ej-Ye($@*6G@mtn1vsH^HTXKCk~$;l8F8(aD7hv{z8CC;`9Cc!
zOZ!IDAHM?0=i_&jXQZzkPQ~v+j_6mVW$9T~%W~{J9F{aY`)cH{deJ=@mgtw<VM&3K
zFEC_RI*x=E);jT|`gmKvZt=Z|zSk47hOW;@axJ#4t7T2Uv`SyJHWk)o>9p>TMCm2f
zQ(;wow4Dh{l3xmE^;f@~g<1Uv?s(Fcjd>7gEcQ=D=?UGf<$P7Zye7-Ov!#A!hwPGk
zM%K{OalF`C7O%1)?u=t<zBO1<Jue-ak-S5HwJWB^mbEfyJQ8{dCNQE$_M@J&x_&@y
zoj6A0^j1Om+EI)3l&iGTRga`6B|RHwGpV~dv3Rt^jX%IEU#fmrbx&wnFJl3A=OoEY
z?)Q~PrzEzCy&3(Id{oTyEp11dI=VWdcE&%g`<7~3fo<_i)P{7=NM>2q_@<TBf>p_s
z@27=0EJvSvK;EElz9eB@+>zw0TGpk5-(XMc8jtP>foYr4N<0vKiPfIf$a&TLvfR-e
zk={_-n#RFKC#+vC*IhOz)ju)T3#&rC9>4zKyQT}FquH$Hz5KB5(D+<~(UOzRUO24Y
z7SduwcTxXQNvt+{iEh?!Uh?a*d0z46Xuck%#lS|G*7*3FY_uvwx|b&PA;TAy=hd<y
z8+#IcGm=@JGnSYBrkumsII?VA_f}?>Pu;}|vdWWHyXJE^96i*Ib*pTTQRsk2rEx{2
zaqWyuwN4FTymL%f$J8<&9*R9KvH9LcR_#%KVqCFMC0A*TH?sed_O#8~L-xBN?O$$c
p8!P4X&1R`{tMSOx^`;ow>i=pyk5+WrDK%QlSL3_Ye)E5`@ZbHc*t`G$

literal 0
HcmV?d00001

diff --git a/docs/latex/wx/busyinfo.tex b/docs/latex/wx/busyinfo.tex
new file mode 100644
index 0000000000..b4202dad12
--- /dev/null
+++ b/docs/latex/wx/busyinfo.tex
@@ -0,0 +1,35 @@
+\section{\class{wxBusyInfo}}\label{wxbusyinfo}
+
+This class makes it easy to tell your user that the program is temporarily busy.
+Just create a wxBusyInfo object on the stack, and within the current scope,
+a message window will be shown.
+
+For example:
+
+\begin{verbatim}
+  wxBusyInfo wait("Please wait, working...");
+
+  for (int i = 0; i < 100000; i++)
+    DoACalculation();
+\end{verbatim}
+
+It works by creating a window in the constructor,
+and deleting it in the destructor.
+
+\wxheading{Derived from}
+
+None
+
+\wxheading{Include files}
+
+<wx/busyinfo.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxBusyInfo::wxBusyInfo}
+
+\func{}{wxBusyInfo}{\param{const wxString\&}{ msg}}
+
+Constructs a busy info object, displays {\it msg} .
+
+
diff --git a/docs/latex/wx/cont.bmp b/docs/latex/wx/cont.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..15a651b173ccc8d01a3fb0fab64ec7b912f3b8de
GIT binary patch
literal 61582
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
X=-*dfyRuYrr9E@}_tJGG{@ni$qFGFL

literal 0
HcmV?d00001

diff --git a/docs/latex/wx/contbox.bmp b/docs/latex/wx/contbox.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..aea56d5add3dffc67caef664a3dc005df40438c0
GIT binary patch
literal 47478
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

literal 0
HcmV?d00001

diff --git a/docs/latex/wx/descent.bmp b/docs/latex/wx/descent.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..61e41f98c258335595906e3052288f1f3883bf9c
GIT binary patch
literal 7272
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

literal 0
HcmV?d00001

diff --git a/docs/latex/wx/filesys.tex b/docs/latex/wx/filesys.tex
new file mode 100644
index 0000000000..0e7ec2db5e
--- /dev/null
+++ b/docs/latex/wx/filesys.tex
@@ -0,0 +1,101 @@
+%
+% automatically generated by HelpGen from
+% filesystem.tex at 21/Mar/99 23:00:52
+%
+
+
+\section{\class{wxFileSystem}}\label{wxfilesystem}
+
+This class provides interface for opening files on different
+file systems. It can handle absolute and/or local filenames.
+It uses system of \helpref{handlers}{wxfilesystemhandler} to
+provide access to user-defined virtual file systems.
+
+\wxheading{Derived from}
+
+wxObject
+
+\wxheading{See Also}
+
+\helpref{wxFileSystemHandler}{wxfilesystemhandler},
+\helpref{wxFSFile}{wxfsfile},
+\helpref{Overview}{fs}
+
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxFileSystem::wxFileSystem}\label{wxfilesystemwxfilesystem}
+
+\func{}{wxFileSystem}{\void}
+
+Constructor. 
+
+\membersection{wxFileSystem::ChangePathTo}\label{wxfilesystemchangepathto}
+
+\func{void}{ChangePathTo}{\param{const wxString\& }{location}, \param{bool }{is\_dir = FALSE}}
+
+Sets the current location. {\it location} parameter passed to 
+\helpref{OpenFile}{wxfilesystemopenfile} is relative to this path.
+
+{\bf Caution! } Unless {\it is\_dir} is TRUE the {\it location} parameter
+is not directory name but the name of the file in this directory!! All these
+commands change path to "dir/subdir/" :
+
+\begin{verbatim}
+ChangePathTo("dir/subdir/xh.htm");
+ChangePathTo("dir/subdir", TRUE);
+ChangePathTo("dir/subdir/", TRUE);
+\end{verbatim}
+
+\wxheading{Parameters}
+
+\docparam{location}{the new location. Its meaning depends on value of {\it is\_dir}}
+
+\docparam{is\_dir}{if TRUE {\it location} is new directory. If FALSE (default)
+{\it location} is {\bf file in} the new directory.}
+
+\wxheading{Example}
+
+\begin{verbatim}
+f = fs -> OpenFile("hello.htm"); // opens file 'hello.htm'
+fs -> ChangePathTo("subdir/folder", TRUE);
+f = fs -> OpenFile("hello.htm"); // opens file 'subdir/folder/hello.htm' !!
+\end{verbatim}
+
+
+\membersection{wxFileSystem::GetPath}\label{wxfilesystemgetpath}
+
+\func{wxString}{GetPath}{\void}
+
+Returns actual path (set by \helpref{ChangePathTo}{wxfilesystemchangepathto}).
+
+
+\membersection{wxFileSystem::OpenFile}\label{wxfilesystemopenfile}
+
+\func{wxFSFile*}{OpenFile}{\param{const wxString\& }{location}}
+
+Opens file and returns pointer to \helpref{wxFSFile}{wxfsfile} object
+or NULL if failed. It first tries to open the file in relative scope
+(based on value passed to ChangePathTo() method) and then as an
+absolute path.
+
+
+\membersection{wxFileSystem::AddHandler}\label{wxfilesystemaddhandler}
+
+\func{static void}{AddHandler}{\param{wxFileSystemHandler }{*handler}}
+
+This static function adds new handler into the list of handlers.
+The \helpref{handlers}{wxfilesystemhandler} provide access to virtual FS.
+
+\wxheading{Note}
+
+You can call
+
+\begin{verbatim}
+wxFileSystem::AddHandler(new My_FS_Handler);
+\end{verbatim}
+
+This is because a) AddHandler is static method and b) the handlers
+are deleted in wxFileSystem's destructor so that you don't have to
+care about it.
diff --git a/docs/latex/wx/filesysh.tex b/docs/latex/wx/filesysh.tex
new file mode 100644
index 0000000000..04159d5e94
--- /dev/null
+++ b/docs/latex/wx/filesysh.tex
@@ -0,0 +1,128 @@
+%
+% automatically generated by HelpGen from
+% filesystemhandler.tex at 21/Mar/99 23:00:52
+%
+
+
+\section{\class{wxFileSystemHandler}}\label{wxfilesystemhandler}
+
+wxFileSystemHandler (or derived classes to be exact) is used
+to access virtual file systems. It's public interface consists
+from two methods: \helpref{CanOpen}{wxfilesystemhandlercanopen}
+and \helpref{OpenFile}{wxfilesystemhandleropenfile}. 
+It provides additional protected methods to simplify process
+of opening the file : GetProtocol, GetLeftLocation, GetRightLocation,
+GetAnchor, GetMimeTypeFromExt.
+
+Please have a look at \helpref{overview}{fs} if you don't know how locations
+are constructed.
+
+
+\wxheading{Notes}
+
+\begin{itemize}
+\item The handlers are shared by all instances of wxFileSystem.
+
+\item wxHTML library provides handlers for local files and HTTP or FTP protocol
+
+\item The {\it location} parameter passed to OpenFile or CanOpen methods
+is always {\bf absolute} path. You don't need to check the FS's current path!
+\end{itemize}
+
+\wxheading{Derived from}
+
+wxObject
+
+\wxheading{See also}
+
+\helpref{wxFileSystem}{wxfilesystem},
+\helpref{wxFSFile}{wxfsfile},
+\helpref{Overview}{fs}
+
+
+\membersection{wxFileSystemHandler::wxFileSystemHandler}\label{wxfilesystemhandlerwxfilesystemhandler}
+
+\func{}{wxFileSystemHandler}{\void}
+
+Constructor.
+
+\membersection{wxFileSystemHandler::CanOpen}\label{wxfilesystemhandlercanopen}
+
+\func{virtual bool}{CanOpen}{\param{const wxString\& }{location}}
+
+Returns TRUE if the handler is able to open this file (this function doesn't
+check whether the file exists or not, it only checks if it knows the protocol).
+Example:
+
+\begin{verbatim}
+bool MyHand::CanOpen(const wxString& location) 
+{
+    return (GetProtocol(location) == "http");
+}
+\end{verbatim}
+
+Must be overwriten in derived handlers.
+
+\membersection{wxFileSystemHandler::OpenFile}\label{wxfilesystemhandleropenfile}
+
+\func{virtual wxFSFile*}{OpenFile}{\param{wxFileSystem\& }{fs}, \param{const wxString\& }{location}}
+
+Opens the file and returns wxFSFile pointer or NULL if failed.
+
+Must be overwriten in derived handlers.
+
+\wxheading{Parameters}
+
+\docparam{fs}{Parent FS (the FS from that OpenFile was called). See ZIP handler
+for details how to use it.}
+
+\docparam{location}{The {\bf absolute} location of file.}
+
+
+
+\membersection{wxFileSystemHandler::GetProtocol}\label{wxfilesystemhandlergetprotocol}
+
+\constfunc{wxString}{GetProtocol}{\param{const wxString\& }{location}}
+
+Returns protocol string extracted from {\it location}. 
+
+Example : GetProtocol("file:myzipfile.zip\#zip:index.htm") == "zip"
+
+\membersection{wxFileSystemHandler::GetLeftLocation}\label{wxfilesystemhandlergetleftlocation}
+
+\constfunc{wxString}{GetLeftLocation}{\param{const wxString\& }{location}}
+
+Returns left location string extracted from {\it location}. 
+
+Example : GetLeftLocation("file:myzipfile.zip\#zip:index.htm") == "file:myzipfile.zip"
+
+
+\membersection{wxFileSystemHandler::GetAnchor}\label{wxfilesystemhandlergetanchor}
+
+\constfunc{wxString}{GetAnchor}{\param{const wxString\& }{location}}
+
+Returns anchor if present in the location.
+See \helpref{wxFSFile}{wxfsfilegetanchor} for details.
+
+Example : GetAnchor("index.htm\#chapter2") == "chapter2"
+
+{\bf Note:} anchor is NOT part of left location.
+
+\membersection{wxFileSystemHandler::GetRightLocation}\label{wxfilesystemhandlergetrightlocation}
+
+\constfunc{wxString}{GetRightLocation}{\param{const wxString\& }{location}}
+
+Returns right location string extracted from {\it location}. 
+
+Example : GetRightLocation("file:myzipfile.zip\#zip:index.htm") == "index.htm"
+
+
+\membersection{wxFileSystemHandler::GetMimeTypeFromExt}\label{wxfilesystemhandlergetmimetypefromext}
+
+\func{wxString}{GetMimeTypeFromExt}{\param{const wxString\& }{location}}
+
+Returns MIME type based on {\bf extension} of {\it location}. (While wxFSFile::GetMimeType
+returns real MIME type - either extension-based or queried from HTTP)
+
+Example : GetMimeTypeFromExt("index.htm") == "text/html"
+
diff --git a/docs/latex/wx/fs.tex b/docs/latex/wx/fs.tex
new file mode 100644
index 0000000000..a183aa63a4
--- /dev/null
+++ b/docs/latex/wx/fs.tex
@@ -0,0 +1,75 @@
+\section{File Systems}\label{fs}
+
+The wxHTML library uses {\bf virtual file systems} mechanism
+similar to the one used in Midnight Commander or Dos Navigator or
+FAR or almost any modern file manager. (Do you remember? You can
+press enter on ZIP file and it's content is displayed like it's
+a directory...)
+
+\wxheading{Classes}
+
+Three classes are used in order to provide full VFS:
+
+\begin{itemize}
+\item \helpref{wxFSFile}{wxfsfile} class provides information
+on opened file (name, input stream, mime type and anchor).
+
+\item \helpref{wxFileSystem}{wxfilesystem} class is interface.
+It's main methods are ChangePathTo() and OpenFile(). This class
+is most often used by the end user.
+
+\item \helpref{wxFileSystemHandler}{wxfilesystemhandler} is the core
+if VFS mechanism. You can derive your own handler and pass it to
+wxFileSystem's AddHandler() method. In the new handler you only need to
+overwrite OpenFile() and CanOpen() methods.
+\end{itemize}
+
+\wxheading{Locations}
+
+Locations (aka filenames aka addresses) are constructed from 4 parts:
+
+\begin{itemize}
+\item {\bf protocol} - handler can regonize if it is able to open some
+file by checking it's protocol. Examples are "http", "file" or "ftp"
+
+\item {\bf right location} - is the name of file within the protocol.
+In "http://www.wxwindows.org/index.html" the right location is "//www.wxwindows.org/index.html"
+
+\item {\bf anchor} - anchor is optional and is usually not present.
+In "index.htm\#chapter2" the anchor is "chapter2"
+
+\item {\bf left location} - this is usually empty string. 
+It is used by 'local' protocols such as ZIP.
+See Combined Protocols paragraph for details.
+\end{itemize}
+
+\wxheading{Combined Protocols}
+
+Left location pretends protocol in URL string. 
+It's not used by global protocols like HTTP but it's used
+by local ones - for example you can see this address:
+
+file:archives/cpp\_doc.zip\#zip:reference/fopen.htm\#syntax
+
+In this example, protocol is "zip", left location is
+"reference/fopen.htm", anchor is "syntax" and right location
+is "file:archives/cpp_doc.zip". It is used by zip handler
+to determine in what file this particular zip VFS is stored.
+
+In fact there are two protocols used in this example : zip and file.
+You can construct even more complicated addresses like this one:
+
+http://www.archives.org/myarchive.zip\#zip:local/docs/cpp/stdio.zip\#zip:index.htm
+
+In this example you access zip VFS stdio.zip stored in another zip (myarchive.zip)
+which is at WWW. Enjoy it :-)
+
+\wxheading{File Systems Included in wxHTML}
+
+\begin{enumerate}
+\item Local files
+\item HTTP protocol
+\item FTP protocol
+\item .ZIP archives
+\end{enumerate}
+
diff --git a/docs/latex/wx/hello.bmp b/docs/latex/wx/hello.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..3a5e983dad792aa6c5cf2ed6fd9a9f2b05c86527
GIT binary patch
literal 7800
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
E0Q}{9Bme*a

literal 0
HcmV?d00001

diff --git a/docs/latex/wx/htcell.tex b/docs/latex/wx/htcell.tex
new file mode 100644
index 0000000000..a6e2620b3d
--- /dev/null
+++ b/docs/latex/wx/htcell.tex
@@ -0,0 +1,240 @@
+%
+% automatically generated by HelpGen from
+% htmlcell.tex at 21/Mar/99 22:45:23
+%
+
+
+\section{\class{wxHtmlCell}}\label{wxhtmlcell}
+
+Internal data structure. It represents fragments of parsed HTML
+page, so-called {\bf cell} - a word, picture, table, horizontal line and so on.
+It is used by \helpref{wxHtmlWindow}{wxhtmlwindow} and
+\helpref{wxHtmlWinParser}{wxhtmlwinparser} to represent HTML page in memory.
+
+You can divide cells into two groups : {\it visible} cells with non-zero width and
+height and {\it helper} cells (usually with zero width and height) that
+perform special actions such as color or font change.
+
+
+\wxheading{Derived from}
+
+wxObject
+
+\wxheading{See Also}
+
+\helpref{Cells Overview}{cells},
+\helpref{wxHtmlContainerCell}{wxhtmlcontainercell},
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxHtmlCell::wxHtmlCell}\label{wxhtmlcellwxhtmlcell}
+
+\func{}{wxHtmlCell}{\void}
+
+Constructor.
+
+
+\membersection{wxHtmlCell::SetParent}\label{wxhtmlcellsetparent}
+
+\func{void}{SetParent}{\param{wxHtmlContainerCell }{*p}}
+
+Sets parent container of this cell. This is called from 
+\helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}.
+
+\membersection{wxHtmlCell::GetParent}\label{wxhtmlcellgetparent}
+
+\constfunc{wxHtmlContainerCell*}{GetParent}{\void}
+
+Returns pointer to parent container.
+
+\membersection{wxHtmlCell::GetPosX}\label{wxhtmlcellgetposx}
+
+\constfunc{int}{GetPosX}{\void}
+
+Returns X position within parent (the value is relative to parent's
+upper left corner). The returned value is meaningful only if 
+parent's \helpref{Layout}{wxhtmlcelllayout} was called before!
+
+\membersection{wxHtmlCell::GetPosY}\label{wxhtmlcellgetposy}
+
+\constfunc{int}{GetPosY}{\void}
+
+Returns Y position within parent (the value is relative to parent's
+upper left corner). The returned value is meaningful only if 
+parent's \helpref{Layout}{wxhtmlcelllayout} was called before!
+
+\membersection{wxHtmlCell::GetWidth}\label{wxhtmlcellgetwidth}
+
+\constfunc{int}{GetWidth}{\void}
+
+Returns width of the cell (m_Width member).
+
+\membersection{wxHtmlCell::GetHeight}\label{wxhtmlcellgetheight}
+
+\constfunc{int}{GetHeight}{\void}
+
+Returns height of the cell (m_Height member).
+
+\membersection{wxHtmlCell::GetDescent}\label{wxhtmlcellgetdescent}
+
+\constfunc{int}{GetDescent}{\void}
+
+Returns descent value of the cell (m_Descent member). See explanation:
+
+\image{}{descent.bmp}
+
+\membersection{wxHtmlCell::GetLink}\label{wxhtmlcellgetlink}
+
+\constfunc{virtual wxString}{GetLink}{\param{int }{x = 0}, \param{int }{y = 0}}
+
+Returns hypertext link if associated with this cell or empty string otherwise.
+(Note : this makes sense only for visible tags). 
+
+\wxheading{Parameters}
+
+\docparam{x,y}{Coordinates of position where the user pressed mouse button.
+These coordinates are used e.g. by COLORMAP. Values are relative to the
+upper left corner of THIS cell (i.e. from 0 to m_Width or m_Height)}
+
+\membersection{wxHtmlCell::GetNext}\label{wxhtmlcellgetnext}
+
+\constfunc{wxHtmlCell*}{GetNext}{\void}
+
+Returns pointer to the next cell in list (see htmlcell.h if you're
+interested in details).
+
+\membersection{wxHtmlCell::SetPos}\label{wxhtmlcellsetpos}
+
+\func{void}{SetPos}{\param{int }{x}, \param{int }{y}}
+
+Sets cell's position within parent container.
+
+
+\membersection{wxHtmlCell::SetLink}\label{wxhtmlcellsetlink}
+
+\func{void}{SetLink}{\param{const wxString\& }{link}}
+
+Sets the hypertext link asocciated with this cell. (Default value
+is wxEmptyString (no link))
+
+\membersection{wxHtmlCell::SetNext}\label{wxhtmlcellsetnext}
+
+\func{void}{SetNext}{\param{wxHtmlCell }{*cell}}
+
+Sets the next cell in the list. This shouldn't be called by user - it is 
+to be used only by \helpref{wxHtmlContainerCell::InsertCell}{wxhtmlcontainercellinsertcell}
+
+\membersection{wxHtmlCell::Layout}\label{wxhtmlcelllayout}
+
+\func{virtual void}{Layout}{\param{int }{w}}
+
+This method performs 2 actions:
+
+\begin{enumerate}
+\item adjusts cell's width according to the fact that maximal possible width is {\it w}.
+(this has sense when working with horizontal lines, tables etc.)
+\item prepares layout (=fill-in m\_PosX, m\_PosY (and sometimes m\_Height) members)
+based on actual width {\it w}
+\end{enumerate}
+
+It must be called before displaying cells structure because 
+m\_PosX and m\_PosY are undefined (or invalid) 
+before calling Layout. 
+
+\membersection{wxHtmlCell::Draw}\label{wxhtmlcelldraw}
+
+\func{virtual void}{Draw}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}, \param{int }{view\_y1}, \param{int }{view\_y2}}
+
+Renders the cell.
+
+\wxheading{Parameters}
+
+\docparam{dc}{Device context to which the cell is to be drawn}
+
+\docparam{x,y}{Coordinates of parent's upper left corner (origin). You must
+add this to m\_PosX,m\_PosY when passing coordinates to dc's methods
+Example : {\tt dc -> DrawText("hello", x + m\_PosX, y + m\_PosY)}}
+
+\docparam{view_y1}{y-coord of the first line visible in window. This is
+used to optimize rendering speed}
+
+\docparam{view_y2}{y-coord of the last line visible in window. This is
+used to optimize rendering speed}
+
+\membersection{wxHtmlCell::DrawInvisible}\label{wxhtmlcelldrawinvisible}
+
+\func{virtual void}{DrawInvisible}{\param{wxDC\& }{dc}, \param{int }{x}, \param{int }{y}}
+
+This method is called instead of \helpref{Draw{wxhtmlcelldraw} when the
+cell is certainly out of the screen (and thus invisible). This is not
+nonsense - some tags (like \helpref{wxHtmlColourCell}{wxhtmlcolourcell} 
+or font setter) must be drawn even if they are invisible!
+
+\wxheading{Parameters}
+
+\docparam{dc}{Device context to which the cell is to be drawn}
+
+\docparam{x,y}{Coordinates of parent's upper left corner. You must
+add this to m\_PosX,m\_PosY when passing coordinates to dc's methods
+Example : {\tt dc -> DrawText("hello", x + m\_PosX, y + m\_PosY)} }
+
+
+\membersection{wxHtmlCell::Find}\label{wxhtmlcellfind}
+
+\func{virtual const wxHtmlCell*}{Find}{\param{int }{condition}, \param{const void* }{param}}
+
+Returns pointer to itself if this cell matches condition (or if any of the cells
+following in the list matches), NULL otherwise.
+(In other words if you call top-level container's Find it will 
+return pointer to the first cell that matches the condition)
+
+It is recommended way how to obtain pointer to particular cell or
+to cell of some type (e.g. wxHtmlAnchorCell reacts on 
+HTML_COND_ISANCHOR condition)
+
+\wxheading{Parameters}
+
+\docparam{condition}{Unique integer identifier of condition}
+
+\docparam{param}{Optional parameters}
+
+\wxheading{Defined conditions}
+
+\begin{twocollist}
+\twocolitem{{\bf HTML_COND_ISANCHOR}}{Finds particular anchor.
+{\it param} is pointer to wxString with name of the anchor.}
+\twocolitem{{\bf HTML_COND_USER}}{User-defined conditions start
+from this number}
+\end{twocollist}
+
+
+
+\membersection{wxHtmlCell::OnMouseClick}\label{wxhtmlcellonmouseclick}
+
+
+\func{virtual void}{OnMouseClick}{\param{wxWindow* }{parent}, \param{int }{x}, \param{int }{y}, \param{bool }{left}, \param{bool }{middle}, \param{bool }{right}}
+
+This function is simple event handler. Each time user clicks mouse button over a cell
+within \helpref{wxHtmlWindow}{wxhtmlwindow} this method of that cell is called. Default behavior is
+that it calls \helpref{wxHtmlWindow::LoadPage}{wxhtmlwindowloadpage}.
+
+\wxheading{Note}
+
+If you need more "advanced" behaviour (for example you'd like to catch mouse movement events or
+key events or whatsooever) you should use \helpref{wxHtmlBinderCell}{wxhtmlbindercell} instead.
+
+\wxheading{Parameters}
+
+\docparam{parent}{parent window (always wxHtmlWindow!!)}
+
+\docparam{x, y}{coordinates of mouse click (this is relative to cell's origin}
+
+\docparam{left, middle, right}{boolean flags for mouse buttons. TRUE if the left/middle/right
+button is pressed, FALSE otherwise}
+
+
+
+
+
+
diff --git a/docs/latex/wx/htcolor.tex b/docs/latex/wx/htcolor.tex
new file mode 100644
index 0000000000..2bf15d69e4
--- /dev/null
+++ b/docs/latex/wx/htcolor.tex
@@ -0,0 +1,38 @@
+%
+% automatically generated by HelpGen from
+% htmlcolourcell.tex at 14/Mar/99 20:13:37
+%
+
+
+\section{\class{wxHtmlColourCell}}\label{wxhtmlcolourcell}
+
+This cell changes color of either background or foreground. 
+
+\wxheading{Derived from}
+
+\helpref{wxHtmlCell}{wxhtmlcell}
+
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxHtmlColourCell::wxHtmlColourCell}\label{wxhtmlcolourcellwxhtmlcolourcell}
+
+\func{}{wxHtmlColourCell}{\param{wxColour }{clr}, \param{int }{flags = HTML\_CLR\_FOREGROUND}}
+
+Constructor.
+
+\wxheading{Parameters}
+
+\docparam{clr}{The color}
+
+\docparam{flags}{Can be one of following:
+
+\begin{twocollist}
+\twocolitem{{\bf HTML\_CLR\_FOREGROUND}}{change color of text}
+\twocolitem{{\bf HTML\_CLR\_BACKGROUND}}{change background color}
+
+\end{twocollist}
+
+}
+
diff --git a/docs/latex/wx/htcontnr.tex b/docs/latex/wx/htcontnr.tex
new file mode 100644
index 0000000000..907bd8c158
--- /dev/null
+++ b/docs/latex/wx/htcontnr.tex
@@ -0,0 +1,250 @@
+%
+% automatically generated by HelpGen from
+% htmlcontainercell.tex at 21/Mar/99 22:45:23
+%
+
+
+\section{\class{wxHtmlContainerCell}}\label{wxhtmlcontainercell}
+
+wxHtmlContainerCell class an implementation of cell that may
+contain more cells in it. It is heavily used in layouting algorithm.
+
+
+\wxheading{Derived from}
+
+\helpref{wxHtmlCell}{wxhtmlcell}
+
+\wxheading{See Also}
+
+\helpref{Cells Overview}{cells}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxHtmlContainerCell::wxHtmlContainerCell}\label{wxhtmlcontainercellwxhtmlcontainercell}
+
+\func{}{wxHtmlContainerCell}{\param{wxHtmlContainerCell }{*parent}}
+
+Constructor. {\it parent} is pointer to parent container or NULL.
+
+
+\membersection{wxHtmlContainerCell::InsertCell}\label{wxhtmlcontainercellinsertcell}
+
+\func{void}{InsertCell}{\param{wxHtmlCell }{*cell}}
+
+Inserts new cell into the container.
+
+\membersection{wxHtmlContainerCell::SetAlignHor}\label{wxhtmlcontainercellsetalignhor}
+
+\func{void}{SetAlignHor}{\param{int }{al}}
+
+Sets container's {\it horizontal alignment}. During \helpref{Layout}{wxhtmlcelllayout}
+each line is aligned according to {\it al} value.
+
+\wxheading{Parameters}
+
+\docparam{al}{new horizontal alignment. May be one of these values:
+
+\begin{twocollist}
+\twocolitem{{\bf HTML\_ALIGN\_LEFT}}{lines are left-aligned (default)}
+\twocolitem{{\bf HTML\_ALIGN\_CENTER\_H}}{lines are centered}
+\twocolitem{{\bf HTML\_ALIGN\_RIGHT}}{lines are right-aligned}
+\end{twocollist}
+}
+
+
+\membersection{wxHtmlContainerCell::GetAlignHor}\label{wxhtmlcontainercellgetalignhor}
+
+\constfunc{int}{GetAlignHor}{\void}
+
+Returns container's horizontal alignment.
+
+\membersection{wxHtmlContainerCell::SetAlignVer}\label{wxhtmlcontainercellsetalignver}
+
+\func{void}{SetAlignVer}{\param{int }{al}}
+
+Sets container's {\it vertical alignment}. This is per-line alignment!
+
+\wxheading{Parameters}
+
+\docparam{al}{new vertical alignment. May be one of these values:
+
+\begin{twocollist}
+\twocolitem{{\bf HTML\_ALIGN\_BOTTOM}}{cells are over the line (default)}
+\twocolitem{{\bf HTML\_ALIGN\_CENTER\_V}}{cells are centered on line}
+\twocolitem{{\bf HTML\_ALIGN\_TOP}}{cells are under the line}
+\end{twocollist}
+
+\image{}{alignv.bmp}
+}
+
+\membersection{wxHtmlContainerCell::GetAlignVer}\label{wxhtmlcontainercellgetalignver}
+
+\constfunc{int}{GetAlignVer}{\void}
+
+Returns container's vertical alignment.
+
+
+\membersection{wxHtmlContainerCell::SetIndent}\label{wxhtmlcontainercellsetindent}
+
+\func{void}{SetIndent}{\param{int }{i}, \param{int }{what}, \param{int }{units = HTML\_UNITS\_PIXELS}}
+
+Sets indentation (free space between borders of container and subcells).
+
+\wxheading{Parameters}
+
+\docparam{i}{Indentation value.}
+
+\docparam{what}{Determines which of the 4 borders we're setting. It is OR
+combination of following constants:
+
+\begin{twocollist}
+\twocolitem{{\bf HTML\_INDENT\_TOP}}{top border}
+\twocolitem{{\bf HTML\_INDENT\_BOTTOM}}{bottom}
+\twocolitem{{\bf HTML\_INDENT\_LEFT}}{left}
+\twocolitem{{\bf HTML\_INDENT\_RIGHT}}{right}
+\twocolitem{{\bf HTML\_INDENT\_HORIZONTAL}}{left and right}
+\twocolitem{{\bf HTML\_INDENT\_VERTICAL}}{top and bottom}
+\twocolitem{{\bf HTML\_INDENT\_ALL}}{all 4 borders}
+\end{twocollist}
+
+\image{}{indent.bmp}
+}
+
+\docparam{units}{Units of {\it i}. This parameter affects interpretation of {\it} value.
+
+\begin{twocollist}
+\twocolitem{{\bf HTML\_UNITS\_PIXELS}}{{\it i} is number of pixels}
+\twocolitem{{\bf HTML\_UNITS\_PERCENT}}{{\it i} is interpreted as percents of width
+of parent container}
+\end{twocollist}
+}
+
+\membersection{wxHtmlContainerCell::GetIndent}\label{wxhtmlcontainercellgetindent}
+
+\constfunc{int}{GetIndent}{\param{int }{ind}}
+
+Returns the indentation. {\it ind} is one of the {\bf HTML\_INDENT\_*} constants.
+
+{\bf Note:} You must call \helpref{GetIndentUnits}{wxhtmlcontainercellgetindentunits}
+with same {\it ind} parameter in order to correctly interpret the returned integer value.
+It is NOT always in pixels!
+
+\membersection{wxHtmlContainerCell::GetIndentUnits}\label{wxhtmlcontainercellgetindentunits}
+
+\constfunc{int}{GetIndentUnits}{\param{int }{ind}}
+
+Returns units of intentation value for {\it ind} where {\it ind} is one
+of the {\bf HTML\_INDENT\_*} constants.
+
+
+\membersection{wxHtmlContainerCell::SetAlign}\label{wxhtmlcontainercellsetalign}
+
+\func{void}{SetAlign}{\param{const wxHtmlTag\& }{tag}}
+
+Sets container's alignment (both horizontal and vertical) according to
+the values stored in {\it tag}. (Tags {\tt ALIGN} parameter is extracted.) In fact
+it is only a front-end to \helpref{SetAlignHor}{wxhtmlcontainercellsetalignhor}
+and \helpref{SetAlignVer}{wxhtmlcontainercellsetalignver}.
+
+
+\membersection{wxHtmlContainerCell::SetWidthFloat}\label{wxhtmlcontainercellsetwidthfloat}
+
+\func{void}{SetWidthFloat}{\param{int }{w}, \param{int }{units}}
+
+\func{void}{SetWidthFloat}{\param{const wxHtmlTag\& }{tag}}
+
+Sets floating width adjustment. 
+
+Normal behaviour of container is that it's width is same as width of 
+parent container (and thus you can have only one sub-container per line).
+You can change this by setting FWA.
+
+\wxheading{Parameters}
+
+\docparam{w}{Width of the container. If the value is negative it means
+complement to full width of parent container (e.g. 
+{\tt SetWidthFloat(-50, HTML\_UNITS\_PIXELS)} sets the width
+of container to parent's width minus 50 pixels. This is useful when
+creating tables - you can call SetWidthFloat(50) and SetWidthFloat(-50))}
+
+\docparam{units}{Units of {\it w} This parameter affects interpretation of {\it} value.
+
+\begin{twocollist}
+\twocolitem{{\bf HTML\_UNITS\_PIXELS}}{{\it w} is number of pixels}
+\twocolitem{{\bf HTML\_UNITS\_PERCENT}}{{\it w} is interpreted as percents of width
+of parent container}
+\end{twocollist}
+}
+
+\docparam{tag}{In the second version of method, {\it w} and {\it units}
+info is extracted from tag's {\tt WIDTH} parameter.}
+
+
+\membersection{wxHtmlContainerCell::SetMinHeight}\label{wxhtmlcontainercellsetminheight}
+
+\func{void}{SetMinHeight}{\param{int }{h}, \param{int }{align = HTML_ALIGN_TOP}}
+
+Sets minimal height of the container. 
+
+(When container's \helpref{Layout}{wxhtmlcelllayout} is called, m_Height
+is set depending on layout of subcells to the height of area covered
+by layouted subcells. Call to this method guarantees you that the height
+of container is never smaller than {\it h} - even if the subcells cover
+much smaller area.)
+
+\wxheading{Parameters}
+
+\docparam{h}{The minimal height.}
+
+\docparam{align}{If height of the container is lower than min. height, empty space must be inserted
+somewhere in order to ensure minimal height. This parameter is one of {\bf HTML_ALIGN_TOP,
+HTML_ALIGN_BOTTOM, HTML_ALIGN_CENTER} constants. It refers to the {\it contents}, not to the
+empty place!}
+
+\membersection{wxHtmlContainerCell::GetMaxLineWidth}\label{wxhtmlcontainercellgetmaxlinewidth}
+
+\constfunc{int}{GetMaxLineWidth}{\void}
+
+Returns width of widest line (note : this may be more than GetWidth()!!
+E.g. if you have 640x480 image and the wxHtmlWindow is only 100x100...)
+
+Call to this method is valid only after calling \helpref{Layout}{wxhtmlcelllayout}
+
+
+\membersection{wxHtmlContainerCell::SetBackgroundColour}\label{wxhtmlcontainercellsetbackgroundcolour}
+
+\func{void}{SetBackgroundColour}{\param{const wxColour\& }{clr}}
+
+Sets background color for this container.
+
+
+
+\membersection{wxHtmlContainerCell::SetBorder}\label{wxhtmlcontainercellsetborder}
+
+\func{void}{SetBorder}{\param{const wxColour\& }{clr1}, \param{const wxColour\& }{clr2}}
+
+Sets border (frame) colours. Border is rectangle around the container.
+
+\wxheading{Parameters}
+
+\docparam{clr1}{Color of top and left lines}
+
+\docparam{clr2}{Color of bottom and right lines}
+
+
+
+\membersection{wxHtmlContainerCell::GetFirstCell}\label{wxhtmlcontainercellgetfirstcell}
+
+\func{wxHtmlCell*}{GetFirstCell}{\void}
+
+Returns pointer to the first cell in the list.
+You can then use wxHtmlCell's GetNext method to obtain pointer to the next
+cell in list.
+
+{\bf Note} : This shouldn't be used by end user. If you need some way of
+finding particular cell in the list, try \helpref{Find}{wxhtmlcellfind} method
+instead.
+
+
+
diff --git a/docs/latex/wx/htfilter.tex b/docs/latex/wx/htfilter.tex
new file mode 100644
index 0000000000..a07f36b53c
--- /dev/null
+++ b/docs/latex/wx/htfilter.tex
@@ -0,0 +1,59 @@
+%
+% automatically generated by HelpGen from
+% htmlfilter.tex at 29/Mar/99 18:35:09
+%
+
+
+\section{\class{wxHtmlFilter}}\label{wxhtmlfilter}
+
+This class is input filter for \helpref{wxHtmlWindow}{wxhtmlwindow}.
+It allows you to read and display files of different file formats.
+
+\wxheading{Derived from}
+
+wxObject
+
+\wxheading{See Also}
+
+\helpref{Overview}{filters}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxHtmlFilter::wxHtmlFilter}\label{wxhtmlfilterwxhtmlfilter}
+
+\func{}{wxHtmlFilter}{\void}
+
+Constructor.
+
+\membersection{wxHtmlFilter::CanRead}\label{wxhtmlfiltercanread}
+
+\func{bool}{CanRead}{\param{const wxFSFile\& }{file}}
+
+Returns TRUE if this filter is capable of reading file {\it file}. 
+
+Example:
+
+\begin{verbatim}
+bool MyFilter::CanRead(const wxFSFile& file)
+{
+    return (file.GetMimeType() == "application/x-ugh");
+}
+\end{verbatim}
+
+\membersection{wxHtmlFilter::ReadFile}\label{wxhtmlfilterreadfile}
+
+\func{wxString}{ReadFile}{\param{const wxFSFile\& }{file}
+
+Reads the file and returns string with HTML document.
+
+Example:
+
+\begin{verbatim}
+wxString MyImgFilter::ReadFile(const wxFSFile& file)
+{
+    return "<html><body><img src=\"" + 
+           file.GetLocation() + 
+	   "\"></body></html>";
+}
+\end{verbatim}
diff --git a/docs/latex/wx/hthelpct.tex b/docs/latex/wx/hthelpct.tex
new file mode 100644
index 0000000000..9f01de6a8e
--- /dev/null
+++ b/docs/latex/wx/hthelpct.tex
@@ -0,0 +1,158 @@
+%
+% automatically generated by HelpGen from
+% htmlhelp.h at 02/May/99 19:58:53
+%
+
+
+\section{\class{wxHtmlHelpController}}\label{wxhtmlhelpcontroller}
+
+{\bf WARNING! This help controller has API incompatible with wxWindows
+wxHelpController!}
+
+This help controller provides easy way how to display HTML help in your
+application (see {\it test} sample). Whole help system is based on {\bf books}
+(see \helpref{AddBook}{wxhtmlhelpcontrolleraddbook}). A book is logical
+part of documentation (for example "User's Guide" or "Programmer's Guide" or
+"C++ Reference" or "wxWindows Reference"). Help controller can handle as
+many books as you want.
+
+wxHTML uses Microsoft's HTML Help Workshop project files (.hhp, .hhk, .hhc) as its
+native format. The file format is described \helpref{here}{helpformat}.
+Have a look at docs/html/ directory where sample project files are stored.
+
+You can use tex2rtf to generate MHHW projects (see wxHTML homepage for details).
+
+In order to use the controller in your application under Windows you must
+have following line in your .rc file:
+
+\begin{verbatim}
+#include "wx/html/msw/wxhtml.rc"
+\end{verbatim}
+
+
+\wxheading{Derived from}
+
+wxEvtHandler
+
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxHtmlHelpController::wxHtmlHelpController}\label{wxhtmlhelpcontrollerwxhtmlhelpcontroller}
+
+\func{}{wxHtmlHelpController}{\void}
+
+
+Constructor.
+
+
+\membersection{wxHtmlHelpController::SetTitleFormat}\label{wxhtmlhelpcontrollersettitleformat}
+
+\func{void}{SetTitleFormat}{\param{const wxString\& }{format}}
+
+Sets format of title of the frame. Must contain exactly one "\%s"
+(for title of displayed HTML page).
+
+
+\membersection{wxHtmlHelpController::SetTempDir}\label{wxhtmlhelpcontrollersettempdir}
+
+\func{void}{SetTempDir}{\param{const wxString\& }{path}}
+
+Sets path for storing temporary files (cached binary versions of index and contents files. These binary
+forms are much faster to read.) Default value is empty string (empty string means
+that no cached data are stored). Note that these files are NOT
+deleted when program exits!
+
+
+\membersection{wxHtmlHelpController::AddBook}\label{wxhtmlhelpcontrolleraddbook}
+
+\func{bool}{AddBook}{\param{const wxString\& }{book}, \param{bool }{show_wait_msg}}
+
+Adds book (\helpref{.hhp file}{helpformat} - HTML Help Workshop project file) into the list of loaded books.
+This must be called at least once before displaying  any help.
+
+If {\it show_wait_msg} is TRUE then a decorationless window with progress message is displayed.
+
+
+\membersection{wxHtmlHelpController::Display}\label{wxhtmlhelpcontrollerdisplay}
+
+\func{void}{Display}{\param{const wxString\& }{x}}
+
+Displays page {\it x}. This is THE important function - it is used to display
+the help in application.
+
+You can specify the page in many ways:
+
+\begin{itemize}
+\item as direct filename of HTML document
+\item as chapter name (from contents) or as a book name
+\item as some word from index
+\item even as any word (will be searched) 
+\end{itemize}
+
+Looking for the page runs in these steps:
+
+\begin{enumerate}
+\item try to locate file named x (if x is for example "doc/howto.htm")
+\item try to open starting page of book named x
+\item try to find x in contents (if x is for example "How To ...")
+\item try to find x in index (if x is for example "How To ...")
+\item switch to Search panel and start searching
+\end{enumerate}
+
+\func{void}{Display}{\param{const int }{id}}
+
+This alternative form is used to search help contents by numeric IDs.
+
+
+
+
+\membersection{wxHtmlHelpController::DisplayContents}\label{wxhtmlhelpcontrollerdisplaycontents}
+
+\func{void}{DisplayContents}{\void}
+
+Displays help window and focuses contents panel.
+
+\membersection{wxHtmlHelpController::DisplayIndex}\label{wxhtmlhelpcontrollerdisplayindex}
+
+\func{void}{DisplayIndex}{\void}
+
+Displays help window and focuses index panel.
+
+
+\membersection{wxHtmlHelpController::KeywordSearch}\label{wxhtmlhelpcontrollerkeywordsearch}
+
+\func{bool}{KeywordSearch}{\param{const wxString\& }{keyword}}
+
+Displays help window, focuses search panel and starts searching.
+Returns TRUE if the keyword was found.
+
+IMPORTANT! KeywordSearch searches only pages listed in .htc file(s)!
+(you should have all pages in contents file...)
+
+
+\membersection{wxHtmlHelpController::UseConfig}\label{wxhtmlhelpcontrolleruseconfig}
+
+\func{void}{UseConfig}{\param{wxConfigBase* }{config}, \param{const wxString\& }{rootpath = wxEmptyString}}
+
+Associates {\it config} object with the controller.
+
+If there is associated config object, wxHtmlHelpController automatically
+reads and writes settings (including wxHtmlWindow's settings) when needed.
+
+The only thing you must do is create wxConfig object and call UseConfig. 
+
+
+\membersection{wxHtmlHelpController::ReadCustomization}\label{wxhtmlhelpcontrollerreadcustomization}
+
+\func{void}{ReadCustomization}{\param{wxConfigBase* }{cfg}, \param{wxString }{path = wxEmptyString}}
+
+Reads controllers setting (position of window etc.)
+
+
+\membersection{wxHtmlHelpController::WriteCustomization}\label{wxhtmlhelpcontrollerwritecustomization}
+
+\func{void}{WriteCustomization}{\param{wxConfigBase* }{cfg}, \param{wxString }{path = wxEmptyString}}
+
+Stores controllers setting (position of window etc.)
+
diff --git a/docs/latex/wx/htmlcell.tex b/docs/latex/wx/htmlcell.tex
new file mode 100644
index 0000000000..76423eb7ad
--- /dev/null
+++ b/docs/latex/wx/htmlcell.tex
@@ -0,0 +1,76 @@
+\subsection{Cells and Containers}\label{cells}
+
+This article describes mechanism used by 
+\helpref{wxHtmlWinParser}{wxhtmlwinparser} and
+\helpref{wxHtmlWindow}{wxhtmlwindow}
+to parse and display HTML documents.
+
+\wxheading{Cells}
+
+You can divide any text (or HTML) into small fragments. Let's call these
+fragments {\bf cells}. Cell is for example one word, horizontal line, image
+or any other part of document. Each cell has width and height (except special
+"magic" cells with zero dimensions - e.g. color changers or font changers).
+
+See \helpref{wxHtmlCell}{wxhtmlcell}.
+
+\wxheading{Containers}
+
+Container is kind of cell that may contain sub-cells. Its size depends
+on number and sizes of its sub-cells (and also depends on width of window). 
+
+See \helpref{wxHtmlContainerCell}{wxhtmlcontainercell}, 
+\helpref{wxHtmlCell::Layout}{wxhtmlcelllayout}.
+
+This image shows you cells\ &\ containers:
+
+\image{}{contbox.bmp}
+
+\wxheading{Using Containers in Tag Handler}
+
+\helpref{wxHtmlWinParser}{wxhtmlwinparser} provides user-friendly way
+of managing containers. It's based on idea of opening and closing containers.
+
+Use \helpref{OpenContainer}{wxhtmlwinparseropencontainer} to open new
+container {\it within actually opened container}. This new container is 
+{\it sub-container} of the old one. (If you want to create new container with
+same depth level you can call {\tt CloseContainer(); OpenContainer();}.)
+
+Use \helpref{CloseContaier}{wxhtmlwinparserclosecontainer} to close the 
+container. This doesn't create new container with same depth level but
+it returns "control" to the parent container.
+
+See explanation:
+
+\image{}{cont.bmp}
+
+It's clear there must be same number of calls to 
+OpenContainer as to CloseContainer...
+
+\wxheading{Example}
+
+This code creates new paragraph (container at same depth level)
+with "Hello, world!" :
+
+\begin{verbatim}
+m_WParser -> CloseContainer();
+c = m_WParser -> OpenContainer();
+
+m_WParser -> AddWord("Hello, ");
+m_WParser -> AddWord("world!");
+
+m_WParser -> CloseContainer();
+m_WParser -> OpenContainer();
+\end{verbatim}
+
+and here is image of the situation:
+
+\image{}{hello.bmp}
+
+You can see that there was opened container before running the code. We closed
+it, created our own container, then closed our container and opened
+new container. The result was that we had {\it same depth level} after
+executing. This is general rule that should be followed by tag handlers :
+leave depth level of containers unmodified (in other words, number of
+OpenContainer and CloseContainer calls should be same within \helpref{HandleTag}{wxhtmltaghandlerhandletag}'s body).
+
diff --git a/docs/latex/wx/htmlfilt.tex b/docs/latex/wx/htmlfilt.tex
new file mode 100644
index 0000000000..7edb17c8a5
--- /dev/null
+++ b/docs/latex/wx/htmlfilt.tex
@@ -0,0 +1,11 @@
+\membersection{Input Filters}\label{filters}
+
+The wxHTML library provides mechanism for reading and displaying
+files of many different file formats. 
+
+\helpref{wxHtmlWindow::LoadPage}{wxhtmlwindowloadpage} can load not
+only HTML files but any known file. To make a file type known to wxHtmlWindow
+you must create a \helpref{wxHtmlFilter}{wxhtmlfilter} filter and
+register it using \helpref{wxHtmlWindow::AddFilter}{wxhtmlwindowaddfilter}
+
+
diff --git a/docs/latex/wx/htmlhand.tex b/docs/latex/wx/htmlhand.tex
new file mode 100644
index 0000000000..d926e7ef7c
--- /dev/null
+++ b/docs/latex/wx/htmlhand.tex
@@ -0,0 +1,146 @@
+\membersection{Tag Handlers}\label{handlers}
+
+wxHTML library provides architecture of pluginable {\it tag handlers}.
+Tag handler is class that understands particular HTML tag (or tags) and is
+able to interpret it.
+
+\helpref{wxHtmlWinParser}{wxhtmlwinparser} has static table of {\bf modules}.
+Each module contains one or more tag handlers. Each time new wxHtmlWinParser
+object is constructed all modules are scanned and handlers are added
+to wxHtmlParser's list of available handlers (note : wxHtmlParser's list
+is non-static).
+
+\wxheading{How it works}
+
+Common tag handler's \helpref{HandleTag}{wxhtmltaghandlerhandletag} method
+works in four steps:
+
+\begin{enumerate}
+\item Save state of parent parser into local variables
+\item Change parser state according to tag's params
+\item Parse text between the tag and paired ending tag (if present)
+\item Restore original parser state
+\end{enumerate}
+
+See \helpref{wxHtmlWinParser}{wxhtmlwinparser} for methods for modifying
+parser's state. In general you can do things like opening/closing containers,
+changing colors, fonts etc.
+
+\wxheading{Providing own tag handlers}
+
+You should create new .cpp file and place following lines into it: 
+
+\begin{verbatim}
+#include <mod_templ.h>
+#include <forcelink.h>
+FORCE_LINK_ME(yourmodulefilenamewithoutcpp)
+\end{verbatim}
+
+Then you must define handlers and one module.
+
+\wxheading{Tag handlers}
+
+The handler is derived from \helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler}
+(or directly from \helpref{wxHtmlTagHandler}{wxhtmltaghandler})
+
+You can use set of macros to define the handler (see src/mod_*.cpp files
+for details). Handler definition must start with {\bf TAG_HANDLER_BEGIN} macro
+and end with {\bf TAG_HANDLER_END} macro. I strongly recommend to have a look
+at {\it include/wxhtml/mod_templ.h} file. Otherwise you won't understand
+the structure of macros... See macros reference:
+
+{\bf TAG_HANDLER_BEGIN}({\it name}, {\it tags})
+
+Starts handler definition. {\it name} is handler identifier (in fact
+part of class name), {\it tags} is string containing list of tags
+supported by this handler (in uppercase). This macro derives new class from
+wxHtmlWinTagHandler and implements it's 
+\helpref{GetSupportedTags}{wxhtmltaghandlergetsupportedtags} method.
+
+Example: TAG_HANDLER_BEGIN(FONTS, "B,I,U,T")
+
+{\bf TAG_HANDLER_VARS}
+
+This macro starts block of variables definitions. (Variables are identical
+to class attributes.) Example:
+
+\begin{verbatim}
+TAG_HANDLER_BEGIN(VARS_ONLY, "CRAZYTAG")
+    TAG_HANDLER_VARS
+        int my_int_var;
+	wxString something_else;
+TAG_HANDLER_END(VARS_ONLY)
+\end{verbatim}
+
+This macro is used only in rare cases.
+
+{\bf TAG_HANDLER_CONSTR}({\it name})
+
+This macro supplies object constructor. {\it name} is same name as the one
+from TAG_HANDLER_BEGIN macro. Body of constructor follow after
+this macro (you must use { and } ). Example:
+
+\begin{verbatim}
+TAG_HANDLER_BEGIN(VARS2, "CRAZYTAG")
+    TAG_HANDLER_VARS
+        int my_int_var;
+    TAG_HANDLER_CONSTR(vars2)
+        { // !!!!!!
+	    my_int_var = 666;
+	} // !!!!!!
+TAG_HANDLER_END(VARS2)
+\end{verbatim}
+
+Never used in wxHTML :-)
+
+{\bf TAG_HANDLER_PROC}({\it varib})
+
+This is very important macro. It defines \helpref{HandleTag}{wxhtmlparserhandletag}
+method. {\it varib} is name of parameter passed to the method, usually
+{\it tag}. Body of method follows after this macro.
+Note than you must use { and } ! Example:
+
+\begin{verbatim}
+TAG_HANDLER_BEGIN(TITLE, "TITLE")
+    TAG_HANDLER_PROC(tag)
+        {
+	    printf("TITLE found...\n");
+	}
+TAG_HANDLER_END(TITLE)
+\end{verbatim}
+
+{\bf TAG_HANDLER_END}({\it name})
+
+Ends definition of tag handler {\it name}. 
+
+
+\wxheading{Tags Modules}
+
+You can use set of 3 macros TAGS_MODULE_BEGIN, TAGS_MODULE_ADD and 
+TAGS_MODULE_END to inherit new module from
+\helpref{wxHtmlTagsModule}{wxhtmltagsmodule} and to create instance of it.
+See macros reference:
+
+{\bf TAGS_MODULE_BEGIN}({\it modname})
+
+Begins module definition. {\it modname} is part of class name and must
+be unique.
+
+{\bf TAGS_MODULE_ADD}({\it name})
+
+Adds the handler to this module. {\it name} is the identifier from
+TAG_HANDLER_BEGIN.
+
+{\bf TAGS_MODULE_END}({\it modname})
+
+Ends the definition of module.
+
+{\bf Example:}
+
+\begin{verbatim}
+TAGS_MODULE_BEGIN(Examples)
+    TAGS_MODULE_ADD(VARS_ONLY)
+    TAGS_MODULE_ADD(VARS2)
+    TAGS_MODULE_ADD(TITLE)
+TAGS_MODULE_END(Examples)
+\end{verbatim}
diff --git a/docs/latex/wx/htmlhlpf.tex b/docs/latex/wx/htmlhlpf.tex
new file mode 100644
index 0000000000..ecb6a3ea2f
--- /dev/null
+++ b/docs/latex/wx/htmlhlpf.tex
@@ -0,0 +1,83 @@
+\membersection{Help Files Format}\label{helpformat}
+
+wxHTML library uses reduced version of MS HTML Workshop format.
+
+(See \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller} for help controller description.)
+
+A {\bf book} consists of three files : header file, contents file and index file.
+
+\wxheading{Header file (.hhp)}
+
+Header file must contain these lines (and may contain additional lines which are ignored) :
+
+\begin{verbatim}
+Contents file=@filename.hhc@
+Index file=@filename.hhk@
+Title=@title of your book@
+Default topic=@default page to be displayed.htm@
+\end{verbatim}
+
+All filenames (including Default topic) are relative to the location of .hhp file.
+
+For larger projects I recommend storing everything but .hhp file into one .zip archive. (E.g. contents file 
+would then be reffered as myhelp.zip\#zip:contents.hhc)
+
+\wxheading{Contents file (.hhc)}
+
+Contents file has HTML syntax and it can be parsed by regular HTML parser. It contains exactly one list
+(<ul>....</ul> statement):
+
+\begin{verbatim}
+<ul>
+
+  <li> <object>
+           <param name="Name" value="@topic name@">
+	   <param name="ID" value=@numeric_id@>
+	   <param name="Local" value="@filename.htm@">
+       </object>
+  <li> <object>
+           <param name="Name" value="@topic name@">
+	   <param name="ID" value=@numeric_id@>
+	   <param name="Local" value="@filename.htm@">
+       </object>
+  ...    
+
+</ul>
+\end{verbatim}
+
+You can modify value attributes of param tags. {\it topic name} is name of chapter/topic as is displayed in
+contents, {\it filename.htm} is HTML page name (relative to .hhp file) and {\it numeric_id} is optional 
+- it is used only when you use \helpref{wxHtmlHelpController::Display(int)}{wxhtmlhelpcontrollerdisplay}
+
+Items in the list may be nested - one \<li\> statement may contain \<ul\> sub-statement:
+
+\begin{verbatim}
+<ul>
+
+  <li> <object>
+           <param name="Name" value="Top node">
+	   <param name="Local" value="top.htm">
+       </object>
+       <ul>
+         <li> <object>
+                  <param name="Name" value="subnode in topnode">
+	          <param name="Local" value="subnode1.htm">
+              </object>
+	  ...
+       </ul>
+       
+  <li> <object>
+           <param name="Name" value="Another Top">
+	   <param name="Local" value="top2.htm">
+       </object>
+  ...    
+
+</ul>
+\end{verbatim}
+
+
+\wxheading{Index file (.hhk)}
+
+Index files have same format as contents file except that ID params are ignored and sublists are {\bf not} 
+allowed.
+
diff --git a/docs/latex/wx/htmlprn.tex b/docs/latex/wx/htmlprn.tex
new file mode 100644
index 0000000000..700a1e271d
--- /dev/null
+++ b/docs/latex/wx/htmlprn.tex
@@ -0,0 +1,62 @@
+\membersection{Printing}\label{printing}
+
+The wxHTML library provides printing facilities. 
+
+You can redirect output displayed by \helpref{wxHtmlWindow}{wxhtmlwindow}
+to the printer DC using this (or similar) code (see {\bf printing} sample for
+more details) :
+
+\begin{verbatim}
+//
+//  This method prints page number one to dc:
+//
+
+void MyPrintout::DrawPageOne(wxDC *dc)
+{
+  int leftMargin = 20;
+  int topMargin = 50;
+         // You must compute the margins there. 
+	 // Caution! These values are NOT in printer DC's units.
+	 // These values are in screen pixels.
+	 // (see bellow)
+
+  // Here we obtain internal cell representation of HTML document:
+  // (html is our pointer to wxHtmlWindow object)
+  wxHtmlContainerCell *cell = html -> GetInternalRepresentation();
+
+  // Now we have to check in case our real page size is reduced
+  // (e.g. because we're drawing to a print preview memory DC)
+  int pageWidth, pageHeight;
+  int w, h;
+  dc->GetSize(&w, &h);                        // DC size
+  GetPageSizePixels(&pageWidth, &pageHeight); // real size
+
+  // Now we must scale it. This equation will map wxHtmlWindow
+  // to page in this way:
+  // |--this is whole page as printed---------|
+  // |        |                      |        |
+  // |        |                      |        |
+  // |-margin-|-----wxHtmlWindow-----|-margin-|
+  //
+  // So page width is 2*leftMargin + [wxHtmlWindow size]
+  // (measured in screen pixels).
+  // We will scale the printer DC so that wxHtmlWindow's content
+  // spreads from left to right:
+  float scale = (float)(
+                  (float)(pageWidth) /
+                  (float)(2 * leftMargin + cell -> GetMaxLineWidth()));
+
+  // If printer pageWidth == current DC width, then this doesn't
+  // change. But w might be the preview bitmap width, so scale down.
+  float overallScale = scale * (float)(w/(float)pageWidth);
+
+  // Set the user scale so that our computations take effect:
+  dc->SetUserScale(overallScale, overallScale);
+  dc->SetBackgroundMode(wxTRANSPARENT);
+
+  // And this is - finally - HTML stuff:
+  cell -> Draw(*dc, leftMargin, topMargin, 0, cell -> GetHeight());
+}
+\end{verbatim}
+
+(Thanks to Julian Smart for sample)
diff --git a/docs/latex/wx/htmlstrt.tex b/docs/latex/wx/htmlstrt.tex
new file mode 100644
index 0000000000..15dc1b449c
--- /dev/null
+++ b/docs/latex/wx/htmlstrt.tex
@@ -0,0 +1,68 @@
+\membersection{Quick Start}\label{quickstart}
+
+\wxheading{Displaying HMTL}
+
+First of all, you must include <wx/wxhtml.h>.
+
+Class \helpref{wxHtmlWindow}{wxhtmlwindow} (derived from wxScrolledWindow)
+is used to display HTML documents.
+It has 2 important methods : \helpref{LoadPage}{wxhtmlwindowloadpage}
+and \helpref{SetPage}{wxhtmlwindowsetpage}.
+LoadPage loads and displays HTML file while SetPage displays directly the
+passed {\bf string}. See the example:
+
+\begin{verbatim}
+    mywin -> LoadPage("test.htm");
+    mywin -> SetPage("<html><body>"
+                     "<h1>Error</h1>"
+		     "Some error occured :-H)"
+		     "</body></hmtl>");
+\end{verbatim}
+
+I think the difference is quite clear...
+
+\wxheading{Displaying Help}
+
+See \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}.
+
+\wxheading{Setting up wxHtmlWindow}
+
+Because wxHtmlWindow is derived from wxScrolledWindow and not from
+wxFrame, it doesn't have visible frame. But the user usually want to see
+the title of HTML page displayed somewhere and frame's titlebar is 
+ideal place for it... 
+
+wxHtmlWindow provides 2 methods in order to handle this : 
+\helpref{SetRelatedFrame}{wxhtmlwindowsetrelatedframe} and 
+\helpref{SetRelatedStatusBar}{wxhtmlwindowsetrelatedstatusbar}. 
+See the example:
+
+\begin{verbatim}
+    html = new wxHtmlWindow(this);
+    html -> SetRelatedFrame(this, "HTML : %%s");
+    html -> SetRelatedStatusBar(0);
+\end{verbatim}
+
+The first command associates html object with it's parent frame
+(this points to wxFrame object there) and sets format of title.
+Page title "Hello, world!" will be displayed as "HTML : Hello, world!"
+in this example.
+
+The second command sets which frame's status bar should be used to display
+browser's messages (such as "Loading..." or "Done" or hypertext links).
+
+\wxheading{Customizing wxHtmlWindow}
+
+You can customize wxHtmlWindow by setting font size, font face and
+borders (space between border of window and displayed HTML). Related functions:
+
+\begin{itemize}
+\item \helpref{SetFonts}{wxhtmlwindowsetfonts}
+\item \helpref{SetBorders}{wxhtmlwindowsetborders}
+\item \helpref{ReadCustomization}{wxhtmlwindowreadcustomization}
+\item \helpref{WriteCustomization}{wxhtmlwindowwritecustomization}
+\end{itemize}
+
+The last two functions are used to store user customization info wxConfig stuff
+(for example registry under Windows or dotfile under Unix)
+
diff --git a/docs/latex/wx/htparser.tex b/docs/latex/wx/htparser.tex
new file mode 100644
index 0000000000..3724999272
--- /dev/null
+++ b/docs/latex/wx/htparser.tex
@@ -0,0 +1,191 @@
+%
+% automatically generated by HelpGen from
+% htmlparser.tex at 14/Mar/99 20:13:37
+%
+
+
+\section{\class{wxHtmlParser}}\label{wxhtmlparser}
+
+This class handles {\bf generic} parsing of HTML document : it scans
+the document and divide it into blocks of tags (where one block
+consists of begining and ending tag and of text between these
+2 tags).
+
+It is independent from wxHtmlWindow and can be used as stand-alone parser
+(Julian Smart's idea of speech-only HTML viewer or wget-like utility -
+see InetGet sample for example). 
+
+It uses system of tag handlers to parse the HTML document. Tag handlers
+are not staticaly shared by all instances but are created for each 
+wxHtmlParser instance. The reason is that the handler may contain
+document-specific temporary data used during parsing (e.g. complicated
+structures like tables)
+
+Typically the user calls only \helpref{Parse}{wxhtmlparserparse} method.
+
+\wxheading{Derived from}
+
+wxObject
+
+\wxheading{See also}
+
+\helpref{Cells Overview}{cells},
+\helpref{Tag Handlers Overview}{handlers},
+\helpref{wxHtmlTag}{wxhtmltag}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxHtmlParser::wxHtmlParser}\label{wxhtmlparserwxhtmlparser}
+
+\func{}{wxHtmlParser}{\void}
+
+Constructor. 
+
+
+\membersection{wxHtmlParser::SetFS}\label{wxhtmlparsersetfs}
+
+\func{void}{SetFS}{\param{wxFileSystem }{*fs}}
+
+Sets the virtual file system that will be used to request additional
+files. (For example {\tt <IMG>} tag handler requests wxFSFile with the
+image data.)
+
+\membersection{wxHtmlParser::GetFS}\label{wxhtmlparsergetfs}
+
+\constfunc{wxFileSystem*}{GetFS}{\void}
+
+Returns pointer to the file system. Because each tag handler has
+reference to it's parent parser it can easily request the file by
+calling
+
+\begin{verbatim}
+wxFSFile *f = m_Parser -> GetFS() -> OpenFile("image.jpg");
+\end{verbatim}
+
+
+\membersection{wxHtmlParser::Parse}\label{wxhtmlparserparse}
+
+\func{wxObject*}{Parse}{\param{const wxString\& }{source}}
+
+Proceeds parsing of the document. This is end-user method. You can simply
+call it when you need to obtain parsed output (which is parser-specific)
+
+The method does these things:
+
+\begin{enumerate}
+\item calls \helpref{InitParser(source)}{wxhtmlparserinitparser}
+\item calls \helpref{DoParsing}{wxhtmlparserdoparsing}
+\item calls \helpref{GetProduct}{wxhtmlparsergetproduct}
+\item calls \helpref{DoneParser}{wxhtmlparserdoneparser}
+\item returns value returned by GetProduct
+\end{enumerate}
+
+You shouldn't use InitParser, DoParsing, GetProduct or DoneParser directly.
+
+\membersection{wxHtmlParser::InitParser}\label{wxhtmlparserinitparser}
+
+\func{virtual void}{InitParser}{\param{const wxString\& }{source}}
+
+Setups the parser for parsing the {\it source} string. (Should be overriden
+in derived class)
+
+
+\membersection{wxHtmlParser::DoneParser}\label{wxhtmlparserdoneparser}
+
+\func{virtual void}{DoneParser}{\void}
+
+This must be called after DoParsing().
+
+
+\membersection{wxHtmlParser::DoParsing}\label{wxhtmlparserdoparsing}
+
+\func{void}{DoParsing}{\param{int }{begin\_pos}, \param{int }{end\_pos}}
+
+\func{void}{DoParsing}{\void}
+
+Parses the m\_Source from begin\_pos to end\_pos-1.
+(in noparams version it parses whole m\_Source)
+
+\membersection{wxHtmlParser::GetProduct}\label{wxhtmlparsergetproduct}
+
+\func{virtual wxObject*}{GetProduct}{\void}
+
+Returns product of parsing. Returned value is result of parsing 
+of the document. The type of this result depends on internal 
+representation in derived parser (but it must be derived from wxObject!).
+
+See wxHtmlWinParser for details.
+
+
+\membersection{wxHtmlParser::AddTagHandler}\label{wxhtmlparseraddtaghandler}
+
+\func{virtual void}{AddTagHandler}{\param{wxHtmlTagHandler }{*handler}}
+
+Adds handler to the internal list (\& hash table) of handlers. This
+method should not be called directly by user but rather by derived class'
+constructor.
+
+This adds the handler to this {\bf instance} of wxHtmlParser not to
+all objects of this class!!! (Static front-end to AddTagHandler is provided
+by wxHtmlWinParser)
+
+All handlers are deleted on object deletion.
+
+\membersection{wxHtmlParser::GetSource}\label{wxhtmlparsergetsource}
+
+\func{wxString*}{GetSource}{\void}
+
+Returns pointer to the source being parsed.
+
+
+\membersection{wxHtmlParser::GetTempData}\label{wxhtmlparsergettempdata}
+
+\func{virtual wxList*}{GetTempData}{\void}
+
+This method returns list of wxObjects that represents
+all data allocated by the parser. These can't be freeded
+by destructor because they must be valid as long as
+GetProduct's return value is valid - the caller must
+explicitly call
+
+\begin{verbatim}
+delete (MyParser -> GetTempData());
+\end{verbatim}
+
+to free the memory (this method always sets the list to delete its contents)
+
+\wxheading{Example}
+
+Why is this neccessary? Imagine wxHtmlWinParser : when handling
+FONT tag it creates some fonts. These fonts are then used by wxHtmlWindow
+to display the text. But wxHtmWinParser object is needed only when parsing
+the document - it may be deleted then. But fonts CAN'T be deleted - they
+must exist as long as the window is displaying text. 
+
+GetTempData() solves the problem.
+
+\membersection{wxHtmlParser::AddText}\label{wxhtmlparseraddword}
+
+\func{virtual void}{AddWord}{\param{const char* }{txt}}
+
+Must be overwriten in derived class.
+
+This method is called by \helpref{DoParsing}{wxhtmlparserdoparsing}
+each time a part of text is parsed. {\it txt} is NOT only one word, it is 
+substring of input. It is not formatted or preprocessed (so white spaces are
+unmodified)
+
+\membersection{wxHtmlParser::AddTag}\label{wxhtmlparseraddtag}
+
+\func{void}{AddTag}{\param{const wxHtmlTag\& }{tag}
+
+This may (and may not) be overwriten in derived class.
+
+This method is called each time new tag is about to be added.
+{\it tag} contains information about the tag. (See \helpref{wxHtmlTag}{wxhtmltag}
+for details.)
+
+Default (wxHtmlParser) behaviour is this :
+First it finds a handler capable of handling this tag and then it calls
+handler's HandleTag method.
diff --git a/docs/latex/wx/httag.tex b/docs/latex/wx/httag.tex
new file mode 100644
index 0000000000..40b1da9983
--- /dev/null
+++ b/docs/latex/wx/httag.tex
@@ -0,0 +1,176 @@
+%
+% automatically generated by HelpGen from
+% htmltag.tex at 14/Mar/99 20:13:37
+%
+
+
+\section{\class{wxHtmlTag}}\label{wxhtmltag}
+
+This class represents single HTML tag. 
+It is used by \helpref{tag handlers}{handlers}.
+
+
+\wxheading{Derived from}
+
+wxObject
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxHtmlTag::wxHtmlTag}\label{wxhtmltagwxhtmltag}
+
+\func{}{wxHtmlTag}{\param{const wxString\& }{source}, \param{int }{pos}, \param{int }{end\_pos}, \param{wxHtmlTagsCache* }{cache}}
+
+Constructor. You'll probably never have to construct wxHtmlTag object
+yourself. Feel free to ignore the constructor parameters...
+(have a look at lib/htmlparser.cpp if you're interested in creating it)
+
+\membersection{wxHtmlTag::GetName}\label{wxhtmltaggetname}
+
+\constfunc{wxString}{GetName}{\void}
+
+Returns tag's name. The name is always in uppercase and it doesn't contain
+'<' or '/' characters. (So the name of {\tt <FONT SIZE=+2>} tag is "FONT"
+and name of {\tt </table>} is "TABLE")
+
+
+\membersection{wxHtmlTag::HasParam}\label{wxhtmltaghasparam}
+
+\constfunc{bool}{HasParam}{\param{const wxString\& }{par}}
+
+Returns TRUE if the tag has parameter of the given name. 
+Example : {\tt <FONT SIZE=+2 COLOR="\#FF00FF">} has two parameters named
+"SIZE" and "COLOR".
+
+\wxheading{Parameters}
+
+\docparam{par}{the parameter you're looking for. It must {\it always} be in uppercase!}
+
+\membersection{wxHtmlTag::GetParam}\label{wxhtmltaggetparam}
+
+\constfunc{wxString}{GetParam}{\param{const wxString\& }{par}, \param{bool }{with\_commas = FALSE}}
+
+Retuns the value of the parameter. You should check whether the
+param exists or not (use \helpref{HasParam}{wxhtmltaghasparam}) first.
+
+\wxheading{Parameters}
+
+\docparam{par}{The parameter's name in uppercase}
+
+\docparam{with\_commas}{TRUE if you want to get commas as well. See example.}
+
+\wxheading{Example}
+
+\begin{verbatim}
+...
+/* you have wxHtmlTag variable tag which is equal to
+   HTML tag <FONT SIZE=+2 COLOR="#0000FF"> */
+dummy = tag.GetParam("SIZE");
+   // dummy == "+2"
+dummy = tag.GetParam("COLOR");
+   // dummy == "#0000FF"
+dummy = tag.GetParam("COLOR", TRUE);
+   // dummy == "\"#0000FF\"" -- see the difference!!
+\end{verbatim}
+
+
+
+\membersection{wxHtmlTag::ScanParam}\label{wxhtmltagscanparam}
+
+\constfunc{wxString}{ScanParam}{\param{const wxString\& }{par}, \param{const char *}{format}, fuck}
+
+This method scans given parameter. Usage is exatly the same as sscanf's 
+usage except that you don't pass string but param name as the first parameter.
+
+\wxheading{Parameters}
+
+\docparam{par}{The name of tag you wanna query (in uppercase)}
+
+\docparam{format}{scanf()-like format string.}
+
+\wxheading{Cygwin and Mingw32}
+
+If you're using Cygwin beta 20 or Mingw32 compiler please remember
+that ScanParam() is only partially implemented!! The problem is
+that under Cygnus' GCC vsscanf() function is not implemented. I workarounded
+this in a way which causes that you can use only one parameter in ...
+(and only one \% in {\it format})
+
+\membersection{wxHtmlTag::GetAllParams}\label{wxhtmltaggetallparams}
+
+\constfunc{const wxString\&}{GetAllParams}{\void}
+
+Returns string with all params. 
+
+Example : tag contains {\tt <FONT SIZE=+2 COLOR="\#000000">}. Call to
+tag.GetAllParams() would return {\tt SIZE=+2 COLOR="\#000000"}.
+
+\membersection{wxHtmlTag::IsEnding}\label{wxhtmltagisending}
+
+\constfunc{bool}{IsEnding}{\void}
+
+Returns TRUE if this tag is ending one.
+({\tt </FONT>} is ending tag, {\tt <FONT>} is not)
+
+
+\membersection{wxHtmlTag::HasEnding}\label{wxhtmltaghasending}
+
+\constfunc{bool}{HasEnding}{\void}
+
+Returns TRUE if this tag is paired with ending tag, FALSE otherwise.
+
+See the example of HTML document:
+
+\begin{verbatim}
+<html><body>
+Hello<p>
+How are you?
+<p align=center>This is centered...</p>
+Oops<br>Oooops!
+</body></html>
+\end{verbatim}
+
+In this example tags HTML and BODY have ending tags, first P and BR 
+doesn't have ending tag while the second P has. The third P tag (which
+is ending itself) of course doesn't have ending tag.
+
+\membersection{wxHtmlTag::GetBeginPos}\label{wxhtmltaggetbeginpos}
+
+\constfunc{int}{GetBeginPos}{\void}
+
+Returns beginning position of the text {\it between} this tag and paired
+ending tag. 
+See explanation (returned position is marked with '^'):
+
+\begin{verbatim}
+bla bla bla <MYTAG> bla bla intenal text</MYTAG> bla bla
+                   ^
+\end{verbatim}
+
+\membersection{wxHtmlTag::GetEndPos1}\label{wxhtmltaggetendpos1}
+
+\constfunc{int}{GetEndPos1}{\void}
+
+Returns ending position of the text {\it between} this tag and paired
+ending tag.
+See explanation (returned position is marked with '^'):
+
+\begin{verbatim}
+bla bla bla <MYTAG> bla bla intenal text</MYTAG> bla bla
+                                        ^
+\end{verbatim}
+
+
+\membersection{wxHtmlTag::GetEndPos2}\label{wxhtmltaggetendpos2}
+
+\constfunc{int}{GetEndPos2}{\void}
+
+Returns ending position 2 of the text {\it between} this tag and paired
+ending tag.
+See explanation (returned position is marked with '^'):
+
+\begin{verbatim}
+bla bla bla <MYTAG> bla bla intenal text</MYTAG> bla bla
+                                                ^
+\end{verbatim}
+
diff --git a/docs/latex/wx/httaghnd.tex b/docs/latex/wx/httaghnd.tex
new file mode 100644
index 0000000000..95f221445d
--- /dev/null
+++ b/docs/latex/wx/httaghnd.tex
@@ -0,0 +1,91 @@
+%
+% automatically generated by HelpGen from
+% htmltaghandler.tex at 18/Mar/99 19:20:29
+%
+
+
+\section{\class{wxHtmlTagHandler}}\label{wxhtmltaghandler}
+
+\wxheading{Derived from}
+
+wxObject
+
+\wxheading{See Also}
+
+\helpref{Overview}{handlers},
+\helpref{wxHtmlTag}{wxhtmltag}
+
+
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxHtmlTagHandler::m\_Parser}\label{wxhtmltaghandlermparser}
+
+{\bf wxHtmlParser* m\_Parser}
+
+This attribute is used to access parent parser. It is protected so that
+it can't be accessed by user but can be accessed from derived classes.
+
+\membersection{wxHtmlTagHandler::wxHtmlTagHandler}\label{wxhtmltaghandlerwxhtmltaghandler}
+
+\func{}{wxHtmlTagHandler}{\void}
+
+Constructor.
+
+\membersection{wxHtmlTagHandler::SetParser}\label{wxhtmltaghandlersetparser}
+
+\func{virtual void}{SetParser}{\param{wxHtmlParser }{*parser}}
+
+Assigns {\it parser} to this handler. Each {\bf instance} of handler 
+is guaranteed to be called only from the parser.
+
+\membersection{wxHtmlTagHandler::GetSupportedTags}\label{wxhtmltaghandlergetsupportedtags}
+
+\func{virtual wxString}{GetSupportedTags}{\void}
+
+Returns list of supported tags. The list is in uppercase and tags
+are delimited by ','. Example : {\tt "I,B,FONT,P" }
+
+
+\membersection{wxHtmlTagHandler::HandleTag}\label{wxhtmltaghandlerhandletag}
+
+\func{virtual bool}{HandleTag}{\param{const wxHtmlTag\& }{tag}}
+
+This is the core method of each handler. It is called each time
+one of supported tags is detected. {\it tag} contains all neccessary
+info (see \helpref{wxHtmlTag}{wxhtmltag} for details).
+
+\wxheading{Return value}
+
+TRUE if \helpref{ParseInner}{wxhtmltaghandlerparseinner} was called,
+FALSE otherwise.
+
+\wxheading{Example}
+
+\begin{verbatim}
+bool MyHandler::HandleTag(const wxHtmlTag& tag)
+{
+    ...
+    // change state of parser (e.g. set bold face)
+    ParseInner(tag);
+    ...
+    // restore original state of parser
+}
+\end{verbatim}
+
+You shouldn't call ParseInner if the tag is not paired with ending one.
+
+
+\membersection{wxHtmlTagHandler::ParseInner}\label{wxhtmltaghandlerparseinner}
+
+\func{void}{ParseInner}{\param{const wxHtmlTag\& }{tag}}
+
+This method calls parser's \helpref{DoParsing}{wxhtmlparserdoparsing} method
+for the string between this tag and paired ending tag:
+
+\begin{verbatim}
+...<A HREF="x.htm">Hello, world!</A>...
+\end{verbatim}
+
+In this example, call to ParseInner (with {\it tag} pointing to A tag)
+will parse 'Hello, world!'
diff --git a/docs/latex/wx/httagmod.tex b/docs/latex/wx/httagmod.tex
new file mode 100644
index 0000000000..97f591851d
--- /dev/null
+++ b/docs/latex/wx/httagmod.tex
@@ -0,0 +1,42 @@
+%
+% automatically generated by HelpGen from
+% htmltagsmodule.tex at 14/Mar/99 20:13:37
+%
+
+
+\section{\class{wxHtmlTagsModule}}\label{wxhtmltagsmodule}
+
+This class provides easy way of filling wxHtmlWinParser's table of
+tag handlers. It is used almost exclusively together with set of
+\helpref{TAGS\_MODULE\_* macros}{handlers}
+
+\wxheading{Derived from}
+
+wxModule
+
+\wxheading{See Also}
+
+\helpref{Tag Handlers}{handlers},
+\helpref{wxHtmlTagHandler}{wxhtmltaghandler},
+\helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler},
+
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxHtmlTagsModule::FillHandlersTable}\label{wxhtmltagsmodulefillhandlerstable}
+
+\func{virtual void}{FillHandlersTable}{\param{wxHtmlWinParser }{*parser}}
+
+You must override this method. In most common case it's body consists
+only of lines of following type:
+
+\begin{verbatim}
+parser -> AddTagHandler(new MyHandler);
+\end{verbatim}
+
+I recommend using {\bf TAGS\_MODULE\_*} macros.
+
+\wxheading{Paremeters}
+
+\docparam{parser}{Pointer to the parser that requested tables filling.}
diff --git a/docs/latex/wx/htwidget.tex b/docs/latex/wx/htwidget.tex
new file mode 100644
index 0000000000..550f781f99
--- /dev/null
+++ b/docs/latex/wx/htwidget.tex
@@ -0,0 +1,38 @@
+%
+% automatically generated by HelpGen from
+% htmlcell.h at 14/Apr/99 20:12:40
+%
+
+
+\section{\class{wxHtmlWidgetCell}}\label{wxhtmlwidgetcell}
+
+
+
+wxHtmlWidgetCell is class that provides connection between HTML cell and widget (object derived
+from wxWindow). You can use it to display things like forms, input boxes etc. in HTML window.
+
+wxHtmlWidgetCell takes care of resizing and moving window.
+
+\wxheading{Derived from}
+
+\helpref{wxHtmlCell}{wxhtmlcell}
+
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxHtmlWidgetCell::wxHtmlWidgetCell}\label{wxhtmlwidgetcellwxhtmlwidgetcell}
+
+\func{}{wxHtmlWidgetCell}{\param{wxWindow* }{wnd}, \param{int }{w = 0}}
+
+Constructor
+
+\wxheading{Parameters}
+
+\docparam{wnd}{Connected window. It's parent window {\bf must} be the wxHtmlWindow object within
+which it is displayed!}
+
+\docparam{w}{Floating width. If non-zero width of {\it wnd} window is adjusted so that it is
+always {\it w} percents of parent container's width. (For example w = 100 means that the window
+will always have same width as parent container)
+
diff --git a/docs/latex/wx/htwindow.tex b/docs/latex/wx/htwindow.tex
new file mode 100644
index 0000000000..ae85e3ba6d
--- /dev/null
+++ b/docs/latex/wx/htwindow.tex
@@ -0,0 +1,276 @@
+%
+% automatically generated by HelpGen from
+% htmlwindow.tex at 14/Mar/99 20:13:37
+%
+
+
+\section{\class{wxHtmlWindow}}\label{wxhtmlwindow}
+
+wxHtmlWindow is probably the only class you will directly use
+unless you want to do something special (like adding new tag
+handlers or MIME filters)
+
+Purpose of this class is to display HTML page (either local
+file or downloaded via HTTP protocol) in a window. Width
+of window is constant - given in constructor - virtual height
+is changed dynamicly depending on page size.
+Once the window is created you can set it's content by calling
+\helpref{SetPage(text)}{wxhtmlwindowsetpage} or 
+\helpref{LoadPage(filename)}{wxhtmlwindowloadpage}. 
+
+
+\wxheading{Derived from}
+
+wxScrolledWindow
+
+\wxheading{Include files}
+
+<wxhtml/wxhtmlwin.h>
+
+\membersection{wxHtmlWindow::wxHtmlWindow}\label{wxhtmlwindowwxhtmlwindow}
+
+\func{}{wxHtmlWindow}{\void}
+
+Default constructor.
+
+\func{}{wxHtmlWindow}{\param{wxWindow }{*parent}, \param{wxWindowID }{id = -1}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{const wxString\& }{name = "htmlWindow"}, \param{bool }{scrollable = TRUE}}
+
+Constructor. The parameters are same as in wxScrollWindow ctor.
+(Too lazy to document it once again... :-)
+
+\wxheading{Parameters}
+
+\docparam{scrollable}{if false then no scrollbars are displayed, even if size of page is larger than window size}
+
+
+
+\membersection{wxHtmlWindow::SetPage}\label{wxhtmlwindowsetpage}
+
+\func{bool}{SetPage}{\param{const wxString\& }{source}}
+
+Sets HTML page and display it. This won't {\bf load} the page!!
+It will display the {\it source}. See example:
+
+\begin{verbatim}
+htmlwin -> SetPage("<html><body>Hello, world!</body></html>");
+\end{verbatim}
+
+If you want to load document from some location use
+\helpref{LoadPage}{wxhtmlwindowloadpage} instead.
+
+\wxheading{Parameters}
+
+\docparam{source}{The HTML document source to be displayed.}
+
+
+\wxheading{Return value}
+
+FALSE if an error occured, TRUE otherwise
+
+\membersection{wxHtmlWindow::LoadPage}\label{wxhtmlwindowloadpage}
+
+\func{bool}{LoadPage}{\param{const wxString\& }{location}}
+
+Unlike SetPage this function first loads HTML page from {\it location}
+and then displays it. See example:
+
+\begin{verbatim}
+htmlwin -> SetPage("help/myproject/index.htm");
+\end{verbatim}
+
+\wxheading{Parameters}
+
+\docparam{location}{The address of document. See \helpref{wxFileSystem}{wxfilesystem} for details on address format and behaviour of "opener".}
+
+\wxheading{Return value}
+
+FALSE if an error occured, TRUE otherwise
+
+
+
+\membersection{wxHtmlWindow::GetOpenedPage}\label{wxhtmlwindowgetopenedpage}
+
+\func{wxString}{GetOpenedPage}{\void}
+
+Returns full location of the opened page. If no page is opened or if the displayed page wasn't
+produced by call to LoadPage, empty string is returned.
+
+
+
+\membersection{wxHtmlWindow::SetRelatedFrame}\label{wxhtmlwindowsetrelatedframe}
+
+\func{void}{SetRelatedFrame}{\param{wxFrame* }{frame}, \param{const wxString\& }{format}}
+
+Sets frame in which page title will be displayed. {\it format} is format of
+frame title, e.g. "HtmlHelp : \%s". It must contain exactly one \%s. This
+\%s is substituted with HTML page title.
+
+
+
+
+\membersection{wxHtmlWindow::GetRelatedFrame}\label{wxhtmlwindowgetrelatedframe}
+
+\constfunc{wxFrame*}{GetRelatedFrame}{\void}
+
+Returns the related frame.
+
+
+\membersection{wxHtmlWindow::SetRelatedStatusBar}\label{wxhtmlwindowsetrelatedstatusbar}
+
+\func{void}{SetRelatedStatusBar}{\param{int }{bar}}
+
+{\bf After} calling \helpref{SetRelatedFrame}{wxhtmlwindowsetrelatedframe},
+this sets statusbar slot where messages will be displayed.
+(Default is -1 = no messages.)
+
+\wxheading{Parameters}
+
+\docparam{bar}{statusbar slot number (0..n)}
+
+\membersection{wxHtmlWindow::SetFonts}\label{wxhtmlwindowsetfonts}
+
+\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{int }{normal\_italic\_mode}, \param{wxString }{fixed\_face}, \param{int }{fixed\_italic\_mode}, \param{int }{*sizes}}
+
+This function sets font sizes and faces.
+
+\wxheading{Parameters}
+
+\docparam{normal_face}{This is face name for normal (i.e. non-fixed) font. 
+It can be either empty string (then the default face is choosen) or
+platform-specific face name. Examples are "helvetica" under Unix or
+"Times New Roman" under Windows.}
+
+\docparam{normal_italic_mode}{This is either wxSLANT or wxITALIC.
+It determines how
+italic (<I>..</I>) text is handled. See wxFont documentation for
+details. For example you should use wxSLANT in conjuction with
+"helvetica" face or wxITALIC with "times" face.}
+
+\docparam{fixed_face}{The same thing for fixed face ( <TT>..</TT> )}
+
+\docparam{fixed_italic_mode}{The same thing for fixed face.}
+
+\docparam{sizes}{This is an array of 7 items of {\it int} type.
+The values represent size of font with HTML size from -2 to +4
+( <FONT SIZE=-2> to <FONT SIZE=+4> )}
+
+\wxheading{Defaults}
+
+Under wxGTK:
+
+\begin{verbatim}
+    SetFonts("", wxSLANT, "", wxSLANT, {10, 12, 14, 16, 19, 24, 32});
+\end{verbatim}
+
+Under Windows:
+
+\begin{verbatim}
+    SetFonts("", wxSLANT, "", wxSLANT, {7, 8, 10, 12, 16, 22, 30});
+\end{verbatim}
+
+Athough it seems different the fact is that the fonts are of approximately
+same size under both platforms (due to wxMSW / wxGTK inconsistency)
+
+
+\membersection{wxHtmlWindow::SetBorders}\label{wxhtmlwindowsetborders}
+
+\func{void}{SetBorders}{\param{int }{b}}
+
+This function sets the space between border of window and HTML contents. See image:
+
+\image{}{border.bmp}
+
+\wxheading{Parameters}
+
+\docparam{b}{indentation from borders in pixels}
+
+
+\membersection{wxHtmlWindow::ReadCustomization}\label{wxhtmlwindowreadcustomization}
+
+\func{virtual void}{ReadCustomization}{\param{wxConfigBase }{*cfg}, \param{wxString }{path = wxEmptyString}}
+
+This reads custom settings from wxConfig. It uses the path 'path'
+if given, otherwise it saves info into currently selected path.
+The values are stored in sub-path {\tt wxHtmlWindow}
+
+Read values : all things set by SetFonts, SetBorders.
+
+\wxheading{Parameters}
+
+\docparam{cfg}{wxConfig from which you wanna read configuration}
+
+\docparam{path}{Optional path in config tree. If not given current path is used.}
+
+
+\membersection{wxHtmlWindow::WriteCustomization}\label{wxhtmlwindowwritecustomization}
+
+\func{virtual void}{WriteCustomization}{\param{wxConfigBase }{*cfg}, \param{wxString }{path = wxEmptyString}}
+
+Saves custom settings into wxConfig. It uses the path 'path'
+if given, otherwise it saves info into currently selected path.
+Regardless path is given or not the function creates sub-path
+{\tt wxHtmlWindow}
+
+Saved values : all things set by SetFonts, SetBorders.
+
+\wxheading{Parameters}
+
+\docparam{cfg}{wxConfig to which you wanna save configuration}
+
+\docparam{path}{Optional path in config tree. If not given current path is used.}
+
+
+\membersection{wxHtmlWindow::GetInternalRepresentation}\label{wxhtmlwindowgetinternalrepresentation}
+
+\constfunc{wxHtmlContainerCell*}{GetInternalRepresentation}{\void}
+
+Returns pointer to the top-level container.
+
+See also : 
+\helpref{Cells Overview}{cells},
+\helpref{Printing Overview}{printing}
+
+
+\membersection{wxHtmlWindow::AddFilter}\label{wxhtmlwindowaddfilter}
+
+\func{static void}{AddFilter}{\param{wxHtmlFilter }{*filter}}
+
+Adds \helpref{input filter}{filters} to the static list of available
+filters. These filters are present by default:
+
+\begin{itemize}
+\item {\tt text/html} MIME type
+\item {\tt image/*} MIME types
+\item Plain Text filter (this filter is used if no other filter matches)
+\end{itemize}
+
+
+\membersection{wxHtmlWindow::HistoryBack}\label{wxhtmlwindowhistoryback}
+
+\func{bool}{HistoryBack}{\void}
+
+Moves back to the previous page. (each page displayed using 
+\helpref{LoadPage}{wxhtmlwindowloadpage} is stored in history list.)
+
+
+\membersection{wxHtmlWindow::HistoryForward}\label{wxhtmlwindowhistoryforward}
+
+\func{bool}{HistoryForward}{\void}
+
+Moves to next page in history.
+
+\membersection{wxHtmlWindow::HistoryClear}\label{wxhtmlwindowhistoryclear}
+
+\func{void}{HistoryClear}{\void}
+
+Clears history.
+
+
+\membersection{wxHtmlWindow::OnLinkClicked}\label{wxhtmlwindowonlinkclicked}
+
+\func{virtual void}{OnLinkClicked}{\param{const wxString\& }{link}}
+
+Called when user clicks on hypertext link. Default behaviour is to call
+\helpref{LoadPage}{wxhtmlwindowloadpage} and do nothing else.
+
+
diff --git a/docs/latex/wx/htwinhnd.tex b/docs/latex/wx/htwinhnd.tex
new file mode 100644
index 0000000000..a0bd9fc557
--- /dev/null
+++ b/docs/latex/wx/htwinhnd.tex
@@ -0,0 +1,32 @@
+%
+% automatically generated by HelpGen from
+% htmlwintaghandler.tex at 14/Mar/99 20:13:37
+%
+
+
+\section{\class{wxHtmlWinTagHandler}}\label{wxhtmlwintaghandler}
+
+This is basicly wxHtmlTagHandler except
+it is extended with protected member m\_WParser pointing to
+the wxHtmlWinParser object (value of this member is identical
+to wxHtmlParser's m\_Parser).
+
+
+\wxheading{Derived from}
+
+\helpref{wxHtmlTagHandler}{wxhtmltaghandler}
+
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxHtmlWinTagHandler::m\_WParser}\label{wxhtmlwintaghandlerwxhtmlwintaghandlermwparser}
+
+{\bf wxHtmlWinParser* m\_WParser}
+
+Value of this attribute is identical to value of m\_Parser. The only different
+is that m\_WParser points to wxHtmlWinParser object while m\_Parser
+points to wxHtmlParser object.
+(The same object, but overcasted)
+
+
diff --git a/docs/latex/wx/htwinprs.tex b/docs/latex/wx/htwinprs.tex
new file mode 100644
index 0000000000..7737ad0a82
--- /dev/null
+++ b/docs/latex/wx/htwinprs.tex
@@ -0,0 +1,261 @@
+%
+% automatically generated by HelpGen from
+% htmlwinparser.tex at 14/Mar/99 20:13:37
+%
+
+
+\section{\class{wxHtmlWinParser}}\label{wxhtmlwinparser}
+
+
+This class is derived from \helpref{wxHtmlParser}{wxhtmlparser} and 
+its mail goal is to parse HTML input so that it can be displayed in
+\helpref{wxHtmlWindow}{wxhtmlwindow}. It uses special 
+\helpref{wxHtmlWinTagHandler}{wxhtmlwintaghandler}.
+
+\wxheading{Notes}
+
+\begin{enumerate}
+\item Product of parsing is wxHtmlCell (resp. wxHtmlContainer) object.
+\item This parser produces temporary data! You should call 
+\helpref{delete GetTempData()}{wxhtmlparsergettempdata}!
+\end{enumerate}
+
+
+\wxheading{Derived from}
+
+\helpref{wxHtmlParser}{wxhtmlparser}
+
+\wxheading{See Also}
+
+\helpref{Handlers overview}{handlers}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxHtmlWinParser::wxHtmlWinParser}\label{wxhtmlwinparserwxhtmlwinparser}
+
+\func{}{wxHtmlWinParser}{\void}
+
+\func{}{wxHtmlWinParser}{\param{wxWindow }{*wnd}}
+
+Constructor. Don't use the default one, use constructor with
+{\it wnd} paremeter ({\it wnd} is pointer to associated \helpref{wxHtmlWindow}{wxhtmlwindow})
+
+
+\membersection{wxHtmlWinParser::SetDC}\label{wxhtmlwinparsersetdc}
+
+\func{virtual void}{SetDC}{\param{wxDC }{*dc}}
+
+Sets the DC. This must be called before \helpref{Parse}{wxhtmlparserparse}!
+
+\membersection{wxHtmlWinParser::GetDC}\label{wxhtmlwinparsergetdc}
+
+\func{wxDC*}{GetDC}{\void}
+
+Returns pointer to the DC used during parsing.
+
+\membersection{wxHtmlWinParser::GetCharHeight}\label{wxhtmlwinparsergetcharheight}
+
+\constfunc{int}{GetCharHeight}{\void}
+
+Returns (average) char height in standard font. It's used as DC-independent metrics.
+
+{\bf Note:} This function doesn't return {\it actual} height. If you wanna
+know height of current font, call {\tt GetDC -> GetCharHeight()}
+
+\membersection{wxHtmlWinParser::GetCharWidth}\label{wxhtmlwinparsergetcharwidth}
+
+\constfunc{int}{GetCharWidth}{\void}
+
+Returns average char width in standard font. It's used as DC-independent metrics.
+
+{\bf Note:} This function doesn't return {\it actual} width. If you wanna
+know height of current font, call {\tt GetDC -> GetCharWidth()}
+
+\membersection{wxHtmlWinParser::GetWindow}\label{wxhtmlwinparsergetwindow}
+
+\func{wxWindow*}{GetWindow}{\void}
+
+Returns associated window (wxHtmlWindow). This may be NULL! (You should always
+test if it is non-NULL. For example {\tt TITLE} handler sets window
+title only if some window is associated, otherwise it does nothing)
+
+
+\membersection{wxHtmlWinParser::SetFonts}\label{wxhtmlwinparsersetfonts}
+
+\func{void}{SetFonts}{\param{wxString }{normal\_face}, \param{int }{normal\_italic\_mode}, \param{wxString }{fixed\_face}, \param{int }{fixed\_italic\_mode}, \param{int }{*sizes}}
+
+Sets fonts. This method is identical to \helpref{wxHtmlWindow::SetFonts}{wxhtmlwindowsetfonts}
+
+
+\membersection{wxHtmlWinParser::AddModule}\label{wxhtmlwinparseraddmodule}
+
+\func{static void}{AddModule}{\param{wxHtmlTagsModule }{*module}}
+
+Adds \helpref{module}{handlers} to the list of wxHtmlWinParser tag handler.
+
+
+\membersection{wxHtmlWinParser::GetContainer}\label{wxhtmlwinparsergetcontainer}
+
+\constfunc{wxHtmlContainerCell*}{GetContainer}{\void}
+
+Returns pointer to the currectly opened container (see \helpref{Overview}{cells}).
+Common use:
+
+\begin{verbatim}
+m_WParser -> GetContainer() -> InsertCell(new ...);
+\end{verbatim}
+
+\membersection{wxHtmlWinParser::OpenContainer}\label{wxhtmlwinparseropencontainer}
+
+\func{wxHtmlContainerCell*}{OpenContainer}{\void}
+
+Opens new container and returns pointer to it (see \helpref{Overview}{cells}).
+
+%
+%\membersection{wxHtmlWinParser::SetContainer}\label{wxhtmlwinparsersetcontainer}
+%
+%\func{wxHtmlContainerCell*}{SetContainer}{\param{wxHtmlContainerCell *}{c}}
+%
+%Allows you to directly set opened container. This is not recommended - you should use OpenContainer
+%whereever possible.
+%
+
+\membersection{wxHtmlWinParser::CloseContainer}\label{wxhtmlwinparserclosecontainer}
+
+\func{wxHtmlContainerCell*}{CloseContainer}{\void}
+
+Closes the container, sets actual container to the parent one
+and returns pointer to it (see \helpref{Overview}{cells}).
+
+
+
+\membersection{wxHtmlWinParser::GetFontSize}\label{wxhtmlwinparsergetfontsize}
+
+\constfunc{int}{GetFontSize}{\void}
+
+Returns actual font size (HTML size varies from -2 to +4)
+
+\membersection{wxHtmlWinParser::SetFontSize}\label{wxhtmlwinparsersetfontsize}
+
+\func{void}{SetFontSize}{\param{int }{s}}
+
+Sets actual font size (HTML size varies from -2 to +4)
+
+\membersection{wxHtmlWinParser::GetFontBold}\label{wxhtmlwinparsergetfontbold}
+
+\constfunc{int}{GetFontBold}{\void}
+
+Returns TRUE if actual font is bold, FALSE otherwise.
+
+\membersection{wxHtmlWinParser::SetFontBold}\label{wxhtmlwinparsersetfontbold}
+
+\func{void}{SetFontBold}{\param{int }{x}}
+
+Sets bold flag of actualfont. {\it x} is either TRUE of FALSE.
+
+\membersection{wxHtmlWinParser::GetFontItalic}\label{wxhtmlwinparsergetfontitalic}
+
+\constfunc{int}{GetFontItalic}{\void}
+
+Returns TRUE if actual font is italic, FALSE otherwise.
+
+
+\membersection{wxHtmlWinParser::SetFontItalic}\label{wxhtmlwinparsersetfontitalic}
+
+\func{void}{SetFontItalic}{\param{int }{x}}
+
+Sets italic flag of actualfont. {\it x} is either TRUE of FALSE.
+
+\membersection{wxHtmlWinParser::GetFontUnderlined}\label{wxhtmlwinparsergetfontunderlined}
+
+\constfunc{int}{GetFontUnderlined}{\void}
+
+Returns TRUE if actual font is underlined, FALSE otherwise.
+
+\membersection{wxHtmlWinParser::SetFontUnderlined}\label{wxhtmlwinparsersetfontunderlined}
+
+\func{void}{SetFontUnderlined}{\param{int }{x}}
+
+Sets underlined flag of actualfont. {\it x} is either TRUE of FALSE.
+
+\membersection{wxHtmlWinParser::GetFontFixed}\label{wxhtmlwinparsergetfontfixed}
+
+\constfunc{int}{GetFontFixed}{\void}
+
+Returns TRUE if actual font is fixed face, FALSE otherwise.
+
+\membersection{wxHtmlWinParser::SetFontFixed}\label{wxhtmlwinparsersetfontfixed}
+
+\func{void}{SetFontFixed}{\param{int }{x}}
+
+Sets fixed face flag of actualfont. {\it x} is either TRUE of FALSE.
+
+\membersection{wxHtmlWinParser::GetAlign}\label{wxhtmlwinparsergetalign}
+
+\constfunc{int}{GetAlign}{\void}
+
+Returns default horizontal alignment.
+
+\membersection{wxHtmlWinParser::SetAlign}\label{wxhtmlwinparsersetalign}
+
+\func{void}{SetAlign}{\param{int }{a}}
+
+Sets default horizontal alignment (see \helpref{wxHtmlContainerCell::SetAlignHor}{wxhtmlcontainercellsetalignhor}.
+Alignment of newly opened container is set to this value.
+
+\membersection{wxHtmlWinParser::GetLinkColor}\label{wxhtmlwinparsergetlinkcolor}
+
+\constfunc{const wxColour\&}{GetLinkColor}{\void}
+
+Returns color of hypertext link text.
+
+\membersection{wxHtmlWinParser::SetLinkColor}\label{wxhtmlwinparsersetlinkcolor}
+
+\func{void}{SetLinkColor}{\param{const wxColour\& }{clr}}
+
+Sets color of hypertext link.
+
+\membersection{wxHtmlWinParser::GetActualColor}\label{wxhtmlwinparsergetactualcolor}
+
+\constfunc{const wxColour\&}{GetActualColor}{\void}
+
+Returns actual text color.
+
+\membersection{wxHtmlWinParser::SetActualColor}\label{wxhtmlwinparsersetactualcolor}
+
+\func{void}{SetActualColor}{\param{const wxColour\& }{clr}}
+
+Sets actual text color. Note: this DOESN'T change the color! 
+You must create \helpref{wxHtmlColourCell}{wxhtmlcolourcell} yourself.
+
+\membersection{wxHtmlWinParser::GetLink}\label{wxhtmlwinparsergetlink}
+
+\constfunc{const wxString\&}{GetLink}{\void}
+
+Returns actual hypertext link. (This value is non-empty string
+if the parser is between {\tt <A>} and {\tt </A>} tags,
+wxEmptyString otherwise.
+
+
+\membersection{wxHtmlWinParser::SetLink}\label{wxhtmlwinparsersetlink}
+
+\func{void}{SetLink}{\param{const wxString\& }{link}}
+
+Sets actual hypertext link. wxEmptyString means no link.
+
+\membersection{wxHtmlWinParser::CreateCurrentFont}\label{wxhtmlwinparsercreatecurrentfont}
+
+\func{virtual wxFont*}{CreateCurrentFont}{\void}
+
+Creates font based on current setting (see 
+\helpref{SetFontSize}{wxhtmlwinparsersetfontsize},
+\helpref{SetFontBold}{wxhtmlwinparsersetfontbold},
+\helpref{SetFontItalic}{wxhtmlwinparsersetfontitalic},
+\helpref{SetFontFixed}{wxhtmlwinparsersetfontfixed},
+\helpref{SetFontUnderlined}{wxhtmlwinparsersetfontunderlined})
+and returns pointer to it.
+(If the font was already created only a pointer is returned.)
+
+Fonts created during parsing are temporary data and are not freed on DoneParser. 
+You must call \helpref{delete myparser->GetTempData();}{wxhtmlparsergettempdata}
+to free the memory!
diff --git a/docs/latex/wx/indent.bmp b/docs/latex/wx/indent.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..540b23a872fb938e0ebb2c5e0c57256f7aaa5c58
GIT binary patch
literal 31760
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
Fe*@1)u($vK

literal 0
HcmV?d00001

diff --git a/docs/latex/wx/wxhtml.tex b/docs/latex/wx/wxhtml.tex
new file mode 100644
index 0000000000..268fab1966
--- /dev/null
+++ b/docs/latex/wx/wxhtml.tex
@@ -0,0 +1,31 @@
+\section{wxHTML Sub-library Overview}\label{wxhtmloverview}
+
+This library provides classes for parsing and displaying HTML.
+
+It never intented to be hi-end HTML browser. If you're looking for
+something like that try \urlref{http://www.mozilla.org}{http://www.mozilla.org} - there's a 
+chance you'll be able to make their widget wxWindows-compatible. I'm sure
+everyone will enjoy your work in that case...
+
+But back to wxHTML. 
+
+It can be used as generic rich text viewer - for example to display 
+nice About Box (like these of GNOME apps) or to display result of
+database searching. There is \helpref{wxFileSystem}{wxfilesystem} 
+class which allows you to use your own virtual file systems...
+
+wxHtmlWindow supports tag handlers. This means that you can easily
+extend wxHtml library  with new, unsupported tags. Not only that,
+you can even use your own application specific tags!
+See lib/mod_*.cpp files for details.
+
+There is generic (non-wxHtmlWindow) wxHtmlParser class.
+
+
+
+\input htmlstrt.tex 
+\input htmlprn.tex
+\input htmlhlpf.tex
+\input htmlfilt.tex
+\input htmlcell.tex
+\input htmlhand.tex
diff --git a/docs/latex/wx/zipstrm.tex b/docs/latex/wx/zipstrm.tex
new file mode 100644
index 0000000000..569c28a618
--- /dev/null
+++ b/docs/latex/wx/zipstrm.tex
@@ -0,0 +1,33 @@
+%
+% automatically generated by HelpGen from
+% zipstream.h at 02/May/99 19:54:25
+%
+
+
+\section{\class{wxZipInputStream}}\label{wxzipinputstream}
+
+This class is input stream from ZIP archive. The archive
+must be local file (accessible via FILE*).
+It has all features including StreamSize and seeking.
+
+\wxheading{Derived from}
+
+wxInputStream
+
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+
+\membersection{wxZipInputStream::wxZipInputStream}\label{wxzipinputstreamwxzipinputstream}
+
+\func{}{wxZipInputStream}{\param{const wxString\& }{archive}, \param{const wxString\& }{file}}
+
+Constructor.
+
+\wxheading{Parameters}
+
+\docparam{archive}{name of ZIP file}
+
+\docparam{file}{name of file stored in the archive}
+
+
-- 
2.50.0

