From 1d451aada0455b19f0de47aa16761ebc0b3123ca Mon Sep 17 00:00:00 2001
From: Michael R Sweet
Date: Sun, 24 Mar 2002 21:51:32 +0000
Subject: [PATCH] Finish changes to FLUID chapter...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2010 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
---
documentation/cubeview.gif | Bin 8289 -> 10937 bytes
documentation/fluid.html | 172 ++++++++++++++++++-------------------
2 files changed, 85 insertions(+), 87 deletions(-)
diff --git a/documentation/cubeview.gif b/documentation/cubeview.gif
index 7dd3863f93cef9ac6236d46f0ba0b9b4bdf78cca..024cc55d2fe8103322dc7724bc122794e72f0965 100644
GIT binary patch
literal 10937
zcmchbRa+E{_qB)aMg(b8x&hR&h8yP09=7*cX*M5SYVpWpvO
zyz6jZ*E(2h?~{EiD9MY8m{+4Up^X6m|Ni|0006l0aNKVoP$(!oG#nHO67Vf;ncup3
z`1kMOAAAj|98)9U3BI}cS2MOWx`yQN1e2PlS!B2L&LdmeS}y+F2>61PBWq+MYkKFm
zn0|n9%|U5haEt8Tmgz13s!{vAUQ(;H8t7Kwbk3z3y?HSYlDOPmSjUqK}~Sv#m(q4lF11S-$H7~*OU$|QQM_y
zC%1sw{u^AhK)39Rdc{IZ-HUpWCpY0uqwr}sC>{g=_yf3Qkx1m$+SbzY5*!L29UATJ
z>%F+R0B3_si%OBZ$Z#3iaG6orP(VvlOE_RO93UGWDl0qmzgqtPi2J|x0sq^D3=S#;
zfEFGR85IqTi3P>QCnP2%r=+H(XJlq&=j4L((!$U&ic7E}ipxqMC1`-K@GuAofRv1!
z0zg>>sqN|#;Vc%VqQf90?4778!hpexr>AD-=N4y|7gm-K>uZ~yGIAd
zhbQM}Q_B1=cme!3w|9R55BxEIuAXpLDJDpwK(a7wQry|<#X?Kc*UDf;t=%rr1%Kbd
zgh0u7JflPy9Y@ofHlM$omBy3WZ)INcd_Pg)NPR2ikAs10yYq37AV4M@pI*78a;`)%
z6+M0@W|j;~HCH)Lxz)a+Lb=&~vnw4!5RU8nu&>-!GbejHdqdFR#bnfqa$Vi}&MD-)
z-r{nw>kp-jS#0D_dZSc4V4_E^Ml=A9Bqe_=4Udx;oXdzxsh2{?nL#gO&CRXeFHK_16wV2W7x|p
zcVoHRj&?!(W9)lzyz)opPE0{;EFo_U(L-LyVAH$-e4(`4PgZ0_LH1Krg^%}BHRU<1
z(g4Qh2kClU+S~Ch2OYWSW>Fl-Ec~Mv!`Zgw5Nkr5p@Hv-aZl{~U=MVq{WKpWa>3Mqr1J^}|0xRsS^N85~XLB3ji_%J<4q@2!yKm8#?$5L&NL3JmEatwN)#sGlf+l{Z<(m>*
z2mOFQ2#eAI40N5Ym-KCFua}LzzbXF$zZ!mYGgBtF{%jH*3~7YFF#7wBP9G6F7KW
z7G9dxRKxv$sM0N&;qcyVN4W3^uLIfYeAb+Y&pT$_R213`yxyrTPOa?bI{g$?!SUHC
zjOKk4IUpLFNTMb2$^7(3Ch;qk@&R|nBknu%KV9NjSv+A<9RCzQvy~pCg3Gfaa?@ucY@DU3B&Egxb!?3D0jA4+ft$NqwpX|(3oZH
zVsAt+mKfj~SNeucX;SpzcS_b&DI*$+V~}~b5@;Gm(`$j-ntL!U9q(be!elV{wd+rM
za#{(ijS@`4ZC*70jGWz+D$;NXKe=p#o&qZkD%eDxF`-&6xWo=K6n~f44o+Zt-K=8A
zyn~0BDi;og$mtNf%ZzSp31liwyQMT|&rDeg!QZKs>JsDW11lsCW3aTnbh1F)nxYi8
z(?Jgl1xKnj^eesvUN_}AzYSAA&RCW&0ksMepDN_o9%e$SbadkQE49*Civv(lhrQBD
zMFo3x&{}e#)I7Tf>6%uMK#KpHc!(++r$U;AkW{C~3l(pVh5U!B3eLCq3ce2u#jiX+
z$v)4h^X<=q$OP*h?0$LlKn7wX!>pT7Lle_w4zbgJ9-s-TWVvBp--A-Z&}
z?w|)0_~lEr@!=X}6YF>_Nw|Z;ZEQ*8!*zWKQH>dn3S#KhO#@KvEE@q`8N*+yNr>lu
zK-YxiCw%4)=a|xC9HAalzG?pSTw~iV*gKzd(^9EcYp(}eTkg7PZSXv|wW-$a>56OX
zP=gjzzm4S3M9a4wLb~M1Z0!0W+w%oVM}mwLi=V!7%)s%!pk{!
zEAJQ$9P%g#Dfdy=!;g;*+j5gwpKZGB<#W(=2?j-OOPhCWd!pO4P5wkZ-1Y;A8$xhY
zx6x^-2NWjiDMnPVP=E3#dvs;^N)~gu?!wxDvG9f{k*OVG|GQx(;zpo?>MnUA!kkyJ
zF;;JCm#X`2ls};{&PH|b)%x9-=yYR(_tYN4`$CS`>Yba
zEUe5*isjq~oC^0)-LaCNDGDhzn_j0n(<5I+A=<_88@EV-s+rTnM>65?5ISRInmhv
zJY7Fpj&1vVy5-URxOth--oxmyj%-bavne|H2K3#*!MYhOcy_sgDBr97h@K9X9xCP=sjc1!TgJh^v0;Dg
zB8Yz6oXMx`{~-DMU(%BS7)4cW>LXwK;Y^GocuX#skTU2dllLwfuRl|7utGXJ+~>?D
zK<9Ocrcf}Zk2tnZ$YDxIdP7M2fg~}z)Pf-On=AuW=1>a7Pz}q_m$=fe6n#@lg2Pd|
zfy^DUq_`o^#bI2CFx{eo;CGgroxICjh0YhPN_SX}H)(nB;^o%~3dHC^V5Y;z%#t
zlrnVfR$7_;qbefe1|!lwQxdu2MFf;1LHORi@fvTBe7zWHG9hZFFR5LLt9#^i98L1?
z(AT~r&~YNtML+llt{n1p_~M8k*`A+oRutb-bP0v_yH-`!x0)&XD(*+Pp40(#-ijm9
zkryKJad#4l>^jM!F{M7*`#)lOgp@z~XeivNRbIt>*#j0)$Cl{Fw&=zj9Dd1)#&pfJ
zul5P|!_`7(2Q}-*Ip~7gfC?S9FDh--Om0E8h}Z%JRZ+RPF`szXh`5xFIFyVc@S+9u
zjKeWY?azJ}+xI;lk(H2M8lO25zdRS`-x_U5EqYX$a0665yHj94jK>-E1B~++=p^2X
zCLLI6U37Rob!dqx$g!;?X<{Y*J4zzQ)5Yu5MoqX;WG7Q&B~wF^877(OCUqIbQkV>q
zue^dtqg~&0rjU@Qyd6*Bk4gHD8}RpQs<3aW=%mTZ%v77vRJk7p@x=yv$kchoG#$@m
z`PEdV7?SS-til~>9ysYvktuK3(pz^Z_>$5MJJXF<(+y~_%xE$!#4;=mGOT?wY_l`$
zJ2Mn1po5XTk4079ib33wgyE=1wR&)E5$bR!1HfG~TXacH2td-lWiwnURt^nL50Dc2t
zJc-aRgYX>yK*NNO0{{TO=Jns_ZPVoMiskPsDFa{f-j$cN~R5r?F
zgJFgVFvEN;UT$evZf&3c-%G36Q0}-^UX6_v1Hf{@uW)(=aNsP#`%&)KRS~dO5hPyz
zTjq5b{%b3Fntx+Cz?{lhsG!f16DWsn2m8e*JR1Gubocwp%Q@HNQKxkCRIfQIuiuc#
zn>3#tDsS_ul2`J9WC=B|5*9KH*5|64#H(8jtK0mlJ7TNztkS`LmB$%XMVv2fnX5W2
zoCd{73&ovxqv-0DsSl$dEX9z7rD_gHPNqE-3I?Us+|f(LuU%uVjc;Xi+^OC&tV8Bh
zO8C~Dbk+5AB^6MnUK(n$8W?#^>iwavzl){jg@EqY>JJ+0sSoSXB}D#0zZ6W?W8^kG
z>NHq+HlS5Ekb+d+O@{2eYNYD^O7R#<=G#ce6-d+V#vQx^oPV_vj=rEkzljfy4%+f|EbIt8Fwt4RV7B1
zI^0|rhVT|;qgEYqA+^)SF2xqadi$5h2vrp(
zcL|=EEV+S7p!`9H4o+t>TW1J*2mfP>v$q@2X_!dSvbRwFoK^
zPFP)u*=XuwUg)ZmaBqNdH>u#IpJuj!x^iGVP!aCF$8K%%p4z|OrL+N6z|J}9^g3L1
z*drhOv_}QKm+f6oie~3u?N>4E@wX2_>jZ+Er@cY6z=u@71(-^afoa
zr@zREao?za0@SBg+F!iVXF<@n_qs1bv3u!IrNyHEJUU`&up4`-=gHv>KKLV{s_S0~
zAN06xu;O5_``{^Pz`uR42emRN`#8vC8#SYxVBizL>Nvzs=)oBf!X1aZ?+_W2)-{M0
z+<+_Wd>2i$->)~KPV5Ne#~5s889dN`@lkSw$!dfeI1+SQucF$K@hM`NYq+aBN|!tM
ztE0HsQI;o0?F&DOV%asGj{{d7u7ce>@$!aWt`UUf`&l
z`?wV0um;}P8@iFODT&XLbTG%Rr-vLF;j4Ne9vSRp?I?6XsYU@aQoOdZWxh;Bb(@OTL3H~6(-*U+g%yl
zr%eF1u)kFdOL;YlN^qRQ8-doILD`1~8Uq3a76;6Y=|Tfw6X2<}9=N~}%-e@VQ*|o%
zJA6D2z8WyS*WPgA2+dX*5XPMO%{>G8G&8H`aa%K?cQ^KTVn*(4<{#lK&g-ttnjnlg
zC{kd0zh>5TVs?%z$_O@k>PT`+yba(
z;jVi|b#oE(SpGgM&WuP+J8zzjeyCY;NV#{>h)Cxfy^8tsa_(aMiQ{rs+)}VHiz-i&
z6I|7G6Sab|1k+J#ln-1~%3Gp<&-nGOWbCh)<&B}m0m-BW?T9{Bff2FK@}_V^pvO3N
z@${0>imelZ{@qwc;A%?RYK~KEp9nPUT(Tf0OK%bynULC{Yt%XLq>Yo@oA_c;DVTL03jpoeb@M)a72+n|=9&ao(C;
zg}P?BIvo|>eKqMX8VvhdTf92NEnlVu^-#?Q`9en12Q{^g^!Eq6>j&5hNMQ%0Xf*PD
zHBw<5$#;rO#X7WNKnh)aX-q!!>pKkCIt)S`hAe(R!2BcW?7B0*S}|Y4
z&6CvaS1xgVb=5i5S^3AEeg^Y#0y(JTLf-0b`{N7yx`c#OFmZK7LTW0pOL|>h^#ugv
znpul-uCF`l$Upt*b&AZ%>}$;wn9an;&YCPUjt~=wipeqz{iZy4rnqy4y1UFuKBh^9
zm}MB4=)0O6zc{U#JUuu$y|OaB!!jA+%^FLkr`IoE!W88^@nFwr63c2
z@CQKXhr1BdyD*o#h~T@}g1flHyM+F`#GiLbAMR63?~{Y?(-QA93hu%E_xbhrg+K3$
z`tJ`{S*ooc_;y%)s_^aQ!GAmP8ydjSRRD1ai!8K2AD`?!03ghSkLgFawR$`B;c28k
z_plRlqTmVIZ?BSst1|EeuYW=dd8%eCKr;hWHW08|6u9x-Lh;I8^5at{<@skkqB=`S
z8_?)x(KNfz_kW@Rk}!g!Y!CWT=LLDnhkNJ3ii09=9Mkr+yfrXkNadkt|4A-&>)pw|-sdQ$+vpfSFh+*01CN)j=Aro*gq~N
zc$^-D?4v#C6akt7nlCtYEMO^862i3xt+p#&P6W4$qk0-AYrUsr1F3c``TLs^)y_ZD
zC(;Dok;ZGH<-VYm2qF|~+Mi70GU}5w;|-w(OQ8IxPsKb4XNx5$obTri;0D*{#1+NeK4s{7`Aquc)<
zv2@Sf??r-ckGk#uSjgFWcQDC^zNh=E)Ajzu5B;d;r^m;CBxWJ##EOLh0+`!jzUYOw
zLjuIoxaJY$>Wb!(R34s4}Ms^JshzTnivef}%wXYd+8-mNTkcCW^NY_j?=(Ll%=g
zAr$yMLHxvLJAs1Xw>dysy;3Gwo&ge)^oe)UGF2Ug*iF^`11t;^QI9DL58&vuOw>R>
zK1e;L50}f0SiyBGL@@P`BfGcMH$*cLW}L#A)(}5mBosVcn&p2
z!Vk8kO-ogmL+S2|UhB^NMBW>2Giu(Ow8_uT={$IWUgci@hRMREpqdTnXIoyzOVg<9eNlf!|)|KjMJPp!^lM~6>(c3b`JgC5GzJVG
zK`+A7=ny6w0!G-+Gvb@#ei~`j_(36LiuD~hOqXIAl~v7*=7}puS#|lDo7;#q(RPTr
zs}kt@shEPVQjX}})lZ|w0;2@T%-S^*Ys}3=#aH_ImDi8BKaa(cLx@j;RRV$5HKebU
z+Q&qL>f>E=ihp^qCvYD9NDMeDVf=?XA%pLh6v17}OcFEkAvWCC13XJ>8vO~NZ=M2B
zEPcxtGpTCtmI~+yV?%4`kyk!S?g173kLapZxuw@QS}{u;PijP^M7t7h|Hf7vrN}2w
zudFHM3dWm4nX!;(G{(JUk5+)KtZMstWA5zLdu)+G2b3Z
z{m!28$Z*XgRhcJ1znler^eE=TO(kewtOH&A%0rJVmn6W~wqu|yT3NKYxWi+Q66R5|
zvWKV`y}|-vpL{_ZFp{U8m`m^zDwV`SDk>SyZx>M-dRam!6Ji%jm6^+pKT@bUDGSF}
z@l}Xp9V+<8E~%g>D-VT^&!ch#(ghRBblIy7W|XnY$**NKB4^d^6_%*b$j9e4lyDth%YU%ZfzAgfo(BvXV
z&&(Z8mMfu&jq#C(UziCDCe<^V`nw%}>HB3Omdl#eKRepK$d#VYSZ=92|39LedeQ0=
zD2454<^OVRda;efkL%8(dp#t-t)2Oq$Cb=*b*WRhneUvJJneCHg#6lnHondS0{U`l
z^0IsAONDRNq&C}xci)vKx)1&0GBWnY@8G?QLIud=N0oQ444fA|nxJ=gh^gyYKV$uV4(-88nKHfsXaMFaypMQk(rj{)zgCTUZai(cKU=)n$~asy0S6YI^vW
zl}$=9lSQ&*=m={Ym2+gp?u%2(0UndGDD$Z=G~o$j{>?uC#UWo?qz9X$MqMHTCAYS*
z3?@GDHfbaiTHhE_4X(ks6Wqbc95A7tcDUO`+tfi7`6|qds5$Sixb>}YXOV`ydk%!~
zh}@J0o1%>#yvJ=L?*3;wPTe;DrQvsJg(AGPx|Xt~jm3koul*maH;c%4R>Zj0^5c2m
zi?^yEe+S-8W;lCN@b`Y@a(NiZQ{SwRr9aUkSy=4p3rmq0w?tE3Tgt@taI%R%h^xK$
zKcb80yKho|vqGxc`utVO&O+za@|P(7CcOCFS%L1=_!rleB|PVL&Acc?J6&6wsgt7`
zNN=@}R-_a5?D)Cd|7V|kYkp+!Jez-e*#@yk;@~$2=<4HE*?W=%c#R{eA2`_Pc{ZIui?z4Ut1kL>#DydLnZgSJ$>xe65P{1sUN5(
ze2g@nwpQ<^aeG(c3xDy=4P38xn7G$j8qDykaKY~=imPib(PY1rD{nwm1iTD
zbO`=YXj*hIA+_$~t;;#K*9n`~3sKJtg%H}Ku%;&q7*HH
zxO_rAY@@A!(Y}=d{#n6}q9V??K#Hs|O`kw;YG|}*WK1RSHaemg33S7VDOqt!vkgUv
zh-Ly~WGiEG+5O`bg9>m(il~953b7Hku@zadmL0J*9U*zP_6?O1DvEMyxX~I%;qL5W
zm02L#4p2{)Zyh3F03qDO9+REH@cRdog`x*6D`wg@c-Gc`enNQhC_*ru0psPHHDKrl
zdj$L_J{>1vM^S8FKMr|^zV(OwJ}Y5@J@V`b6?So#z;p!a7fl@Mkh4ZcS|7L_H}b4b
zBu*YB^5G_-(fIyG`0i3mV{?2)u*POxGt)PH!ox`>n~bA`L}M7(Qy+6(;WGcAj?6EK
zd$Sryp_EKz;LW+p#eL7jYYkA%+-o1CbXq2Hrfbns>7R1BMm&-ya16RQ_1DNr<
zBBN&_!>QB#Rrco*M9LU-6bZ!D6EE01Cey^%#+imIDJ#k9Mdk@2F@h$IH9NpJ+g)uu
z(`-Le0x!#rJth5bY6`?JYBDy1=0_|lMl0J_J~ulp?>@zVBgalDd%`A%2$&s&aHpUA
zAr&KDM3Wn@kdv#Q`xuq80LZMH%ZB*n|^$YPoDd6>dC6#MoiS!eO@F+
zOiwgsB1aZuMM2GY!SiwcFTBEC0|h#RJnWZQ2)jZY@tiXne-ww)oG&=lr+^zbmkJ;3
zu2B5ezL+hxm_0|9_(XAEECU&n-kO?Eg%2
z|L?p?m8wcrprvy71xa_#s7quKMQp(}YjLbz$%m>kBWRiNt5P-ma&yk|@8YGGH2DiL
zKeUt!DGiJC41EmN%6@QGxIL6v+E;ihms>-nZL7R#6dWB4%f6nJ8vrWY?JJ|#N<3pL
zK+sD0s)~7z0>DazJ${Lmuf#j$tjO5PTqs1isxltG%Il$WY_hn-(i$DVlF8mdXbn=k
zR#ot-su5aR!uctHGcf4H9%2YQf)wPORQ20eHgHxCpOn6#hOml4c=RA{kgDp3+&=u8
zxmOiK$~8^O)gXhabxZ3s@v?lHN@l~%Shl+7(W&q$3-J!fNa6ydCAb->+(r
z_O&Rln&6JQ^9PhfmLG7Jv;N;n$)a+-MQmMXaa~Y(y~}bM3crDfpcDgCfu)kZx~5S9
z^~bAjAe(F;hBbgK<#ON
zb-T_IRBnkcSJhE?v+HALxJ0LsQdhlyNx4eHNqDoeRd+R4XRSnP1FZWUZB;fwY;Jc;
z6>Vomm1N|pUvG6!Q+4UUBXDTFm5droL%w&xp;tpVhI+WGt2+;R+G{k>lK}l7hTsZ{
zBdYM!p?~MJCnPm|qgnFFzWv6ivnjWq1h+rs;nOn#
z7*I2?Em2L?(tjB~px-q>@YIOWQ|!F1KAzh{p*pB&KS&fi_@vVB0v&w&1Ytb$#EPrI
zp&N`a9O5&sU=I)_3HU^L)6cij4Z8X$B-!t_KYUd(H1%fagX+k~7b9mvBcE$VOg%?X
zcRC+c2uD@vhDhl~zdZTs7!QA~8O*Szu^-4^(XtTFyP0KnII_
zf*R?QRv8fGgR
zvos-AE7|}Z2BJli=LIvKWlN`JaOkqBgsDS(6Wz|TBH%yE3N`A_s$bqp@i~h>J#(NM
zRxrIqXdq_zH$-$iR!lF#xOXw(d?86{*(z{ZBWd|Ma@9%A(Z$J*l6;Lyd*h|WT50VD
zY1mp74|&b`nywiF9E#8_MErmuJ~*vQ#jmIIuJ@{$_Sdcs!dHjsR}}eIj^bBNdpAht
zH)^pFx=e`c&xm=V^``jE7OBN``21$=dK!E^gU56?k1Tg{mCS8pq;{)JYK=N&V`6ig
z_|KMp@7kZuwX5f~Mf&w+sdaU!{N1x1xo31OnccU}yKD)&Zy9#=Q+9bSc300Ao}}gv
z0=T%GtC*bk#On51;R_NMdms8{bwBNWB9?>+dDkZuD=5|Nt4!~!UF>TRA87F&=xpsP
z@_PI05E;}R7}Xt&0rpLak%ZsLjn$Fg7$mF`kP&1^hiPP*AkuF7V3KKAPW`Y200;#D
GB>o@xyE$?I
literal 8289
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
diff --git a/documentation/fluid.html b/documentation/fluid.html
index aa7a15d71..99dfd880e 100644
--- a/documentation/fluid.html
+++ b/documentation/fluid.html
@@ -864,6 +864,17 @@ you want the window to hide and then reappear at a new position,
you should have your program set the hotspot itself just before
show().
+The Border button turns the window manager border on
+or off. On most window managers you will have to close the
+window and reopen it to see the effect.
+
+
X Class (text field)
+
+The string typed into here is passed to the X window manager
+as the class. This can change the icon or window decorations.
+On most (all?) window managers you will have to close the window
+and reopen it to see the effect.
+

Figure 9-9: The FLUID widget Style attributes.
@@ -1103,126 +1114,113 @@ different.
it) is almost identical to the panel for any other Fl_Widget.
There are three extra items:
-Border
+
-This button turns the window manager border on or off. On
-most window managers you will have to close the window and
-reopen it to see the effect.
+
The contents of the image files in the Image
+and Inactive text fields are written to the .cxx
+file. If many widgets share the same image then only one copy is
+written. Since the image data is embedded in the generated
+source code, you need only distribute the C++ code and not the
+image files themselves.
-xclass
-
-The string typed into here is passed to the X window manager
-as the class. This can change the icon or window decorations.
-On most (all?) window managers you will have to close the window
-and reopen it to see the effect.
-
-
-
-Selecting "Image..." off the label style pull-down
-menu will bring up a file chooser from which you pick the image
-file. If an image has already been chosen, you can change the
-image used by picking "Image..." again. The name of
-the image will appear in the "label" field, but you
-can't edit it.
-
-The contents of the image file are written to the
-.cxx file, so if you wish to distribute the C code, you
-only need to copy the .cxx file, not the images. If
-many widgets share the same image then only one copy is
-written.
-
-However the file name is stored in the .fl
-file, so to read the .fl file you need the image files
-as well. Filenames are relative to the location the
-.fl file is (not necessarily the current directory). I
+
However, the filenames are stored in the .fl
+file so you will need the image files as well to read the
+.fl file. Filenames are relative to the location of the
+.fl file and not necessarily the current directory. We
recommend you either put the images in the same directory as the
.fl file, or use absolute path names.
-Notes for all image types
+Notes for All Image Types
-FLUID runs using the default visual of your X server. This
-may be 8 bits, which will give you dithered images. You may get
+
FLUID runs using the default visual of your X server. This
+may be 8 bits, which will give you dithered images. You may get
better results in your actual program by adding the code
"Fl::visual(FL_RGB)" to your code right before the
first window is displayed.
All widgets with the same image on them share the same code
-and source X pixmap. Thus once you have put an image on a
+and source X pixmap. Thus once you have put an image on a
widget, it is nearly free to put the same image on many other
widgets.
-If you are using a painting program to edit an image: the
-only way to convince FLUID to read the image file again is to
-remove the image from all widgets that are using it (including
-ones in closed windows), which will cause it to free its
-internal copy, and then set the image again. You may find it
-easier to exit FLUID and run it again.
+If you edit an image at the same time you are using it in FLUID,
+the only way to convince FLUID to read the image file again is to
+remove the image from all widgets that are using it or re-load the
+.fl file.
Don't rely on how FLTK crops images that are outside the
-widget, as this may change in future versions! The cropping of
+widget, as this may change in future versions! The cropping of
inside labels will probably be unchanged.
To more accurately place images, make a new "box"
-widget and put the image in that as the label. This is also how
-you can put both an image and text label on the same widget. If
-your widget is a button, and you want the image inside it, you
-must change the button's boxtype to FL_UP_FRAME (or
-another frame), otherwise when it is pushed it will erase the
-image.
+widget and put the image in that as the label.
-XBM (X bitmap files)
+XBM (X Bitmap) Files
-FLUID will read X bitmap files. These files have C source
-code to define a bitmap. Sometimes they are stored with the
-".h" or ".bm" extension rather than the
-standard ".xbm".
+
FLUID reads X bitmap files which use C source code to define
+a bitmap. Sometimes they are stored with the ".h" or
+".bm" extension rather than the standard
+".xbm" extension.
-
FLUID will output code to construct an Fl_Bitmap widget and
-use it to label the widget. The '1' bits in the bitmap are
-drawn using the label color of the widget. You can change the
-color in FLUID. The '0' bits are transparent.
+FLUID writes code to construct an Fl_Bitmap image and use it
+to label the widget. The '1' bits in the bitmap are drawn using
+the label color of the widget. You can change this color in the
+FLUID widget attributes panel. The '0' bits are transparent.
The program "bitmap" on the X distribution does an
-ok job of editing bitmaps.
+adequate job of editing bitmaps.
-XPM (X pixmap files)
+XPM (X Pixmap) Files
-FLUID will read X pixmap files as used by the libxpm library.
-These files have C source code to define a pixmap. The
-filenames usually have a ".xpm" extension.
+
FLUID reads X pixmap files as used by the libxpm
+library. These files use C source code to define a pixmap. The
+filenames usually have the ".xpm" extension.
-
FLUID will output code to construct an Fl_Pixmap widget and
-use it to label the widget. The label color of the widget is
-ignored, even for 2-color images that could be a bitmap.
+FLUID writes code to construct an Fl_Pixmap image and use it
+to label the widget. The label color of the widget is ignored,
+even for 2-color images that could be a bitmap. XPM files can
+mark a single color as being transparent, and FLTK uses this
+information to generate a transparency mask for the image.
-XPM files can mark a single color as being transparent.
-Currently FLTK and FLUID simulate this transparency rather
-badly. It will use the color() of the widget as the background,
-and all widgets using the same pixmap are assumed to have the
-same color. This may be fixed in the future or on non-X
-systems.
+We have not found any good editors for small iconic pictures.
+For pixmaps we have used XPaint
+and the KDE icon editor.
-I have not found any good editors for small iconic pictures.
-For pixmaps I have used XPaint.
-This (and most other) painting programs are designed for large
-full color images and are difficult to use to edit an image of
-small size and few colors.
+BMP Files
-GIF files
+FLUID reads Windows BMP image files which are often used in
+WIN32 applications for icons. FLUID converts BMP files into
+(modified) XPM format and uses a Fl_BMP_Image image to label the
+widget. Transparency is handled the same as for XPM files. All
+image data is uncompressed when written to the source file, so
+the code may be much bigger than the .bmp file.
-FLUID will also read GIF image files. These files are often
-used on html documents to make icons. This lets you use nice
-icons that you steal off the net in your user interface.
+
GIF Files
-FLUID converts these into (modified) XPM format and uses an
-Fl_Pixmap widget to label the widget. Transparency is handled
-the same as for XPM files. Notice that the conversion removes
-the compression, so the code may be much bigger than the .gif
-file. Only the first image of an animated gif file is used.
+FLUID reads GIF image files which are often used in HTML
+documents to make icons. FLUID converts GIF files into
+(modified) XPM format and uses a Fl_GIF_Image image to label the
+widget. Transparency is handled the same as for XPM files. All
+image data is uncompressed when written to the source file, so
+the code may be much bigger than the .gif file. Only
+the first image of an animated GIF file is used.
-Behavior and performance with large .gif files is not
-guaranteed!
+JPEG Files
+
+If FLTK is compiled with JPEG support, FLUID can read JPEG
+image files which are often used for digital photos. FLUID uses
+a Fl_JPEG_Image image to label the widget, and writes
+uncompressed RGB or grayscale data to the source file.
+
+
PNG (Portable Network Graphics) Files
+
+If FLTK is compiled with PNG support, FLUID can read PNG
+image files which are often used in HTML documents. FLUID uses a
+Fl_PNG_Image image to label the widget, and writes uncompressed
+RGB or grayscale data to the source file. PNG images can provide
+a full alpha channel for partial transparency, and FLTK supports
+this as best as possible on each platform.