home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-05-26 | 72.0 KB | 2,026 lines |
- Newsgroups: comp.sources.x
- From: envbvs@epb9.lbl.gov (Brian V. Smith)
- Subject: v19i116: xfig - Draw amd manipulate objects in an X-Window, Part04/27
- Message-ID: <1993May21.021259.5137@sparky.imd.sterling.com>
- X-Md4-Signature: 36b46015aca4f70e7654cadaebeb376e
- Sender: chris@sparky.imd.sterling.com (Chris Olson)
- Organization: Sterling Software
- Date: Fri, 21 May 1993 02:12:59 GMT
- Approved: chris@sparky.imd.sterling.com
-
- Submitted-by: envbvs@epb9.lbl.gov (Brian V. Smith)
- Posting-number: Volume 19, Issue 116
- Archive-name: xfig/part04
- Environment: X11
- Supersedes: xfig: Volume 16, Issue 6-30,39
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 4 (of 27)."
- # Contents: Examples/damper.fig.uu Examples/houseA.fig.uu
- # Examples/houseB.fig.uu Examples/schemat.fig.uu Fig-color.ad
- # d_line.c e_align.c f_xbitmap.c resources.h u_print.c w_msgpanel.c
- # w_util.c
- # Wrapped by envbvs@epb9.lbl.gov.lbl.gov on Mon May 3 12:05:47 1993
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'Examples/damper.fig.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Examples/damper.fig.uu'\"
- else
- echo shar: Extracting \"'Examples/damper.fig.uu'\" \(4835 characters\)
- sed "s/^X//" >'Examples/damper.fig.uu' <<'END_OF_FILE'
- Xbegin 444 damper.fig
- XM(T9)1R`R+C$*.#`@,@HQ(#,@,"`Q("TQ(#`@,"`R,2`P+C`P,"`Q(#`N,#`P
- XM(#(T-"`T,C$@,B`R(#(T-"`T,C$@,C0V(#0R,@HQ(#,@,"`Q("TQ(#`@,"`R
- XM,2`P+C`P,"`Q(#`N,#`P(#4Q."`T,C$@,B`R(#4Q."`T,C$@-3(P(#0R,@HQ
- XM(#,@,"`Q("TQ(#`@,"`R,2`P+C`P,"`Q(#`N,#`P(#0S-B`Q,S8@,B`R(#0S
- XM-B`Q,S8@-#,X(#$S-PHQ(#,@,"`Q("TQ(#`@,"`R,2`P+C`P,"`Q(#`N,#`P
- XM(#,R-B`Q,S8@,B`R(#,R-B`Q,S8@,S(X(#$S-PHR(#$@,"`Q("TQ(#`@,"`P
- XM(#`N,#`P(#`@,"`P"@D@,C,W(#0Q-"`R-#D@-#(V(#DY.3D@.3DY.0HR(#$@
- XM,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-3$R(#0Q-"`U,C0@-#(V(#DY
- XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-#,P(#$S
- XM,"`T-#(@,30R(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
- XM,"`P"@D@,S(P(#$S,"`S,S(@,30R(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@
- XM,"`P(#`N,#`P(#`@,"`P"@D@,S`X(#$U-2`S,#@@,30V(#,W,B`Q-#8@,S<R
- XM(#0U-R`R-3,@-#4W(#(U,R`T,S`@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P
- XM(#`@,"XP,#`@,"`P(#`*"2`R,S4@-#,P(#(S-2`T-S8@-3(X(#0W-B`U,C@@
- XM-#,P(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
- XM-#4T(#$U-2`T-30@,30V(#,Y,"`Q-#8@,SDP(#0U-R`U,#D@-#4W(#4P.2`T
- XM,S`@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`R
- XM.3`@,34U(#(Y,"`Q,C<@,S4T(#$R-R`S-30@.3$@-#`Y(#DQ(#0P.2`Q,C<@
- XM-#<S(#$R-R`T-S,@,34U(#DY.3D@.3DY.0HR(#(@,"`R("TQ(#`@,"`U(#`N
- XM,#`P(#`@,"`P"@D@,SDP(#$U-2`T-30@,34U(#0U-"`Q-S,@,SDP(#$W,R`S
- XM.3`@,34U(#DY.3D@.3DY.0HR(#,@,"`R("TQ(#`@,"`U(#`N,#`P(#`@,"`P
- XM"@D@,C4S(#0Q,2`S-#4@-#$Q(#,T-2`S,S@@,S8S(#,S."`S-C,@-#$Q(#,W
- XM,B`T,3$@,S<R(#0S,"`R-3,@-#,P"@D@,C4S(#0Q,2`Y.3DY(#DY.3D*,B`R
- XM(#`@,B`M,2`P(#`@-2`P+C`P,"`P(#`@,`H)(#,Y,"`T,3$@-3`Y(#0Q,2`U
- XM,#D@-#,P(#,Y,"`T,S`@,SDP(#0Q,2`Y.3DY(#DY.3D*,B`S(#`@,B`M,2`P
- XM(#`@-2`P+C`P,"`P(#`@,`H)(#,P."`Q-34@,S<R(#$U-2`S-S(@,3<S(#,V
- XM,R`Q-S,@,S8S(#(V-2`S-#4@,C8U(#,T-2`Q-S,@,S`X(#$W,PH)(#,P."`Q
- XM-34@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`Q(#`*"3`@
- XM,"`Q+C`P,"`T+C`P,"`X+C`P,`H)(#(Y.2`Q.38@,CDY(#$U.2`Y.3DY(#DY
- XM.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#$@,`H),"`P(#$N,#`P(#0N
- XM,#`P(#@N,#`P"@D@-#8S(#(P,2`T-C,@,38T(#DY.3D@.3DY.0HR(#$@,"`Q
- XM("TQ(#`@,"`P(#`N,#`P(#`@,2`P"@DP(#`@,2XP,#`@-"XP,#`@."XP,#`*
- XM"2`U,3@@-#`W(#4Q."`S-S`@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@
- XM,"XP,#`@,"`Q(#`*"3`@,"`Q+C`P,"`T+C`P,"`X+C`P,`H)(#(T-"`T,#<@
- XM,C0T(#,W,"`Y.3DY(#DY.3D*,B`S(#`@,B`M,2`P(#`@-2`P+C`P,"`P(#`@
- XM,`H)(#(Y,"`Q-34@,CDP(#$W,R`Q.3@@,3<S(#$Y."`T,3$@,C,U(#0Q,2`R
- XM,S4@-#,P(#$Y."`T,S`@,3DX(#4P,PH)(#4V-"`U,#,@-38T(#0S,"`U,C@@
- XM-#,P(#4R."`T,3$@-38T(#0Q,2`U-C0@,3<S(#0W,R`Q-S,@-#<S(#$U-0H)
- XM(#4X,B`Q-34@-3@R(#4R,2`Q.#`@-3(Q(#$X,"`Q-34@,CDP(#$U-2`Y.3DY
- XM(#DY.3D*,B`S(#`@,B`M,2`P(#`@,R`P+C`P,"`P(#`@,`H)(#$V,2`Q-34@
- XM,CDP(#$U-2`R.3`@,3(W(#,U-"`Q,C<@,S4T(#DQ(#0P.2`Y,2`T,#D@,3(W
- XM(#0W,R`Q,C<*"2`T-S,@,34U(#8P,2`Q-34@,S@Q(#0U(#$V,2`Q-34@.3DY
- XM.2`Y.3DY"C(@,B`P(#$@+3$@,"`P(#,@,"XP,#`@,"`P(#`*"2`S,#@@,30V
- XM(#,W,B`Q-#8@,S<R(#$U-2`S,#@@,34U(#,P."`Q-#8@.3DY.2`Y.3DY"C(@
- XM,B`P(#$@+3$@,"`P(#,@,"XP,#`@,"`P(#`*"2`S.3`@,30V(#0U-"`Q-#8@
- XM-#4T(#$U-2`S.3`@,34U(#,Y,"`Q-#8@.3DY.2`Y.3DY"C,@,R`P(#$@+3$@
- XM,"`P(#`@,"XP,#`@,"`P"@D@,S@Q(#DU(#,W,B`Q,#0@,S@Q(#$Q-"`S.3`@
- XM,3(S(#,X,2`Q,S(@,S<R(#$R,R`S.#$@,3$T(#,Y,"`Q,#0@,S@Q(#DU(#DY
- XM.3D@.3DY.0H)(#,X-BXQ-3,@.34N,C4P(#,W-BXP.#4@.34N,C4P(#,W,2XY
- XM-C8@.3DN,S<U(#,W,2XY-C8@,3`Y+C0U.`H)(#,W.2XP,S0@,3$Q+C0Y-2`S
- XM.#,N,C`T(#$Q-2XV-S$@,SDP+C(W,2`Q,3<N-S`X(#,Y,"XR-S$@,3(W+C<Y
- XM,@H)(#,X-BXQ-3,@,3,Q+CDQ-R`S-S8N,#@U(#$S,2XY,3<@,S<Q+CDV-B`Q
- XM,C<N-SDR(#,W,2XY-C8@,3$W+C<P.`H)(#,W.2XP,S0@,3$U+C8W,2`S.#,N
- XM,C`T(#$Q,2XT.34@,SDP+C(W,2`Q,#DN-#4X(#,Y,"XR-S$@.3DN,S<U"@D@
- XM,S@V+C$U,R`Y-2XR-3`@,S<V+C`X-2`Y-2XR-3`*,R`R(#`@,2`M,2`P(#`@
- XM,"`P+C`P,"`P(#$*"3`@,"`Q+C`P,"`T+C`P,"`X+C`P,`H)(#,R-B`Q,C,@
- XM,S,U(#@V(#,Y,"`W,B`U,3@@-C@@.3DY.2`Y.3DY"@D@,34N.3,R("TY+C(U
- XM,"`S,C8N.30P(#$P,2XS.#<@,S(Y+C(R."`Y,BXR,C`@,S0W+C8Q,2`W,RXX
- XM,#D*"2`S-S<N,S,T(#<T+C$V-"`T,3(N,C0Y(#8Y+C(R-"`T-#0N,C@S(#8X
- XM+C`W."`Q-2XY,S(@+3DN,C4P"C,@,B`P(#$@+3$@,"`P(#`@,"XP,#`@,"`Q
- XM"@DP(#`@,2XP,#`@-"XP,#`@."XP,#`*"2`T,S$@,3(S(#0T,2`Q,#`@-3$X
- XM(#<R(#DY.3D@.3DY.0H)(#$U+CDS,B`M.2XR-3`@-#,T+C8S,"`Q,#DN,3$Q
- XM(#0S-BXY,3@@,3`S+C,X,B`T-3(N.3<P(#@W+CDU-`H)(#0W,BXT,3D@.#$N
- XM,#<Y(#$U+CDS,B`M.2XR-3`*,R`R(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#$*
- XM"3`@,"`Q+C`P,"`T+C`P,"`X+C`P,`H)(#(U,R`T,#<@,C<Q(#,U-B`R.30@
- XM,S(Y(#DY.3D@.3DY.0H)(#$U+CDS,B`M.2XR-3`@,C8Q+CDX-B`S-S<N,S,W
- XM(#(V-BXU-C,@,S8T+C<S,R`R-S0N-#0Q(#,U,2XP,#8*"2`R.#`N,38R(#,T
- XM-"XQ,S$@,34N.3,R("TY+C(U,`HS(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
- XM,0H),"`P(#$N,#`P(#0N,#`P(#@N,#`P"@D@-3`U(#0P,B`T-S,@,S<P(#0R
- XM,B`S,S0@,S0Y(#,R-"`Y.3DY(#DY.3D*"2`Q-2XY,S(@+3DN,C4P(#0X-BXU
- XM.#$@,S@S+C,T-2`T-S@N-3<R(#,W-2XS,C0@-#8Q+C<X-"`S-C`N.34V"@D@
- XM-#,V+C0Y.2`S,SDN,C`T(#0P.2XV.#8@,S(X+C4X-2`S.3$N,S@P(#,R-BXR
- XM.3,@,34N.3,R("TY+C(U,`HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Q,B`X
- XM."`U,C,@-S(@4F5T=7)N($1A;7!E<G,_`0HT(#`@,"`Q,B`P("TQ(#`@,"XP
- XM,#`@-"`Q,B`S-"`R.3`@,S$U(%-U<'!L>0$*-"`P(#`@,3(@,"`M,2`P(#`N
- XM,#`P(#0@,3(@-#8@,S`S(#,S-"!$86UP97)S`0HT(#$@,"`Q-B`P("TQ(#`@
- XM,"XP,#`@-"`Q-2`S,3(@,S@Q(#(R(%-C:&5M871I8R!O9B!4=V\M6F]N92!$
- X686UP97)E9"!);G-T86QL871I;VX!"E-C
- X`
- Xend
- END_OF_FILE
- if test 4835 -ne `wc -c <'Examples/damper.fig.uu'`; then
- echo shar: \"'Examples/damper.fig.uu'\" unpacked with wrong size!
- fi
- # end of 'Examples/damper.fig.uu'
- fi
- if test -f 'Examples/houseA.fig.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Examples/houseA.fig.uu'\"
- else
- echo shar: Extracting \"'Examples/houseA.fig.uu'\" \(5917 characters\)
- sed "s/^X//" >'Examples/houseA.fig.uu' <<'END_OF_FILE'
- Xbegin 444 houseA.fig
- XM(T9)1R`R+C$*.#`@,@HU(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P(#(V
- XM,BXW-3`@-#$P+C(U,"`R-C0@,S4Y(#(Y.2`S-S0@,S$T(#0P.0HU(#$@,"`Q
- XM("TQ(#`@,"`P(#`N,#`P(#$@,"`P(#0W-2XR-3`@-#$P+C(U,"`T-S0@,S4Y
- XM(#0S.2`S-S0@-#(T(#0P.0HQ(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#$@,"XP
- XM,#`@,CDQ(#0X-R`Q,2`Q-2`R.#(@-#<P(#,P,B`U,#(*,2`Q(#`@,2`M,2`P
- XM(#`@,"`P+C`P,"`Q(#`N,#`P(#,V-"`T.3D@,3$@,38@,S8T(#0Y.2`S-S0@
- XM-3$T"C$@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,2`P+C`P,"`S-C4@-#4T(#$Q
- XM(#$V(#,V-2`T-30@,S<U(#0V.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
- XM,"`P"@D@,C@R(#0Y-"`R.#(@-3`U(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@
- XM,"`P(#`N,#`P(#`@,"`P"@D@,S`P(#0Y-B`S,#`@-3`U(#DY.3D@.3DY.0HR
- XM(#0@,"`Q("TQ(#`@,"`P(#`N,#`P(#,@,"`P"@D@,C<X(#4P-2`R-S@@-3$W
- XM(#,P-"`U,3<@,S`T(#4P-2`R-S@@-3`U(#DY.3D@.3DY.0HR(#0@,"`Q("TQ
- XM(#`@,"`P(#`N,#`P(#<@,"`P"@D@,C0T(#4Q-"`R-#0@-#(T(#(P-"`T,C0@
- XM,C`T(#4Q-"`R-#0@-3$T(#DY.3D@.3DY.0HR(#,@,"`Q("TQ(#`@,"`P(#`N
- XM,#`P(#`@,"`P"@D@,S$T(#0Q.2`S-30@-#$Y(#,U-"`T,30@,S<Y(#0Q-"`S
- XM-SD@-#$Y(#,X-"`T,3D@,S@T(#4Q.2`S.30@-3$Y"@D@,SDT(#0Q.2`T,C0@
- XM-#$Y(#0R-"`T,#D@,S$T(#0P.2`S,30@-#$Y(#DY.3D@.3DY.0HR(#,@,"`Q
- XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-#<T(#0P.2`U,#D@-#`Y(#4P.2`W
- XM.2`Q.#D@-SD@,3@Y(#8Y(#4Q.2`V.2`U,3D@-3(Y(#$X.2`U,CD*"2`Q.#D@
- XM,3,Y(#$Y.2`Q,SD@,3DY(#0P.2`R,SD@-#`Y(#(S.2`S.3D@,C0Y(#,Y.2`R
- XM-#D@-#`Y(#(V-"`T,#D*"2`R-C0@-#$Y(#$Y.2`T,3D@,3DY(#4Q.2`U,#D@
- XM-3$Y(#4P.2`T,3D@-#<T(#0Q.2`T-S0@-#`Y(#DY.3D@.3DY.0HR(#$@,"`Q
- XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,S0T(#0Q.2`S-#0@-3$Y(#DY.3D@
- XM.3DY.0HR(#,@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,3@Y(#8Y(#$Q
- XM.2`V.2`Q,3D@,S`Y(#$X.2`S,#D@,3@Y(#(Y.2`Q,CD@,CDY(#$R.2`W.2`Q
- XM.#D@-SD*"2`Q.#D@-CD@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP
- XM,#`@,"`P(#`*"2`Q,CD@,38Y(#$X.2`Q-CD@.3DY.2`Y.3DY"C(@,2`P(#$@
- XM+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q,CD@,3@T(#$X.2`Q.#0@.3DY.2`Y
- XM.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q,CD@,3DY(#$X
- XM.2`Q.3D@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*
- XM"2`Q,CD@,C$T(#$X.2`R,30@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@
- XM,"XP,#`@,"`P(#`*"2`Q,CD@,C(Y(#$X.2`R,CD@.3DY.2`Y.3DY"C(@,2`P
- XM(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q,CD@,C0T(#$X.2`R-#0@.3DY
- XM.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q,CD@,C4Y
- XM(#$X.2`R-3D@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P
- XM(#`*"2`Q,CD@,C<T(#$X.2`R-S0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P
- XM(#`@,"XP,#`@,"`P(#`*"2`Q,CD@,C@Y(#$X.2`R.#D@.3DY.2`Y.3DY"C(@
- XM,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`S,#D@-CD@,S`Y(#<Y(#DY
- XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,S@Y(#8Y
- XM(#,X.2`W.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@
- XM,`H)(#,P.2`W-"`S.#D@-S0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@
- XM,"XP,#`@,"`P(#`*"2`R-CD@-3$Y(#(V.2`U,CD@.3DY.2`Y.3DY"C(@,2`P
- XM(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`S,CD@-3$Y(#,R.2`U,CD@.3DY
- XM.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`R-CD@-3(T
- XM(#,R.2`U,C0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P
- XM(#`*"2`U,#D@,3DY(#4Q.2`Q.3D@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P
- XM(#`@,"XP,#`@,"`P(#`*"2`U,#D@,C<Y(#4Q.2`R-SD@.3DY.2`Y.3DY"C(@
- XM,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`U,30@,3DY(#4Q-"`R-SD@
- XM.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q,3D@
- XM.#D@,3(Y(#@Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
- XM,"`P"@D@,3$Y(#$Q.2`Q,CD@,3$Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@
- XM,"`P(#`N,#`P(#`@,"`P"@D@,3(T(#@Y(#$R-"`Q,3D@.3DY.2`Y.3DY"C(@
- XM,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q,SD@-CD@,3,Y(#<Y(#DY
- XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,38Y(#8Y
- XM(#$V.2`W.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@
- XM,`H)(#$S.2`W-"`Q-CD@-S0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@
- XM,"XP,#`@,"`Q(#`*"3`@,"`Q+C`P,"`T+C`P,"`X+C`P,`H)(#(Q-"`Q,#D@
- XM,3<T(#$P.2`Q-3D@,3(T(#$U.2`R.#0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@
- XM,"`P(#`@,"XP,#`@,"`P(#`*"2`R-#D@-#$Y(#(T.2`U,3D@.3DY.2`Y.3DY
- XM"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`R-3(@-#$Y(#(U,B`U
- XM,3D@.3DY.2`Y.3DY"C(@-"`P(#$@+3$@,"`P(#`@,"XP,#`@-"`P(#`*"2`R
- XM.30@.3D@,CDT(#(R-"`T,#0@,C(T(#0P-"`Y.2`R.30@.3D@.3DY.2`Y.3DY
- XM"C(@-"`P(#$@+3$@,"`P(#`@,"XP,#`@,R`P(#`*"2`T-SD@-SD@-#<Y(#$T
- XM-"`U,#D@,30T(#4P.2`W.2`T-SD@-SD@.3DY.2`Y.3DY"C(@-"`P(#$@+3$@
- XM,"`P(#`@,"XP,#`@,R`P(#`*"2`T-SD@,30T(#0W.2`Q.3D@-3`Y(#$Y.2`U
- XM,#D@,30T(#0W.2`Q-#0@.3DY.2`Y.3DY"C(@,B`P(#$@+3$@,"`P(#`@,"XP
- XM,#`@,"`P(#`*"2`S-30@-#$T(#,W.2`T,30@,S<Y(#0R,B`S-30@-#(R(#,U
- XM-"`T,30@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*
- XM"2`Q.#D@-#0T(#$Y-R`T-#0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@
- XM,"XP,#`@,"`P(#`*"2`Q.#D@-#DT(#$Y."`T.30@.3DY.2`Y.3DY"C(@,2`P
- XM(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q.30@-#0T(#$Y-"`T.30@.3DY
- XM.2`Y.3DY"C(@,R`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q.3D@,C8Y
- XM(#(T.2`R-CD@,C0Y(#(X-"`R,SD@,C@T(#(S.2`R-SD@,3DY(#(W.2`Q.3D@
- XM,C8Y(#DY.3D@.3DY.0HR(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
- XM,C0Q(#(X-"`R-#$@,S0Y(#(T-"`S-#D@,C0T(#(X-"`R-#$@,C@T(#DY.3D@
- XM.3DY.0HR(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C0T(#,S-"`R
- XM-#0@,SDY(#(T-R`S.3D@,C0W(#,S-"`R-#0@,S,T(#DY.3D@.3DY.0HR(#$@
- XM,"`R("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C8T(#0P.2`R-C0@,S4Y(#DY
- XM.3D@.3DY.0HR(#$@,"`R("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-#<T(#0P
- XM.2`T-S0@,S4Y(#DY.3D@.3DY.0HR(#0@,"`Q("TQ(#`@,"`P(#`N,#`P(#,@
- XM,"`P"@D@-#`Y(#DY(#0P.2`X-"`R.#D@.#0@,C@Y(#DY(#0P.2`Y.2`Y.3DY
- XM(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#$X.2`Q-3D@
- XM,3(Y(#$T-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@
- XM,`H)(#$Y.2`W.2`R,#D@,3,Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P
- XM(#`N,#`P(#`@,"`P"@D@,C(T(#<Y(#(R-"`Q,SD@.3DY.2`Y.3DY"C(@,2`P
- XM(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q.3D@,3,Y(#(R-"`Q,SD@.3DY
- XM.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q.#D@,3,Y
- XM(#$R.2`W.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@
- XM,`H)(#$V-"`W.2`Q.3D@,3,Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P
- XM(#`N,#`P(#`@,"`P"@D@,3@Y(#$T.2`Q,CD@,3$T(#DY.3D@.3DY.0HT(#$@
- XM,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#0V(#0U-"`T-S(@0TQ/4T54`0HT(#$@
- XM,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#,Y(#$U.2`Q.#$@1$]73@$*-"`Q(#`@
- XM,3(@,"`M,2`P(#`N,#`P(#0@.2`S,R`R.30@-#4T($)!5$@!"C0@,2`P(#$R
- XM(#`@+3$@,"`P+C`P,"`T(#D@,3$U(#,V-"`R.34@34%35$52($)%1%)/3TT!
- XK"C0@,2`P(#$R(#`@+3$@,"`P+C`P,"`T(#D@,3@@,C$Y(#,T-"!#3"X!"DT!
- X`
- Xend
- END_OF_FILE
- if test 5917 -ne `wc -c <'Examples/houseA.fig.uu'`; then
- echo shar: \"'Examples/houseA.fig.uu'\" unpacked with wrong size!
- fi
- # end of 'Examples/houseA.fig.uu'
- fi
- if test -f 'Examples/houseB.fig.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Examples/houseB.fig.uu'\"
- else
- echo shar: Extracting \"'Examples/houseB.fig.uu'\" \(5851 characters\)
- sed "s/^X//" >'Examples/houseB.fig.uu' <<'END_OF_FILE'
- Xbegin 444 houseB.fig
- XM(T9)1R`R+C$*.#`@,@HU(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#$@,"`P(#,V
- XM-BXP,#`@,C`U+C`P,"`S-3D@,C0T(#,Y-"`R,S(@-#`T(#$Y.0HQ(#(@,"`Q
- XM("TQ(#`@,"`P(#`N,#`P(#`@,"XP,#`@,S0Q(#$R,2`Q,2`Q-2`S,S(@,3,X
- XM(#,U,B`Q,#8*,2`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`Q(#`N,#`P(#0U.2`Q
- XM-CD@,3$@,38@-#4Y(#$V.2`T-CD@,3@T"C$@,2`P(#$@+3$@,"`P(#`@,"XP
- XM,#`@,2`P+C`P,"`T-C`@,3(T(#$Q(#$V(#0V,"`Q,C0@-#<P(#$S.0HR(#$@
- XM,"`R("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,S4Y(#(T-"`S-3D@,3DY(#DY
- XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,S,R(#$Q
- XM-"`S,S(@,3`S(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
- XM,"`P"@D@,S4P(#$Q,B`S-3`@,3`S(#DY.3D@.3DY.0HR(#0@,"`Q("TQ(#`@
- XM,"`P(#`N,#`P(#,@,"`P"@D@,S(X(#$P,R`S,C@@.3$@,S4T(#DQ(#,U-"`Q
- XM,#,@,S(X(#$P,R`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P
- XM(#`@,`H)(#0S.2`X.2`T,SD@,3@Y(#DY.3D@.3DY.0HR(#(@,"`Q("TQ(#`@
- XM,"`P(#`N,#`P(#`@,"`P"@D@-#0Y(#@T(#0W-"`X-"`T-S0@.3(@-#0Y(#DR
- XM(#0T.2`X-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@
- XM,`H)(#$W-"`S-S0@,3<T(#0T-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@
- XM,"`P+C`P,"`P(#`@,`H)(#,P-"`X.2`S,#0@,3@Y(#DY.3D@.3DY.0HR(#0@
- XM,"`Q("TQ(#`@,"`P(#`N,#`P(#<@,"`P"@D@,C4T(#DT(#(U-"`Q.#0@,CDY
- XM(#$X-"`R.3D@.30@,C4T(#DT(#DY.3D@.3DY.0HR(#,@,"`Q("TQ(#`@,"`P
- XM(#`N,#`P(#`@,"`P"@D@,38Y(#<Y(#DY(#<Y(#DY(#,Q.2`Q-CD@,S$Y(#$V
- XM.2`S,#D@,3`Y(#,P.2`Q,#D@.#D@,38Y(#@Y"@D@,38Y(#<Y(#DY.3D@.3DY
- XM.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,3`Y(#$W.2`Q-CD@
- XM,3<Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
- XM,3`Y(#$Y-"`Q-CD@,3DT(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N
- XM,#`P(#`@,"`P"@D@,3`Y(#(P.2`Q-CD@,C`Y(#DY.3D@.3DY.0HR(#$@,"`Q
- XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,3`Y(#(R-"`Q-CD@,C(T(#DY.3D@
- XM.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,3`Y(#(S.2`Q
- XM-CD@,C,Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P
- XM"@D@,3`Y(#(U-"`Q-CD@,C4T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P
- XM(#`N,#`P(#`@,"`P"@D@,3`Y(#(V.2`Q-CD@,C8Y(#DY.3D@.3DY.0HR(#$@
- XM,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,3`Y(#(X-"`Q-CD@,C@T(#DY
- XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,S8T(#@T
- XM(#0Q.2`X-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@
- XM,`H)(#DY(#DY(#$P.2`Y.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P
- XM+C`P,"`P(#`@,`H)(#DY(#$R.2`Q,#D@,3(Y(#DY.3D@.3DY.0HR(#$@,"`Q
- XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,3`T(#DY(#$P-"`Q,CD@.3DY.2`Y
- XM.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q,3D@-SD@,3$Y
- XM(#@Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
- XM,30Y(#<Y(#$T.2`X.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P
- XM,"`P(#`@,`H)(#$Q.2`X-"`Q-#D@.#0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@
- XM,"`P(#`@,"XP,#`@,"`Q(#`*"3`@,"`Q+C`P,"`T+C`P,"`X+C`P,`H)(#(P
- XM.2`Q.#D@,C`Y(#$Q.2`Q,SD@,3$Y(#$S.2`R.30@.3DY.2`Y.3DY"C(@,2`P
- XM(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q-SD@,S<T(#$V.2`S-S0@.3DY
- XM.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q-CD@-#0T
- XM(#$W.2`T-#0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P
- XM(#`*"2`Q,#D@,38T(#$V.2`Q-C0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P
- XM(#`@,"XP,#`@,"`P(#`*"2`Q,#D@,30Y(#$V.2`Q-#D@.3DY.2`Y.3DY"C(@
- XM,2`P(#(@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`T-3<@,S<R(#0U-R`T,CD@
- XM.3DY.2`Y.3DY"C(@,2`P(#(@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`T-C`@
- XM-#(S(#0V,2`T.#8@.3DY.2`Y.3DY"C(@,2`P(#(@+3$@,"`P(#`@,"XP,#`@
- XM,"`P(#`*"2`U-#(@,3`Q(#4T,B`Q-#0@.3DY.2`Y.3DY"C(@,2`P(#(@+3$@
- XM,"`P(#`@,"XP,#`@,"`P(#`*"2`U-#4@,3,V(#4T-2`Q-S<@.3DY.2`Y.3DY
- XM"C(@,R`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`T-C0@,S8Y(#0U-"`S
- XM-CD@-#4T(#,T.2`U,3D@,S0Y(#4Q.2`T.3D@-S`Y(#0Y.2`W,#D@.#D@-30Y
- XM(#@Y"@D@-30Y(#DY(#4S.2`Y.2`U,SD@.#D@-#DY(#@Y(#0Y.2`Q.#D@-3,Y
- XM(#$X.2`U,SD@,3<Y(#4T.2`Q-SD*"2`U-#D@,3DY(#0P-"`Q.3D@-#`T(#$X
- XM.2`T-SD@,3@Y(#0W.2`X.2`T-S0@.#D@-#<T(#@T(#0T.2`X-`H)(#0T.2`X
- XM.2`R-#D@.#D@,C0Y(#$X.2`S-3D@,3@Y(#,U.2`Q.3D@,C,Y(#$Y.2`R,SD@
- XM.#D@,38Y(#@Y"@D@,38Y(#<Y(#<Q.2`W.2`W,3D@-3`Y(#$V.2`U,#D@,38Y
- XM(#$T.2`Q-SD@,30Y(#$W.2`T.3D@-#4T(#0Y.0H)(#0U-"`T.#D@-#8T(#0X
- XM.2`T-C0@-#DY(#4P.2`T.3D@-3`Y(#,U.2`T-C0@,S4Y(#0V-"`S-CD@.3DY
- XM.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`T,3D@-SD@
- XM-#$Y(#@Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P
- XM"@D@,S8T(#<Y(#,V-"`X.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P
- XM+C`P,"`P(#`@,`H)(#$W.2`Q-#D@,C,Y(#$T.2`Y.3DY(#DY.3D*,B`Q(#`@
- XM,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#$W-"`Q-#D@,3<T(#@Y(#DY.3D@
- XM.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,3<Y(#$V-"`R
- XM,SD@,38T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P
- XM"@D@,3<Y(#$W.2`R,SD@,3<Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P
- XM(#`N,#`P(#`@,"`P"@D@,3<Y(#$Y-"`R,SD@,3DT(#DY.3D@.3DY.0HR(#$@
- XM,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C,Y(#4P-"`R.3D@-3`T(#DY
- XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,CDY(#0Y
- XM.2`R.3D@-3`Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
- XM,"`P"@D@,C,Y(#0Y.2`R,SD@-3`Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@
- XM,"`P(#`N,#`P(#`@,"`P"@D@-C$Y(#4P-"`V-SD@-3`T(#DY.3D@.3DY.0HR
- XM(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-C$Y(#0Y.2`V,3D@-3`Y
- XM(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-C<Y
- XM(#0Y.2`V-SD@-3`Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P
- XM(#`@,"`P"@D@-S$T(#0P.2`W,30@-#8Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ
- XM(#`@,"`P(#`N,#`P(#`@,"`P"@D@-S`Y(#0P.2`W,3D@-#`Y(#DY.3D@.3DY
- XM.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-S`Y(#0V.2`W,3D@
- XM-#8Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
- XM-S$T(#$T.2`W,30@,C`Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N
- XM,#`P(#`@,"`P"@D@-S`Y(#(P.2`W,3D@,C`Y(#DY.3D@.3DY.0HR(#$@,"`Q
- XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-S`Y(#$T.2`W,3D@,30Y(#DY.3D@
- XM.3DY.0HR(#0@,"`Q("TQ(#`@,"`P(#`N,#`P(#0@,"`P"@D@,C`T(#0V-"`S
- XM,CD@-#8T(#,R.2`S-30@,C`T(#,U-"`R,#0@-#8T(#DY.3D@.3DY.0HR(#0@
- XM,"`Q("TQ(#`@,"`P(#`N,#`P(#,@,"`P"@D@,C`T(#,T.2`Q.#D@,S0Y(#$X
- XM.2`T-CD@,C`T(#0V.2`R,#0@,S0Y(#DY.3D@.3DY.0HT(#`@,"`Q,B`P("TQ
- XM(#`@,"XP,#`@-"`Q,B`U,R`U.2`S.3D@:&]U<V5"+F9I9P$*-"`P(#`@,3(@
- XM,"`M,2`P(#`N,#`P(#0@.2`S,R`S-C0@,30Y($)!5$@!"C0@,"`P(#$R(#`@
- XM+3$@,"`P+C`P,"`T(#D@,SD@,C`P(#(Q,2!$3U=.`0HT(#`@,"`Q,B`P("TQ
- XM(#`@,"XP,#`@-"`Y(#$Q-2`R-C@@,S`U($U!4U1%4B!"14123T]-`0HT(#`@
- XH,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#0P(#8P-"`S,#0@4U151%D!"@HT
- X`
- Xend
- END_OF_FILE
- if test 5851 -ne `wc -c <'Examples/houseB.fig.uu'`; then
- echo shar: \"'Examples/houseB.fig.uu'\" unpacked with wrong size!
- fi
- # end of 'Examples/houseB.fig.uu'
- fi
- if test -f 'Examples/schemat.fig.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Examples/schemat.fig.uu'\"
- else
- echo shar: Extracting \"'Examples/schemat.fig.uu'\" \(5506 characters\)
- sed "s/^X//" >'Examples/schemat.fig.uu' <<'END_OF_FILE'
- Xbegin 444 schemat.fig
- XM(T9)1R`R+C$*.#`@,@HU(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,2`Q(#(U
- XM.2XP,#`@,3,Y+C`P,"`R-3D@,3$Y(#(W.2`Q,SD@,C4Y(#$U.0H),SDS,C$V
- XM(#4R-#(Y-B`P+C`P,"`P+C`P,"`P+C`P,`H)-#4X-S4R(#0U.#<V,"`P+C`P
- XM,"`P+C`P,"`P+C`P,`HU(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P(#(U
- XM.2XP,#`@-SDN,#`P(#(U.2`U.2`R-SD@-SD@,C4Y(#DY"C$@,R`P(#$@+3$@
- XM,"`P(#`@,"XP,#`@,2`P+C`P,"`S,SD@-#$Y(#0@-"`S,SD@-#$Y(#,T,R`T
- XM,C`*,2`S(#`@,2`M,2`P(#`@,"`P+C`P,"`Q(#`N,#`P(#,Y.2`T,3D@-"`T
- XM(#,Y.2`T,3D@-#`S(#0Q.0HQ(#,@,"`Q("TQ(#`@,"`P(#`N,#`P(#$@,"XP
- XM,#`@,C@T(#$S.2`U(#4@,C@T(#$S.2`R.#D@,3,Y"C$@,R`P(#$@+3$@,"`P
- XM(#`@,"XP,#`@,2`P+C`P,"`R-#0@,S8T(#4@-2`R-#0@,S8T(#(T-"`S-CD*
- XM,2`S(#`@,2`M,2`P(#`@,"`P+C`P,"`Q(#`N,#`P(#(T-"`R-S0@-2`U(#(T
- XM-"`R-S0@,C0T(#(W.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
- XM,S,T(#0Q.2`S,3D@-#$Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N
- XM,#`P(#`@,"`P"@D@-#`T(#0Q.2`T,3D@-#$Y(#DY.3D@.3DY.0HR(#$@,"`Q
- XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-#,Y(#(X-"`T,SD@,C8T(#DY.3D@
- XM.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-#,Y(#,P.2`T
- XM,SD@,S(Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P
- XM"@D@,SDV(#DY(#,Y-B`Q,3@@,S@Y(#$R.2`T,#0@,3,Y(#,X.2`Q-#D@-#`T
- XM(#$U.2`S.#D@,38Y(#0P-"`Q-SD*"2`S.#D@,3@Y(#0P-"`Q.3D@,SDV(#(P
- XM.2`S.38@,C(Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
- XM,"`P"@D@,C0T(#,V.2`R-#0@,S@T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@
- XM,"`P(#`N,#`P(#`@,"`P"@D@,C0T(#(V.2`R-#0@,C4T(#DY.3D@.3DY.0HR
- XM(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<Y(#<Y(#(Y.2`W.2`Y
- XM.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#(S.2`R
- XM,3D@,C$Y(#(Q.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P
- XM(#`@,`H)(#(S.2`Q.3D@,C,Y(#(S.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P
- XM(#`@,"`P+C`P,"`P(#`@,`H)(#(S.2`R,CD@,C4Y(#(S.2`Y.3DY(#DY.3D*
- XM,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#$@,`H),"`P(#$N,#`P(#0N,#`P
- XM(#@N,#`P"@D@,C,Y(#(P.2`R-3D@,3DY(#DY.3D@.3DY.0HR(#$@,"`Q("TQ
- XM(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C4Y(#$Q.2`R,CD@,3$Y(#(R.2`Q-3D@
- XM,C4Y(#$U.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@
- XM,`H)(#(R.2`Q,CD@,C`T(#$R.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@
- XM,"`P+C`P,"`P(#`@,`H)(#(R.2`Q-#D@,C`T(#$T.2`Y.3DY(#DY.3D*,B`Q
- XM(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#(X.2`Q,SD@,S`T(#$S.2`Y
- XM.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#(R.2`X
- XM.2`R,#0@.#D@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P
- XM(#`*"2`R,CD@-CD@,C`T(#8Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P
- XM(#`N,#`P(#`@,"`P"@D@,C4Y(#4Y(#(R.2`U.2`R,CD@.3D@,C4Y(#DY(#DY
- XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C$Y(#,P
- XM.2`R,CD@,S$Y(#(Q.2`S,CD@.3DY.2`Y.3DY"C(@,B`P(#$@+3$@,"`P(#`@
- XM,"XP,#`@,"`P(#`*"2`R,3D@,C<Y(#(Q.2`S-3D@,C8Y(#,U.2`R-CD@,C<Y
- XM(#(Q.2`R-SD@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P
- XM(#`*"2`R,3D@,S$Y(#$Y.2`S,3D@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P
- XM(#`@,"XP,#`@,"`P(#`*"2`R,3D@,C@Y(#$Y.2`R.#D@.3DY.2`Y.3DY"C(@
- XM,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`R,3D@,S0Y(#$Y.2`S-#D@
- XM.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`R-CD@
- XM,C@Y(#(X.2`R.#D@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@
- XM,"`P(#`*"2`R-CD@,S0Y(#(X.2`S-#D@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@
- XM,"`P(#`@,"XP,#`@,"`P(#`*"2`R.3D@,C(Y(#,Q.2`R,SD@.3DY.2`Y.3DY
- XM"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#$*"3`@,"`Q+C`P,"`T+C`P
- XM,"`X+C`P,`H)(#(Y.2`R,#D@,S$Y(#$Y.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M
- XM,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#(Y.2`Q.3D@,CDY(#(S.2`Y.3DY(#DY
- XM.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#(Y.2`R,3D@,C<Y
- XM(#(Q.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)
- XM(#4U.2`Q-C$@-30P(#$V,2`U,CD@,34T(#4Q.2`Q-CD@-3`Y(#$U-"`T.3D@
- XM,38Y(#0X.2`Q-30@-#<Y(#$V.0H)(#0V.2`Q-30@-#4Y(#$V.2`T-#D@,38Q
- XM(#0R.2`Q-C$@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P
- XM(#$*"3`@,"`Q+C`P,"`T+C`P,"`X+C`P,`H)(#0X.2`Q-30@-#@Y(#$R-"`Y
- XM.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#0Q.2`R
- XM.#0@-#4Y(#(X-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P
- XM(#`@,`H)(#0R-"`R.#D@-#4T(#(X.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P
- XM(#`@,"`P+C`P,"`P(#`@,`H)(#0R-"`R.3D@-#4T(#(Y.2`Y.3DY(#DY.3D*
- XM,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#0Q.2`R.30@-#4Y(#(Y
- XM-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#0Q
- XM.2`S,#0@-#4Y(#,P-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P
- XM,"`P(#`@,`H)(#0R-"`S,#D@-#4T(#,P.2`Y.3DY(#DY.3D*,B`S(#`@,2`M
- XM,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#(S.2`T,3D@,C4T(#0R.2`R,SD@-#,Y
- XM(#(S.2`T,3D@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P
- XM(#`*"2`R-3D@-#$T(#(U-"`T,3D@,C4T(#0S.2`R-#D@-#0T(#DY.3D@.3DY
- XM.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C,Y(#0R.2`R,3D@
- XM-#(Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
- XM,C4T(#0R.2`R-S0@-#(Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N
- XM,#`P(#`@,"`P"@D@,C4T(#0V-"`R-S0@-#8T(#DY.3D@.3DY.0HR(#$@,"`Q
- XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C,Y(#0V-"`R,3D@-#8T(#DY.3D@
- XM.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C4T(#0U-"`R
- XM-30@-#<T(#DY.3D@.3DY.0HR(#,@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P
- XM"@D@,C,Y(#0U-"`R-30@-#8T(#(S.2`T-S0@,C,Y(#0U-"`Y.3DY(#DY.3D*
- XM,R`R(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`*"2`S-#$@-#$V(#,U.2`S.3D@
- XM,S<Y(#0S.2`S.3<@-#(Q(#DY.3D@.3DY.0H)(#`N,#`P(#`N,#`P(#,T."XU
- XM,#0@-#`R+C$X.2`S-3,N,#`T(#,Y-RXY,SD@,S<S+C0T,2`T,#$N-34U"@D@
- XM,S8T+C@P-"`T,S8N-CDV(#,X-2XP-C$@-#,Y+CDX,R`S.#DN-38Q(#0S-2XT
- XM.#,@,"XP,#`@,"XP,#`*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@,2`X(#0R
- XM.2`S,3D@+0$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@-2`W(#0R.2`R-SD@
- XM*P$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@.2`W(#(T,2`R.3`@4P$*-"`P
- XM(#`@,3(@,"`M,2`P(#`N,#`P(#0@.2`X(#(T,2`S-38@4@$*-"`P(#`@,3(@
- XM,"`M,2`P(#`N,#`P(#0@,3$@.2`R-3D@,S4T(%$!"C0@,"`P(#$R(#`@+3$@
- XM,"`P+C`P,"`T(#$Q(#D@,C4Y(#(Y-"!1`0HT(#`@,"`Q,B`P("TQ(#`@,"XP
- XM,#`@-"`Y(#@@,C(T(#,U-"!+`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y
- X.(#0@,C(T(#(Y-"!*`0HU
- X`
- Xend
- END_OF_FILE
- if test 5506 -ne `wc -c <'Examples/schemat.fig.uu'`; then
- echo shar: \"'Examples/schemat.fig.uu'\" unpacked with wrong size!
- fi
- # end of 'Examples/schemat.fig.uu'
- fi
- if test -f 'Fig-color.ad' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Fig-color.ad'\"
- else
- echo shar: Extracting \"'Fig-color.ad'\" \(5024 characters\)
- sed "s/^X//" >'Fig-color.ad' <<'END_OF_FILE'
- X! Some interesting colors for the different parts of xfig
- X! if you are using a COLOR workstation.
- X
- X#include "Fig"
- X
- X#ifdef COLOR
- X! Top Ruler
- X Fig*topruler.background: grey95
- X Fig*topruler.foreground: black
- X! Side Ruler
- X Fig*sideruler.background: grey95
- X Fig*sideruler.foreground: black
- X! Message panel
- X Fig*file_name.background: lightskyblue
- X Fig*file_name.foreground: black
- X Fig*message*background: white
- X Fig*message*foreground: black
- X! Command (top) panel
- X Fig*commands*background: grey85
- X Fig*commands*foreground: black
- X! Indicator (lower) panel
- X Fig*ind_panel.background: dodgerblue
- X Fig*ind_panel.foreground: black
- X Fig*ind_panel.button_form.button.background: dodgerblue
- X Fig*ind_panel.button_form.button.foreground: black
- X Fig*ind_panel.button_form.update.foreground: red
- X Fig*ind_panel.button_form.update.background: white
- X! Mode (left-hand) panel
- X Fig*mode_panel.background: lightskyblue
- X Fig*mode_panel.foreground: black
- X Fig*mode_panel.button.background: lightskyblue
- X Fig*mode_panel.button.foreground: black
- X! Mouse indicator panel
- X Fig*mouse_panel.background: yellow
- X Fig*mouse_panel.foreground: black
- X! Edit popup
- X Fig*xfig_edit_panel.form.done.background: green
- X Fig*xfig_edit_panel.form.apply.background: yellow
- X Fig*xfig_edit_panel.form.cancel.background: red
- X! make a light grey background so you can see the color "white" in the edit menu
- X Fig*xfig_edit_panel.form.colors.menu.background: grey90
- X! File popup
- X Fig*file_panel*background: orchid
- X Fig*file_panel*Text*background: white
- X Fig*file_panel*Text*foreground: black
- X Fig*file_panel*List*background: white
- X Fig*file_panel*List*foreground: black
- X Fig*file_panel*Scrollbar*background: cornflowerblue
- X Fig*file_panel*Scrollbar*foreground: red
- X Fig*file_panel*home.foreground: black
- X Fig*file_panel*home.background: cornflowerblue
- X Fig*file_panel.rescan.foreground: black
- X Fig*file_panel.rescan.background: cornflowerblue
- X Fig*file_panel.cancel.foreground: black
- X Fig*file_panel.cancel.background: red
- X Fig*file_panel.save.foreground: black
- X Fig*file_panel.save.background: yellow
- X Fig*file_panel.load.foreground: black
- X Fig*file_panel.load.background: green
- X Fig*file_panel.merge.foreground: black
- X Fig*file_panel.merge.background: cornflowerblue
- X! Export popup
- X Fig*export_panel*background: orchid
- X Fig*export_panel*Text*background: white
- X Fig*export_panel*Text*foreground: black
- X Fig*export_panel*List*background: white
- X Fig*export_panel*List*foreground: black
- X Fig*export_panel*Scrollbar*background: cornflowerblue
- X Fig*export_panel*Scrollbar*foreground: red
- X Fig*export_panel*MenuButton*background: white
- X Fig*export_panel*MenuButton*foreground: black
- X Fig*export_panel*landscape.menu.background: yellow
- X Fig*export_panel*landscape.menu.foreground: black
- X Fig*export_panel*home.foreground: black
- X Fig*export_panel*home.background: cornflowerblue
- X Fig*export_panel.rescan.foreground: black
- X Fig*export_panel.rescan.background: cornflowerblue
- X Fig*export_panel.cancel.foreground: black
- X Fig*export_panel.cancel.background: red
- X Fig*export_panel.export.foreground: black
- X Fig*export_panel.export.background: green
- X! Print popup
- X Fig*print_panel*Background: orchid
- X Fig*print_panel*Text*background: white
- X Fig*print_panel*Text*foreground: black
- X Fig*print_panel*MenuButton*background: white
- X Fig*print_panel*MenuButton*foreground: black
- X Fig*print_panel*printer_image*foreground: white
- X Fig*print_panel*landscape.menu.background: yellow
- X Fig*print_panel*landscape.menu.foreground: black
- X Fig*print_panel*flush left.menu.background: orange
- X Fig*print_panel*flush left.menu.foreground: black
- X Fig*print_panel.dismiss.background: red
- X Fig*print_panel.dismiss.foreground: black
- X Fig*print_panel.print_batch.background: cornflowerblue
- X Fig*print_panel.print_batch.foreground: black
- X Fig*print_panel.clear_batch.background: orange
- X Fig*print_panel.clear_batch.foreground: black
- X Fig*print_panel.print.background: green
- X Fig*print_panel.print.foreground: black
- X Fig*print_panel.output_printer.background: yellow
- X Fig*print_panel.output_printer.foreground: black
- X Fig*print_panel.output_file.background: yellow
- X Fig*print_panel.output_file.foreground: black
- X! File message popup
- X Fig*file_msg_panel.background: orchid
- X Fig*file_msg_panel.file_msg_win*background: cornflowerblue
- X Fig*file_msg_panel.file_msg_win*foreground: yellow
- X Fig*file_msg_panel.dismiss.background: green
- X Fig*file_msg_panel.dismiss.foreground: black
- X Fig*file_msg_panel.clear.background: red
- X Fig*file_msg_panel.clear.foreground: black
- X! Query popup
- X Fig*query_popup.query_form.background: lightslateblue
- X Fig*query_popup.query_form.foreground: black
- X Fig*query_popup.query_form.message.background: lightgrey
- X Fig*query_popup.query_form.message.foreground: black
- X Fig*query_popup.query_form.yes.background: red
- X Fig*query_popup.query_form.yes.foreground: black
- X Fig*query_popup.query_form.no.background: orange
- X Fig*query_popup.query_form.no.foreground: black
- X Fig*query_popup.query_form.cancel.background: green
- X Fig*query_popup.query_form.cancel.foreground: black
- X#endif
- END_OF_FILE
- if test 5024 -ne `wc -c <'Fig-color.ad'`; then
- echo shar: \"'Fig-color.ad'\" unpacked with wrong size!
- fi
- # end of 'Fig-color.ad'
- fi
- if test -f 'd_line.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'d_line.c'\"
- else
- echo shar: Extracting \"'d_line.c'\" \(5317 characters\)
- sed "s/^X//" >'d_line.c' <<'END_OF_FILE'
- X/*
- X * FIG : Facility for Interactive Generation of figures
- X * Copyright (c) 1985 by Supoj Sutanthavibul
- X *
- X * "Permission to use, copy, modify, distribute, and sell this software and its
- X * documentation for any purpose is hereby granted without fee, provided that
- X * the above copyright notice appear in all copies and that both the copyright
- X * notice and this permission notice appear in supporting documentation.
- X * No representations are made about the suitability of this software for
- X * any purpose. It is provided "as is" without express or implied warranty."
- X */
- X
- X#include "fig.h"
- X#include "resources.h"
- X#include "mode.h"
- X#include "object.h"
- X#include "paintop.h"
- X#include "u_create.h"
- X#include "u_elastic.h"
- X#include "u_list.h"
- X#include "w_canvas.h"
- X#include "w_mousefun.h"
- X
- Xextern int latex_endpoint();
- X
- X/*************************** locally global variables *********************/
- X
- Xstatic int init_line_drawing();
- X
- Xint create_lineobject();
- Xint get_intermediatepoint();
- X
- X/********************** polyline and polygon section **********************/
- X
- Xline_drawing_selected()
- X{
- X canvas_kbd_proc = null_proc;
- X canvas_locmove_proc = null_proc;
- X canvas_leftbut_proc = init_line_drawing;
- X canvas_rightbut_proc = null_proc;
- X set_cursor(arrow_cursor);
- X reset_action_on();
- X if (cur_mode == F_POLYGON) {
- X set_mousefun("first point", "", "");
- X min_num_points = 3;
- X canvas_middlebut_proc = null_proc;
- X } else {
- X set_mousefun("first point", "single point", "");
- X min_num_points = 1;
- X num_point = 0;
- X fix_x = fix_y = -1;
- X canvas_middlebut_proc = create_lineobject;
- X }
- X}
- X
- Xstatic
- Xinit_line_drawing(x, y)
- X int x, y;
- X{
- X init_trace_drawing(x, y);
- X}
- X
- Xcancel_line_drawing()
- X{
- X elastic_line();
- X cur_x = fix_x;
- X cur_y = fix_y;
- X if (cur_point != first_point)
- X elastic_moveline(first_point); /* erase control vector */
- X free_points(first_point);
- X return_proc();
- X draw_mousefun_canvas();
- X}
- X
- Xinit_trace_drawing(x, y)
- X int x, y;
- X{
- X if ((first_point = create_point()) == NULL)
- X return;
- X
- X cur_point = first_point;
- X set_action_on();
- X cur_point->x = fix_x = cur_x = x;
- X cur_point->y = fix_y = cur_y = y;
- X cur_point->next = NULL;
- X length_msg(MSG_LENGTH);
- X if (latexline_mode || latexarrow_mode) {
- X canvas_locmove_proc = latex_line;
- X } else if (manhattan_mode || mountain_mode) {
- X canvas_locmove_proc = constrainedangle_line;
- X } else {
- X canvas_locmove_proc = freehand_line;
- X }
- X canvas_leftbut_proc = get_intermediatepoint;
- X canvas_middlebut_save = create_lineobject;
- X canvas_rightbut_proc = cancel_line_drawing;
- X return_proc = line_drawing_selected;
- X num_point = 1;
- X set_mousefun("next point", "", "cancel");
- X if (num_point >= min_num_points - 1) {
- X set_mousefun("next point", "final point", "cancel");
- X canvas_middlebut_proc = canvas_middlebut_save;
- X }
- X draw_mousefun_canvas();
- X set_temp_cursor(null_cursor);
- X cur_cursor = null_cursor;
- X elastic_line();
- X}
- X
- Xget_intermediatepoint(x, y)
- X int x, y;
- X{
- X (*canvas_locmove_proc) (x, y);
- X num_point++;
- X fix_x = cur_x;
- X fix_y = cur_y;
- X elastic_line();
- X if (cur_cursor != null_cursor) {
- X set_temp_cursor(null_cursor);
- X cur_cursor = null_cursor;
- X }
- X win_setmouseposition(canvas_win, cur_x, cur_y);
- X append_point(fix_x, fix_y, &cur_point);
- X if (num_point == min_num_points - 1) {
- X set_mousefun("next point", "final point", "cancel");
- X draw_mousefun_canvas();
- X canvas_middlebut_proc = canvas_middlebut_save;
- X }
- X}
- X
- X/* come here upon pressing middle button (last point of lineobject) */
- X
- Xcreate_lineobject(x, y)
- X int x, y;
- X{
- X F_line *line;
- X int dot;
- X
- X if (num_point == 0) {
- X if ((first_point = create_point()) == NULL) {
- X line_drawing_selected();
- X draw_mousefun_canvas();
- X return;
- X }
- X cur_point = first_point;
- X first_point->x = fix_x = cur_x = x;
- X first_point->y = fix_y = cur_y = y;
- X first_point->next = NULL;
- X num_point++;
- X } else if (x != fix_x || y != fix_y) {
- X get_intermediatepoint(x, y);
- X }
- X dot = (num_point == 1);
- X elastic_line();
- X if ((line = create_line()) == NULL) {
- X line_drawing_selected();
- X draw_mousefun_canvas();
- X return;
- X }
- X line->type = T_POLYLINE;
- X line->thickness = cur_linewidth;
- X line->fill_style = cur_fillstyle;
- X line->style = cur_linestyle;
- X line->style_val = cur_styleval * (cur_linewidth + 1) / 2;
- X line->color = cur_color;
- X line->depth = cur_depth;
- X line->pen = 0;
- X line->points = first_point;
- X if (!dot) {
- X if (cur_mode == F_POLYGON) { /* close off polygon */
- X line->type = T_POLYGON;
- X num_point++;
- X append_point(first_point->x, first_point->y, &cur_point);
- X elastic_line();
- X fix_x = first_point->x;
- X fix_y = first_point->y;
- X elastic_line(); /* fix last elastic line */
- X } else { /* polyline; draw any arrows */
- X if (autoforwardarrow_mode)
- X line->for_arrow = forward_arrow();
- X /* arrow will be drawn in draw_line below */
- X if (autobackwardarrow_mode)
- X line->back_arrow = backward_arrow();
- X /* arrow will be drawn in draw_line below */
- X }
- X cur_x = fix_x;
- X cur_y = fix_y;
- X elastic_moveline(first_point); /* erase temporary outline */
- X }
- X draw_line(line, PAINT); /* draw final */
- X add_line(line);
- X line_drawing_selected();
- X draw_mousefun_canvas();
- X}
- END_OF_FILE
- if test 5317 -ne `wc -c <'d_line.c'`; then
- echo shar: \"'d_line.c'\" unpacked with wrong size!
- fi
- # end of 'd_line.c'
- fi
- if test -f 'e_align.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'e_align.c'\"
- else
- echo shar: Extracting \"'e_align.c'\" \(5020 characters\)
- sed "s/^X//" >'e_align.c' <<'END_OF_FILE'
- X/*
- X * FIG : Facility for Interactive Generation of figures
- X * Copyright (c) 1985 by Supoj Sutanthavibul
- X *
- X * "Permission to use, copy, modify, distribute, and sell this software and its
- X * documentation for any purpose is hereby granted without fee, provided that
- X * the above copyright notice appear in all copies and that both the copyright
- X * notice and this permission notice appear in supporting documentation.
- X * No representations are made about the suitability of this software for
- X * any purpose. It is provided "as is" without express or implied warranty."
- X */
- X
- X#include "fig.h"
- X#include "resources.h"
- X#include "object.h"
- X#include "paintop.h"
- X#include "mode.h"
- X#include "u_create.h"
- X#include "u_draw.h"
- X#include "u_search.h"
- X#include "u_undo.h"
- X#include "w_canvas.h"
- X#include "w_mousefun.h"
- X#include "w_setup.h"
- X
- Xstatic int init_align(), init_align_canvas();
- Xstatic int llx, lly, urx, ury;
- Xstatic int xcmin, ycmin, xcmax, ycmax;
- Xstatic int dx, dy;
- Xstatic int align_arc();
- Xstatic int align_ellipse();
- Xstatic int align_line();
- Xstatic int align_spline();
- Xstatic int align_text();
- Xstatic int align_compound();
- Xstatic int get_dx_dy();
- X
- Xalign_selected()
- X{
- X set_mousefun("align compound", "align canvas", "");
- X canvas_kbd_proc = null_proc;
- X canvas_locmove_proc = null_proc;
- X init_searchproc_left(init_align);
- X canvas_leftbut_proc = object_search_left;
- X canvas_middlebut_proc = init_align_canvas;
- X canvas_rightbut_proc = null_proc;
- X set_cursor(pick15_cursor);
- X}
- X
- X/* align objects to the whole canvas */
- X
- Xstatic
- Xinit_align_canvas(x, y, shift)
- X int x, y;
- X unsigned int shift; /* Shift Key Status from XEvent */
- X{
- X cur_c = &objects;
- X toggle_all_compoundmarkers();
- X draw_compoundelements(cur_c, ERASE);
- X old_c = copy_compound(&objects);
- X xcmin=ycmin=0;
- X if (appres.INCHES)
- X {
- X xcmax=(appres.landscape? 11*PIX_PER_INCH : 8.5*PIX_PER_INCH);
- X ycmax=(appres.landscape? 8.5*PIX_PER_INCH : 11*PIX_PER_INCH);
- X }
- X else
- X {
- X xcmax=(appres.landscape? 29.7*PIX_PER_CM : 21*PIX_PER_CM);
- X ycmax=(appres.landscape? 21*PIX_PER_CM : 29.7*PIX_PER_CM);
- X }
- X align_ellipse();
- X align_arc();
- X align_line();
- X align_spline();
- X align_compound();
- X align_text();
- X draw_compoundelements(cur_c, PAINT);
- X toggle_all_compoundmarkers();
- X clean_up();
- X set_latestobjects(old_c);
- X set_action_object(F_CHANGE, O_ALL_OBJECT);
- X set_modifiedflag();
- X}
- X
- Xstatic
- Xinit_align(p, type, x, y, px, py)
- X char *p;
- X int type;
- X int x, y;
- X int px, py;
- X{
- X if (type != O_COMPOUND)
- X return;
- X cur_c = (F_compound *) p;
- X toggle_compoundmarker(cur_c);
- X draw_compoundelements(cur_c, ERASE);
- X old_c = copy_compound(cur_c);
- X compound_bound(cur_c, &xcmin, &ycmin, &xcmax, &ycmax);
- X align_ellipse();
- X align_arc();
- X align_line();
- X align_spline();
- X align_compound();
- X align_text();
- X /*
- X * recompute the compound's bounding box
- X */
- X compound_bound(cur_c, &cur_c->nwcorner.x, &cur_c->nwcorner.y,
- X &cur_c->secorner.x, &cur_c->secorner.y);
- X draw_compoundelements(cur_c, PAINT);
- X toggle_compoundmarker(cur_c);
- X clean_up();
- X old_c->next = cur_c;
- X set_latestcompound(old_c);
- X set_action_object(F_CHANGE, O_COMPOUND);
- X set_modifiedflag();
- X}
- X
- Xstatic int
- Xalign_ellipse()
- X{
- X F_ellipse *e;
- X
- X for (e = cur_c->ellipses; e != NULL; e = e->next) {
- X ellipse_bound(e, &llx, &lly, &urx, &ury);
- X get_dx_dy();
- X translate_ellipse(e, dx, dy);
- X }
- X}
- X
- Xstatic int
- Xalign_arc()
- X{
- X F_arc *a;
- X
- X for (a = cur_c->arcs; a != NULL; a = a->next) {
- X arc_bound(a, &llx, &lly, &urx, &ury);
- X get_dx_dy();
- X translate_arc(a, dx, dy);
- X }
- X}
- X
- Xstatic int
- Xalign_line()
- X{
- X F_line *l;
- X
- X for (l = cur_c->lines; l != NULL; l = l->next) {
- X line_bound(l, &llx, &lly, &urx, &ury);
- X get_dx_dy();
- X translate_line(l, dx, dy);
- X }
- X}
- X
- Xstatic int
- Xalign_spline()
- X{
- X F_spline *s;
- X
- X for (s = cur_c->splines; s != NULL; s = s->next) {
- X spline_bound(s, &llx, &lly, &urx, &ury);
- X get_dx_dy();
- X translate_spline(s, dx, dy);
- X }
- X}
- X
- Xstatic int
- Xalign_compound()
- X{
- X F_compound *c;
- X
- X for (c = cur_c->compounds; c != NULL; c = c->next) {
- X compound_bound(c, &llx, &lly, &urx, &ury);
- X get_dx_dy();
- X translate_compound(c, dx, dy);
- X }
- X}
- X
- Xstatic int
- Xalign_text()
- X{
- X F_text *t;
- X
- X for (t = cur_c->texts; t != NULL; t = t->next) {
- X int dum;
- X text_bound_actual(t, t->angle, &llx, &lly, &urx, &ury,
- X &dum,&dum,&dum,&dum,&dum,&dum,&dum,&dum);
- X get_dx_dy();
- X translate_text(t, dx, dy);
- X }
- X}
- X
- Xstatic int
- Xget_dx_dy()
- X{
- X switch (cur_valign) {
- X case NONE:
- X dy = 0;
- X break;
- X case TOP:
- X dy = ycmin - lly;
- X break;
- X case BOTTOM:
- X dy = ycmax - ury;
- X break;
- X case CENTER:
- X dy = (ycmin - lly) + (abs(ycmin - lly) + abs(ycmax - ury)) / 2;
- X break;
- X }
- X switch (cur_halign) {
- X case NONE:
- X dx = 0;
- X break;
- X case LEFT:
- X dx = xcmin - llx;
- X break;
- X case RIGHT:
- X dx = xcmax - urx;
- X break;
- X case CENTER:
- X dx = (xcmin - llx) + (abs(xcmin - llx) + abs(xcmax - urx)) / 2;
- X break;
- X }
- X}
- END_OF_FILE
- if test 5020 -ne `wc -c <'e_align.c'`; then
- echo shar: \"'e_align.c'\" unpacked with wrong size!
- fi
- # end of 'e_align.c'
- fi
- if test -f 'f_xbitmap.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'f_xbitmap.c'\"
- else
- echo shar: Extracting \"'f_xbitmap.c'\" \(5585 characters\)
- sed "s/^X//" >'f_xbitmap.c' <<'END_OF_FILE'
- X/*
- X * FIG : Facility for Interactive Generation of figures
- X * Copyright (c) 1992 by Brian V. Smith
- X *
- X * "Permission to use, copy, modify, distribute, and sell this software and its
- X * documentation for any purpose is hereby granted without fee, provided that
- X * the above copyright notice appear in all copies and that both the copyright
- X * notice and this permission notice appear in supporting documentation.
- X * No representations are made about the suitability of this software for
- X * any purpose. It is provided "as is" without express or implied warranty."
- X */
- X
- X#include "fig.h"
- X#include "resources.h"
- X#include "mode.h"
- X#include "object.h"
- X#include "paintop.h"
- X#include "w_setup.h"
- X#include "w_drawprim.h"
- X
- Xstatic int create_n_write_bitmap();
- X
- Xint
- Xwrite_bitmap(file_name)
- X char *file_name;
- X{
- X if (!ok_to_write(file_name, "EXPORT"))
- X return (1);
- X
- X return (create_n_write_bitmap(file_name)); /* write the bitmap file */
- X}
- X
- Xstatic Boolean havegcs = False;
- Xstatic GC sav_fill_gc[NUMFILLPATS];
- Xstatic GC sav_un_fill_gc[NUMFILLPATS];
- Xstatic unsigned long save_fg_color;
- Xstatic unsigned long save_bg_color;
- X
- Xstatic int
- Xcreate_n_write_bitmap(filename)
- X char *filename;
- X{
- X int xmin, ymin, xmax, ymax;
- X int width, height;
- X Window sav_canvas;
- X int sav_objmask;
- X Pixmap largepm, bitmap;
- X extern F_compound objects;
- X int i;
- X GC xgc, gc_bitmap;
- X
- X /* this may take a while */
- X set_temp_cursor(wait_cursor);
- X put_msg("Capturing canvas image...");
- X app_flush();
- X
- X /* Assume that there is at least one object */
- X compound_bound(&objects, &xmin, &ymin, &xmax, &ymax);
- X
- X if (appres.DEBUG) {
- X elastic_box(xmin, ymin, xmax, ymax);
- X }
- X /* provide a small margin */
- X if ((xmin -= 10) < 0)
- X xmin = 0;
- X if ((ymin -= 10) < 0)
- X ymin = 0;
- X if ((xmax += 10) > CANVAS_WD)
- X xmax = CANVAS_WD;
- X if ((ymax += 10) > CANVAS_HT)
- X ymax = CANVAS_HT;
- X
- X width = xmax - xmin + 1;
- X height = ymax - ymin + 1;
- X
- X /* choose foreground/background colors as 1 and 0 respectively */
- X /* that way we can just copy the lowest plane to make the bitmap */
- X
- X XSetPlaneMask(tool_d, gccache[PAINT], (unsigned long) 1);
- X XSetForeground(tool_d, gccache[PAINT], (unsigned long) 1);
- X XSetBackground(tool_d, gccache[PAINT], (unsigned long) 0);
- X XSetPlaneMask(tool_d, gccache[ERASE], (unsigned long) 1);
- X XSetForeground(tool_d, gccache[ERASE], (unsigned long) 0);
- X XSetBackground(tool_d, gccache[ERASE], (unsigned long) 0);
- X save_fg_color = x_color(cur_color); /* save current colors */
- X save_bg_color = x_bg_color.pixel;
- X x_fg_color.pixel = 1; /* set fore=1, back=0 */
- X x_bg_color.pixel = 0;
- X writing_bitmap = True; /* so the colors don't change */
- X if (!havegcs) {
- X havegcs = True;
- X for (i = 0; i < NUMFILLPATS; i++) { /* save current fill gc's */
- X sav_fill_gc[i] = fill_gc[i];
- X sav_un_fill_gc[i] = un_fill_gc[i];
- X }
- X init_fill_gc(); /* make some with 0/1 for colors */
- X } else
- X for (i = 0; i < NUMFILLPATS; i++) {
- X xgc = sav_fill_gc[i]; /* swap our gc's with orig */
- X sav_fill_gc[i] = fill_gc[i];
- X fill_gc[i] = xgc;
- X xgc = sav_un_fill_gc[i];
- X sav_un_fill_gc[i] = un_fill_gc[i];
- X un_fill_gc[i] = xgc;
- X }
- X
- X /* create pixmap from (0,0) to (xmax,ymax) */
- X largepm = XCreatePixmap(tool_d, canvas_win, xmax + 1, ymax + 1,
- X DefaultDepthOfScreen(tool_s));
- X /* clear it */
- X XFillRectangle(tool_d, largepm, gccache[ERASE], 0, 0, xmax+1, ymax+1);
- X sav_canvas = canvas_win; /* save current canvas window id */
- X canvas_win = largepm; /* make the canvas our pixmap */
- X sav_objmask = cur_objmask; /* save the point marker */
- X cur_objmask = M_NONE;
- X redisplay_objects(&objects);/* draw the figure into the pixmap */
- X put_msg("Writing bitmap file...");
- X app_flush();
- X
- X x_fg_color.pixel = save_fg_color; /* put colors back to normal */
- X x_bg_color.pixel = save_bg_color;
- X XSetPlaneMask(tool_d, gccache[PAINT], (unsigned long) AllPlanes);
- X XSetForeground(tool_d, gccache[PAINT], x_fg_color.pixel);
- X XSetBackground(tool_d, gccache[PAINT], x_bg_color.pixel);
- X XSetPlaneMask(tool_d, gccache[ERASE], (unsigned long) AllPlanes);
- X XSetForeground(tool_d, gccache[ERASE], x_bg_color.pixel);
- X XSetBackground(tool_d, gccache[ERASE], x_bg_color.pixel);
- X
- X writing_bitmap = False;
- X canvas_win = sav_canvas; /* go back to the real canvas */
- X cur_objmask = sav_objmask; /* restore point marker */
- X bitmap = XCreatePixmap(tool_d, canvas_win, width, height, 1);
- X gc_bitmap = XCreateGC(tool_d, bitmap, 0L, NULL);
- X /* set the foreground back to 1 */
- X XSetForeground(tool_d, gc_bitmap, 1);
- X /* and the background back to 0 */
- X XSetBackground(tool_d, gc_bitmap, 0);
- X /* now copy one plane of the pixmap to a bitmap of the correct size */
- X XCopyPlane(tool_d, largepm, bitmap, gc_bitmap,
- X xmin, ymin, width, height, 0, 0, 1);
- X for (i = 0; i < NUMFILLPATS; i++) { /* swap back the fill gc's */
- X xgc = sav_fill_gc[i];
- X sav_fill_gc[i] = fill_gc[i];
- X fill_gc[i] = xgc;
- X xgc = sav_un_fill_gc[i];
- X sav_un_fill_gc[i] = un_fill_gc[i];
- X un_fill_gc[i] = xgc;
- X }
- X if (XWriteBitmapFile(tool_d, filename, bitmap, width, height, -1, -1)
- X != BitmapSuccess) {
- X put_msg("Couldn't write bitmap file");
- X XFreePixmap(tool_d, largepm);
- X XFreePixmap(tool_d, bitmap);
- X /* all done */
- X reset_cursor();
- X return (1);
- X } else {
- X put_msg("Bitmap written to \"%s\"", filename);
- X XFreePixmap(tool_d, largepm);
- X XFreePixmap(tool_d, bitmap);
- X /* all done */
- X reset_cursor();
- X return (0);
- X }
- X}
- END_OF_FILE
- if test 5585 -ne `wc -c <'f_xbitmap.c'`; then
- echo shar: \"'f_xbitmap.c'\" unpacked with wrong size!
- fi
- # end of 'f_xbitmap.c'
- fi
- if test -f 'resources.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'resources.h'\"
- else
- echo shar: Extracting \"'resources.h'\" \(5553 characters\)
- sed "s/^X//" >'resources.h' <<'END_OF_FILE'
- X/*
- X * FIG : Facility for Interactive Generation of figures
- X * Copyright (c) 1985 by Supoj Sutanthavibul
- X *
- X * "Permission to use, copy, modify, distribute, and sell this software and its
- X * documentation for any purpose is hereby granted without fee, provided that
- X * the above copyright notice appear in all copies and that both the copyright
- X * notice and this permission notice appear in supporting documentation.
- X * No representations are made about the suitability of this software for
- X * any purpose. It is provided "as is" without express or implied warranty."
- X */
- X
- X#include "paintop.h"
- X#include "w_rottext.h"
- X
- Xtypedef struct {
- X unsigned int x, y, z;
- X caddr_t *m;
- X} MprData;
- X
- X#define mpr_static(name,x,y,z,pix) \
- XXImage name = \
- X{ \
- X(x), /* width */ \
- X(y), /* height */ \
- X0, /* offset */ \
- XXYBitmap, /* format */ \
- X(char *)(pix), /* data pointer */ \
- XMSBFirst, /* data byte order LSB or MSB first */ \
- X8, /* quant of scanline */ \
- XLSBFirst, /* bitmap bit order LSB or MSBFirst */ \
- X8, /* bitmap pad */ \
- X(z), /* depth */ \
- X(x+7)/8, /* bytes-per-line */ \
- X1, /* bits per pizel */ \
- X0, /* red_mask */ \
- X0, /* z arrangement green_mask */ \
- X0, /* z arrangement blue_mask */ \
- XNULL /* object data pointer for extension */ \
- X}
- X
- X#define NUMCOLORS 8
- Xextern char *colorNames[NUMCOLORS + 1];
- Xextern Boolean all_colors_available;
- X
- X/* resources structure */
- X
- Xtypedef struct _appres {
- X char *iconGeometry;
- X Boolean INCHES;
- X Boolean DEBUG;
- X Boolean RHS_PANEL;
- X Boolean INVERSE;
- X Boolean TRACKING;
- X Boolean landscape;
- X Boolean ShowAllButtons;
- X Boolean latexfonts;
- X Boolean specialtext;
- X Boolean SCALABLEFONTS; /* hns 5 Nov 91 */
- X char *normalFont;
- X char *boldFont;
- X char *buttonFont;
- X char *startpsFont; /* bab 11 Jan 92 */
- X char *startlatexFont; /* bab 11 Jan 92 */
- X float tmp_width;
- X float tmp_height;
- X float startfontsize; /* ges 6 Feb 91 */
- X int internalborderwidth;
- X Pixel color[NUMCOLORS];
- X Boolean monochrome;
- X char *keyFile;
- X char *exportLanguage;
- X Boolean flushleft; /* center/flush-left printing */
- X Boolean textoutline; /* draw text bounding box if true */
- X float user_scale; /* scale screen units to user units */
- X char *user_unit; /* user defined unit name */
- X} appresStruct, *appresPtr;
- Xextern appresStruct appres;
- X
- Xtypedef struct {
- X int x, y;
- X} pr_size;
- X
- Xtypedef struct {
- X unsigned int r_width, r_height, r_left, r_top;
- X} RectRec;
- X
- Xtypedef struct {
- X int type;
- X char *label;
- X caddr_t info;
- X} MenuItemRec;
- X
- Xstruct Menu {
- X int m_imagetype;
- X#define MENU_IMAGESTRING 0x00 /* imagedata is char * */
- X#define MENU_GRAPHIC 0x01 /* imagedata is pixrect * */
- X caddr_t m_imagedata;
- X int m_itemcount;
- X MenuItemRec *m_items;
- X struct Menu *m_next;
- X caddr_t m_data;
- X};
- X
- Xtypedef struct Menu MenuRec;
- X
- Xtypedef XImage PIXRECTREC;
- Xtypedef XImage *PIXRECT;
- Xtypedef XFontStruct *PIX_FONT;
- Xtypedef XRotFontStruct *PIX_ROT_FONT;
- Xtypedef MprData MPR_DATA;
- Xtypedef Widget TOOL;
- Xtypedef Widget TOOLSW;
- Xtypedef pr_size PR_SIZE;
- Xtypedef RectRec RECT;
- X
- Xextern Window canvas_win, msg_win, sideruler_win, topruler_win;
- X
- Xextern Cursor cur_cursor;
- Xextern Cursor arrow_cursor, bull_cursor, buster_cursor, crosshair_cursor,
- X null_cursor, pencil_cursor, pick15_cursor, pick9_cursor,
- X panel_cursor, l_arrow_cursor, lr_arrow_cursor, r_arrow_cursor,
- X u_arrow_cursor, ud_arrow_cursor, d_arrow_cursor, wait_cursor;
- X
- Xextern TOOL tool;
- Xextern XtAppContext tool_app;
- X
- Xextern TOOLSW canvas_sw, ps_fontmenu, /* printer font menu tool */
- X latex_fontmenu, /* printer font menu tool */
- X msg_form, msg_panel, name_panel, cmd_panel, mode_panel,
- X d_label, e_label, mousefun,
- X ind_viewp, ind_panel, /* indicator panel */
- X unitbox_sw, sideruler_sw, topruler_sw;
- X
- Xextern Display *tool_d;
- Xextern Screen *tool_s;
- Xextern int tool_sn;
- X
- X#define NUMFILLPATS 21
- X
- Xextern GC gc, bold_gc, button_gc, ind_button_gc, mouse_button_gc,
- X color_gc, blank_gc, ind_blank_gc, mouse_blank_gc, gccache[NUMOPS],
- X fillgc, fill_gc[NUMFILLPATS], /* fill style gc's */
- X black_fill_gc[NUMFILLPATS],
- X un_fill_gc[NUMFILLPATS], /* unfill gc's */
- X black_un_fill_gc[NUMFILLPATS],
- X tr_gc, tr_xor_gc, tr_erase_gc, /* for the rulers */
- X sr_gc, sr_xor_gc, sr_erase_gc;
- X
- Xextern Pixmap fill_pm[NUMFILLPATS];
- Xextern XColor x_fg_color, x_bg_color;
- Xextern Boolean writing_bitmap;
- Xextern unsigned long but_fg, but_bg;
- Xextern unsigned long ind_but_fg, ind_but_bg;
- Xextern unsigned long mouse_but_fg, mouse_but_bg;
- X
- X/* will be filled in with environment variable XFIGTMPDIR */
- Xextern char *TMPDIR;
- X
- Xstruct icon {
- X short ic_width, ic_height; /* overall icon dimensions */
- X PIXRECT ic_background; /* background pattern (mem pixrect) */
- X RECT ic_gfxrect; /* where the graphic goes */
- X PIXRECT ic_mpr; /* the graphic (a memory pixrect) */
- X RECT ic_textrect;/* where text goes */
- X char *ic_text; /* the text */
- X PIX_FONT ic_font; /* Font with which to display text */
- X int ic_flags;
- X};
- X
- X/* flag values */
- X#define ICON_BKGRDPAT 0x02 /* use ic_background to prepare image */
- X#define ICON_BKGRDGRY 0x04 /* use std gray to prepare image */
- X#define ICON_BKGRDCLR 0x08 /* clear to prepare image */
- X#define ICON_BKGRDSET 0x10 /* set to prepare image */
- X#define ICON_FIRSTPRIV 0x0100 /* start of private flags range */
- X#define ICON_LASTPRIV 0x8000 /* end of private flags range */
- END_OF_FILE
- if test 5553 -ne `wc -c <'resources.h'`; then
- echo shar: \"'resources.h'\" unpacked with wrong size!
- fi
- # end of 'resources.h'
- fi
- if test -f 'u_print.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'u_print.c'\"
- else
- echo shar: Extracting \"'u_print.c'\" \(4979 characters\)
- sed "s/^X//" >'u_print.c' <<'END_OF_FILE'
- X/*
- X * FIG : Facility for Interactive Generation of figures
- X * Copyright (c) 1985 by Supoj Sutanthavibul
- X *
- X * "Permission to use, copy, modify, distribute, and sell this software and its
- X * documentation for any purpose is hereby granted without fee, provided that
- X * the above copyright notice appear in all copies and that both the copyright
- X * notice and this permission notice appear in supporting documentation.
- X * No representations are made about the suitability of this software for
- X * any purpose. It is provided "as is" without express or implied warranty."
- X */
- X
- X#include "fig.h"
- X#include "mode.h"
- X#include "resources.h"
- X
- X/*
- X * Beware! The string returned by this function is static and is
- X * reused the next time the function is called!
- X */
- X
- Xchar *shell_protect_string(string)
- X char *string;
- X{
- X static char *buf = 0;
- X static int buflen = 0;
- X int len = 2 * strlen(string) + 1;
- X char *cp, *cp2;
- X
- X if (! buf) {
- X buf = XtMalloc(len);
- X buflen = len;
- X }
- X else if (buflen < len) {
- X buf = XtRealloc(buf, len);
- X buflen = len;
- X }
- X
- X for (cp = string, cp2 = buf; *cp; cp++) {
- X *cp2++ = '\\';
- X *cp2++ = *cp;
- X }
- X
- X *cp2 = '\0';
- X
- X return(buf);
- X}
- X
- Xprint_to_printer(printer, mag, flushleft, params)
- X char printer[];
- X Boolean flushleft;
- X float mag;
- X char params[];
- X{
- X char prcmd[2*PATH_MAX+200], translator[60];
- X char syspr[2*PATH_MAX+200];
- X char tmpfile[32];
- X
- X sprintf(tmpfile, "%s/%s%06d", TMPDIR, "xfig-print", getpid());
- X warnexist = False;
- X if (write_file(tmpfile))
- X return;
- X
- X sprintf(translator, "fig2dev -Lps %s -P -m %f %s",
- X flushleft ? "" : "-c" ,
- X mag,
- X print_landscape ? "-l xxx" : " ");
- X
- X
- X if (emptyname(printer)) { /* send to default printer */
- X#if defined(SYSV) || defined(SVR4)
- X sprintf(syspr, "lp %s -oPS", params);
- X#else
- X sprintf(syspr, "lpr %s -J %s", params, shell_protect_string(cur_filename));
- X#endif
- X put_msg("Printing figure on default printer in %s mode ... ",
- X print_landscape ? "LANDSCAPE" : "PORTRAIT");
- X } else {
- X#if defined(SYSV) || defined(SVR4)
- X sprintf(syspr, "lp %s -d%s -oPS", params, printer);
- X#else
- X sprintf(syspr, "lpr %s -J %s -P%s", params, shell_protect_string(cur_filename),
- X printer);
- X#endif
- X put_msg("Printing figure on printer %s in %s mode ... ",
- X printer, print_landscape ? "LANDSCAPE" : "PORTRAIT");
- X }
- X app_flush(); /* make sure message gets displayed */
- X
- X /* make up the whole translate/print command */
- X sprintf(prcmd, "%s %s | %s", translator, tmpfile, syspr);
- X if (system(prcmd) != 0)
- X file_msg("Error during PRINT (check standard error output)");
- X else {
- X if (emptyname(printer))
- X put_msg("Printing figure on printer %s in %s mode ... done",
- X printer, print_landscape ? "LANDSCAPE" : "PORTRAIT");
- X else
- X put_msg("Printing figure on printer %s in %s mode ... done",
- X printer, print_landscape ? "LANDSCAPE" : "PORTRAIT");
- X }
- X unlink(tmpfile);
- X}
- X
- Xprint_to_file(file, lang, mag, flushleft)
- X char *file, *lang;
- X float mag;
- X Boolean flushleft;
- X{
- X char prcmd[2*PATH_MAX+200];
- X char tmp_name[PATH_MAX];
- X char tmp_fig_file[32];
- X char *outfile;
- X int tlen, status;
- X
- X /* if file exists, ask if ok */
- X if (!ok_to_write(file, "EXPORT"))
- X return (1);
- X
- X sprintf(tmp_fig_file, "%s/%s%06d", TMPDIR, "xfig-fig", getpid());
- X /* write the fig objects to a temporary file */
- X warnexist = False;
- X if (write_file(tmp_fig_file))
- X return (1);
- X outfile = shell_protect_string(file);
- X
- X put_msg("Exporting figure to file \"%s\" in %s mode ... ",
- X file, print_landscape ? "LANDSCAPE" : "PORTRAIT");
- X app_flush(); /* make sure message gets displayed */
- X
- X if (!strcmp(lang, "ps"))
- X sprintf(prcmd, "fig2dev -Lps %s -P -m %f %s %s %s", flushleft ? "" : "-c" ,
- X mag, print_landscape ? "-l xxx" : " ", tmp_fig_file,
- X outfile);
- X else if (!strcmp(lang, "eps"))
- X sprintf(prcmd, "fig2dev -Lps -m %f %s %s %s",
- X mag, print_landscape ? "-l xxx" : " ", tmp_fig_file,
- X outfile);
- X else if (!strcmp(lang, "ibmgl"))
- X sprintf(prcmd, "fig2dev -Libmgl -m %f %s %s %s",
- X mag, print_landscape ? " " : "-P", tmp_fig_file,
- X outfile);
- X else if (!strcmp(lang, "pstex_t")) {
- X /* make it automatically input the postscript part */
- X strcpy(tmp_name, file);
- X tlen = strlen(tmp_name);
- X if (tlen > 2) {
- X if (tmp_name[tlen-1] == 't' && tmp_name[tlen-2] == '_')
- X tmp_name[tlen-2] = '\0';
- X else
- X tmp_name[0] = '\0';
- X } else
- X tmp_name[0] = '\0';
- X sprintf(prcmd, "fig2dev -Lpstex_t -p %s -m %f %s %s",
- X tmp_name, mag, tmp_fig_file, outfile);
- X } else
- X sprintf(prcmd, "fig2dev -L%s -m %f %s %s", lang,
- X mag, tmp_fig_file, outfile);
- X if (system(prcmd) != 0)
- X file_msg("Error during EXPORT (check standard error output)");
- X else
- X put_msg("Exporting figure to file \"%s\" in %s mode ... done",
- X file, print_landscape ? "LANDSCAPE" : "PORTRAIT");
- X
- X unlink(tmp_fig_file);
- X return (0);
- X}
- END_OF_FILE
- if test 4979 -ne `wc -c <'u_print.c'`; then
- echo shar: \"'u_print.c'\" unpacked with wrong size!
- fi
- # end of 'u_print.c'
- fi
- if test -f 'w_msgpanel.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'w_msgpanel.c'\"
- else
- echo shar: Extracting \"'w_msgpanel.c'\" \(5807 characters\)
- sed "s/^X//" >'w_msgpanel.c' <<'END_OF_FILE'
- X/*
- X * FIG : Facility for Interactive Generation of figures
- X * Copyright (c) 1985 by Supoj Sutanthavibul
- X *
- X * "Permission to use, copy, modify, distribute, and sell this software and its
- X * documentation for any purpose is hereby granted without fee, provided that
- X * the above copyright notice appear in all copies and that both the copyright
- X * notice and this permission notice appear in supporting documentation.
- X * No representations are made about the suitability of this software for
- X * any purpose. It is provided "as is" without express or implied warranty."
- X */
- X
- X#include "fig.h"
- X#include "figx.h"
- X#include "resources.h"
- X#include "object.h"
- X#include "mode.h"
- X#include "paintop.h"
- X#include "u_elastic.h"
- X#include "w_canvas.h"
- X#include "w_drawprim.h"
- X#include "w_util.h"
- X#include "w_setup.h"
- X#include <varargs.h>
- X
- X/********************* EXPORTS *******************/
- X
- Xint put_msg();
- Xint init_msgreceiving();
- X
- X/************************ LOCAL ******************/
- X
- X#define BUF_SIZE 128
- Xstatic char prompt[BUF_SIZE];
- X
- XDeclareStaticArgs(12);
- X
- Xint
- Xinit_msg(tool, filename)
- X TOOL tool;
- X char *filename;
- X{
- X /* first make a form to put the two widgets in */
- X FirstArg(XtNwidth, MSGFORM_WD);
- X NextArg(XtNheight, MSGFORM_HT);
- X NextArg(XtNfromVert, cmd_panel);
- X NextArg(XtNvertDistance, -INTERNAL_BW);
- X NextArg(XtNdefaultDistance, 0);
- X NextArg(XtNborderWidth, 0);
- X msg_form = XtCreateManagedWidget("msg_form", formWidgetClass, tool,
- X Args, ArgCount);
- X /* setup the file name widget first */
- X FirstArg(XtNresizable, True);
- X NextArg(XtNfont, bold_font);
- X NextArg(XtNlabel, (filename!=NULL? filename: DEF_NAME));
- X NextArg(XtNtop, XtChainTop);
- X NextArg(XtNbottom, XtChainTop);
- X NextArg(XtNborderWidth, INTERNAL_BW);
- X name_panel = XtCreateManagedWidget("file_name", labelWidgetClass, msg_form,
- X Args, ArgCount);
- X /* now the message panel */
- X FirstArg(XtNfont, roman_font);
- X NextArg(XtNstring, "\0");
- X NextArg(XtNfromHoriz, name_panel);
- X NextArg(XtNhorizDistance, -INTERNAL_BW);
- X NextArg(XtNtop, XtChainTop);
- X NextArg(XtNbottom, XtChainTop);
- X NextArg(XtNborderWidth, INTERNAL_BW);
- X NextArg(XtNdisplayCaret, False);
- X msg_panel = XtCreateManagedWidget("message", asciiTextWidgetClass, msg_form,
- X Args, ArgCount);
- X}
- X
- Xsetup_msg()
- X{
- X Dimension ht;
- X
- X /* set the height of the message panel to the height of the file name panel */
- X XtUnmanageChild(msg_panel);
- X FirstArg(XtNheight, &ht);
- X GetValues(name_panel);
- X FirstArg(XtNheight, ht);
- X SetValues(msg_panel);
- X /* set the MSGFORM_HT variable so the mouse panel can be resized to fit */
- X MSGFORM_HT = ht;
- X XtManageChild(msg_panel);
- X if (msg_win == 0)
- X msg_win = XtWindow(msg_panel);
- X XDefineCursor(tool_d, msg_win, null_cursor);
- X}
- X
- X/*
- X * Update the current filename in the name_panel widget (it will resize
- X * automatically) and resize the msg_panel widget to fit in the remaining
- X * space, by getting the width of the command panel and subtract the new
- X * width of the name_panel to get the new width of the message panel
- X */
- Xupdate_cur_filename(newname)
- X char *newname;
- X{
- X Dimension namwid;
- X
- X XtUnmanageChild(msg_form);
- X XtUnmanageChild(msg_panel);
- X XtUnmanageChild(name_panel);
- X strcpy(cur_filename,newname);
- X
- X
- X FirstArg(XtNlabel, newname);
- X SetValues(name_panel);
- X /* get the new size of the name_panel */
- X FirstArg(XtNwidth, &namwid);
- X GetValues(name_panel);
- X MSGPANEL_WD = MSGFORM_WD-namwid;
- X /* resize the message panel to fit with the new width of the name panel */
- X FirstArg(XtNwidth, MSGPANEL_WD);
- X SetValues(msg_panel);
- X XtManageChild(msg_panel);
- X XtManageChild(name_panel);
- X
- X /* now resize the whole form */
- X FirstArg(XtNwidth, MSGFORM_WD);
- X SetValues(msg_form);
- X XtManageChild(msg_form);
- X}
- X
- X/* VARARGS1 */
- Xint put_msg(va_alist) va_dcl
- X{
- X va_list ap;
- X char *format;
- X
- X va_start(ap);
- X format = va_arg(ap, char *);
- X vsprintf(prompt, format, ap );
- X va_end(ap);
- X FirstArg(XtNstring, prompt);
- X SetValues(msg_panel);
- X}
- X
- Xclear_message()
- X{
- X FirstArg(XtNstring, "\0");
- X SetValues(msg_panel);
- X}
- X
- Xboxsize_msg()
- X{
- X float dx, dy;
- X
- X dx = (float) abs(cur_x - fix_x) /
- X (float)(appres.INCHES? PIX_PER_INCH: PIX_PER_CM);
- X dy = (float) abs(cur_y - fix_y) /
- X (float)(appres.INCHES? PIX_PER_INCH: PIX_PER_CM);
- X put_msg("Width = %.2f, Length = %.2f %s",
- X dx*appres.user_scale, dy*appres.user_scale, cur_fig_units);
- X}
- X
- Xlength_msg(type)
- Xint type;
- X{
- X altlength_msg(type, fix_x, fix_y);
- X}
- X
- X/*
- X** In typical usage, point fx,fy is the fixed point.
- X** Distance will be measured from it to cur_x,cur_y.
- X*/
- X
- Xaltlength_msg(type, fx, fy)
- Xint type;
- X{
- X float len,dx,dy;
- X
- X dx = cur_x - fx;
- X dy = cur_y - fy;
- X len = (float)(sqrt((double)dx*(double)dx + (double)dy*(double)dy)/
- X (double)(appres.INCHES? PIX_PER_INCH: PIX_PER_CM));
- X put_msg("%s = %.2f %s", (type==MSG_RADIUS? "Radius":
- X (type==MSG_DIAM? "Diameter": "Length")),
- X len*appres.user_scale, cur_fig_units);
- X}
- X
- X/*
- X** In typical usage, point x3,y3 is the one that is moving,
- X** the other two are fixed. Distances will be measured from
- X** points 1 -> 3 and 2 -> 3.
- X*/
- X
- Xlength_msg2(x1,y1,x2,y2,x3,y3)
- Xint x1,y1,x2,y2,x3,y3;
- X{
- X float len1,len2,dx1,dy1,dx2,dy2;
- X
- X len1=len2=0.0;
- X if (x1 != -999) {
- X dx1 = x3 - x1;
- X dy1 = y3 - y1;
- X len1 = (float)(sqrt((double)dx1*(double)dx1 + (double)dy1*(double)dy1)/
- X (double)(appres.INCHES? PIX_PER_INCH: PIX_PER_CM));
- X }
- X if (x2 != -999) {
- X dx2 = x3 - x2;
- X dy2 = y3 - y2;
- X len2 = (float)(sqrt((double)dx2*(double)dx2 + (double)dy2*(double)dy2)/
- X (double)(appres.INCHES? PIX_PER_INCH: PIX_PER_CM));
- X }
- X put_msg("Length 1 = %.2f, Length 2 = %.2f %s",
- X len1*appres.user_scale, len2*appres.user_scale, cur_fig_units);
- X}
- X
- END_OF_FILE
- if test 5807 -ne `wc -c <'w_msgpanel.c'`; then
- echo shar: \"'w_msgpanel.c'\" unpacked with wrong size!
- fi
- # end of 'w_msgpanel.c'
- fi
- if test -f 'w_util.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'w_util.c'\"
- else
- echo shar: Extracting \"'w_util.c'\" \(5742 characters\)
- sed "s/^X//" >'w_util.c' <<'END_OF_FILE'
- X/*
- X * FIG : Facility for Interactive Generation of figures
- X * Copyright (c) 1985 by Supoj Sutanthavibul
- X *
- X * "Permission to use, copy, modify, distribute, and sell this software and its
- X * documentation for any purpose is hereby granted without fee, provided that
- X * the above copyright notice appear in all copies and that both the copyright
- X * notice and this permission notice appear in supporting documentation.
- X * No representations are made about the suitability of this software for
- X * any purpose. It is provided "as is" without express or implied warranty."
- X */
- X
- X#include "fig.h"
- X#include "figx.h"
- X#include "resources.h"
- X#include "w_drawprim.h"
- X#include "w_util.h"
- X#include "w_setup.h"
- X
- X/*
- X * The next routine is easy to implement, but I haven't missed it yet.
- X * Generally it is a bad idea to warp the mouse without the users consent.
- X */
- X
- Xwin_setmouseposition(w, x, y)
- X Window w;
- X int x, y;
- X{
- X}
- X
- X/* manually flush out X events */
- X
- Xapp_flush()
- X{
- X while (XtAppPending(tool_app)) {
- X XEvent event;
- X
- X /* pass events to ensure we are completely initialised */
- X XtAppNextEvent(tool_app, &event);
- X XtDispatchEvent(&event);
- X }
- X}
- X
- X/* popup a confirmation window */
- X
- Xstatic query_result, query_done;
- Xstatic String query_translations =
- X "<Message>WM_PROTOCOLS: DismissQuery()\n";
- Xstatic void accept_cancel();
- Xstatic XtActionsRec query_actions[] =
- X{
- X {"DismissQuery", (XtActionProc) accept_cancel},
- X};
- X
- X
- Xstatic void
- Xaccept_yes()
- X{
- X query_done = 1;
- X query_result = RESULT_YES;
- X}
- X
- Xstatic void
- Xaccept_no()
- X{
- X query_done = 1;
- X query_result = RESULT_NO;
- X}
- X
- Xstatic void
- Xaccept_cancel()
- X{
- X query_done = 1;
- X query_result = RESULT_CANCEL;
- X}
- X
- Xint
- Xpopup_query(query_type, message)
- X int query_type;
- X char *message;
- X{
- X TOOL query_popup, query_form, query_message;
- X TOOL query_yes, query_no, query_cancel;
- X int xposn, yposn;
- X Window win;
- X XEvent event;
- X static int actions_added=0;
- X extern Atom wm_delete_window;
- X
- X DeclareArgs(7);
- X
- X XTranslateCoordinates(tool_d, canvas_win, XDefaultRootWindow(tool_d),
- X 150, 200, &xposn, &yposn, &win);
- X FirstArg(XtNallowShellResize, True);
- X NextArg(XtNx, xposn);
- X NextArg(XtNy, yposn);
- X NextArg(XtNborderWidth, POPUP_BW);
- X NextArg(XtNtitle, "Xfig: Query");
- X query_popup = XtCreatePopupShell("query_popup", transientShellWidgetClass,
- X tool, Args, ArgCount);
- X XtOverrideTranslations(query_popup,
- X XtParseTranslationTable(query_translations));
- X if (!actions_added) {
- X XtAppAddActions(tool_app, query_actions, XtNumber(query_actions));
- X actions_added = 1;
- X }
- X
- X FirstArg(XtNdefaultDistance, 10);
- X query_form = XtCreateManagedWidget("query_form", formWidgetClass,
- X query_popup, Args, ArgCount);
- X
- X FirstArg(XtNfont, bold_font);
- X NextArg(XtNborderWidth, 0);
- X NextArg(XtNlabel, message);
- X query_message = XtCreateManagedWidget("message", labelWidgetClass,
- X query_form, Args, ArgCount);
- X
- X FirstArg(XtNheight, 25);
- X NextArg(XtNvertDistance, 15);
- X NextArg(XtNfromVert, query_message);
- X NextArg(XtNborderWidth, INTERNAL_BW);
- X NextArg(XtNlabel, " Yes ");
- X NextArg(XtNhorizDistance, 55);
- X query_yes = XtCreateManagedWidget("yes", commandWidgetClass,
- X query_form, Args, ArgCount);
- X XtAddEventHandler(query_yes, ButtonReleaseMask, (Boolean) 0,
- X (XtEventHandler)accept_yes, (XtPointer) NULL);
- X
- X if (query_type == QUERY_YESNO) {
- X ArgCount = 4;
- X NextArg(XtNhorizDistance, 25);
- X NextArg(XtNlabel, " No ");
- X NextArg(XtNfromHoriz, query_yes);
- X query_no = XtCreateManagedWidget("no", commandWidgetClass,
- X query_form, Args, ArgCount);
- X XtAddEventHandler(query_no, ButtonReleaseMask, (Boolean) 0,
- X (XtEventHandler)accept_no, (XtPointer) NULL);
- X
- X ArgCount = 5;
- X NextArg(XtNfromHoriz, query_no);
- X } else {
- X ArgCount = 4;
- X NextArg(XtNhorizDistance, 25);
- X NextArg(XtNfromHoriz, query_yes);
- X }
- X
- X NextArg(XtNlabel, "Cancel");
- X query_cancel = XtCreateManagedWidget("cancel", commandWidgetClass,
- X query_form, Args, ArgCount);
- X XtAddEventHandler(query_cancel, ButtonReleaseMask, (Boolean) 0,
- X (XtEventHandler)accept_cancel, (XtPointer) NULL);
- X
- X XtPopup(query_popup, XtGrabExclusive);
- X (void) XSetWMProtocols(XtDisplay(query_popup), XtWindow(query_popup),
- X &wm_delete_window, 1);
- X XDefineCursor(tool_d, XtWindow(query_popup), arrow_cursor);
- X
- X query_done = 0;
- X while (!query_done) {
- X /* pass events */
- X XNextEvent(tool_d, &event);
- X XtDispatchEvent(&event);
- X }
- X
- X XtPopdown(query_popup);
- X XtDestroyWidget(query_popup);
- X
- X return (query_result);
- X}
- X
- Xstatic void
- XCvtStringToFloat(args, num_args, fromVal, toVal)
- X XrmValuePtr args;
- X Cardinal *num_args;
- X XrmValuePtr fromVal;
- X XrmValuePtr toVal;
- X{
- X static float f;
- X
- X if (*num_args != 0)
- X XtWarning("String to Float conversion needs no extra arguments");
- X if (sscanf((char *) fromVal->addr, "%f", &f) == 1) {
- X (*toVal).size = sizeof(float);
- X (*toVal).addr = (caddr_t) & f;
- X } else
- X XtStringConversionWarning((char *) fromVal->addr, "Float");
- X}
- X
- Xstatic void
- XCvtIntToFloat(args, num_args, fromVal, toVal)
- X XrmValuePtr args;
- X Cardinal *num_args;
- X XrmValuePtr fromVal;
- X XrmValuePtr toVal;
- X{
- X static float f;
- X
- X if (*num_args != 0)
- X XtWarning("Int to Float conversion needs no extra arguments");
- X f = *(int *) fromVal->addr;
- X (*toVal).size = sizeof(float);
- X (*toVal).addr = (caddr_t) & f;
- X}
- X
- Xfix_converters()
- X{
- X XtAppAddConverter(tool_app, "String", "Float", CvtStringToFloat, NULL, 0);
- X XtAppAddConverter(tool_app, "Int", "Float", CvtIntToFloat, NULL, 0);
- X}
- END_OF_FILE
- if test 5742 -ne `wc -c <'w_util.c'`; then
- echo shar: \"'w_util.c'\" unpacked with wrong size!
- fi
- # end of 'w_util.c'
- fi
- echo shar: End of archive 4 \(of 27\).
- cp /dev/null ark4isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 27 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-
- exit 0 # Just in case...
- --
- // chris@IMD.Sterling.COM | Send comp.sources.x submissions to:
- \X/ Amiga - The only way to fly! | sources-x@imd.sterling.com
- "It's intuitively obvious to the |
- most casual observer..." | GCS d+/-- p+ c++ l+ m+ s++/+ g+ w+ t+ r+ x+
-