home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / x / volume19 / xfig / part03 < prev    next >
Encoding:
Text File  |  1993-05-26  |  73.4 KB  |  2,072 lines

  1. Newsgroups: comp.sources.x
  2. From: envbvs@epb9.lbl.gov (Brian V. Smith)
  3. Subject: v19i115:  xfig - Draw amd manipulate objects in an X-Window, Part03/27
  4. Message-ID: <1993May21.021244.5049@sparky.imd.sterling.com>
  5. X-Md4-Signature: 106d45307c304d89a320139aeb2d45c9
  6. Sender: chris@sparky.imd.sterling.com (Chris Olson)
  7. Organization: Sterling Software
  8. Date: Fri, 21 May 1993 02:12:44 GMT
  9. Approved: chris@sparky.imd.sterling.com
  10.  
  11. Submitted-by: envbvs@epb9.lbl.gov (Brian V. Smith)
  12. Posting-number: Volume 19, Issue 115
  13. Archive-name: xfig/part03
  14. Environment: X11
  15. Supersedes: xfig: Volume 16, Issue 6-30,39
  16.  
  17. #! /bin/sh
  18. # This is a shell archive.  Remove anything before this line, then unpack
  19. # it by saving it into a file and typing "sh file".  To overwrite existing
  20. # files, type "sh file -c".  You can also feed this as standard input via
  21. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  22. # will see the following message at the end:
  23. #        "End of archive 3 (of 27)."
  24. # Contents:  Examples/deltat.fig.uu Examples/filenames.fig.uu
  25. #   Examples/flowchart.fig.uu Examples/gold.fig.uu
  26. #   Examples/network.fig.uu Examples/resistor.fig.uu
  27. #   Examples/splinefill.fig.uu Examples/window2.fig.uu d_arc.c
  28. #   e_convert.c e_copy.c mode.h u_fonts.c u_free.c w_grid.c w_zoom.c
  29. # Wrapped by envbvs@epb9.lbl.gov.lbl.gov on Mon May  3 12:05:46 1993
  30. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  31. if test -f 'Examples/deltat.fig.uu' -a "${1}" != "-c" ; then 
  32.   echo shar: Will not clobber existing file \"'Examples/deltat.fig.uu'\"
  33. else
  34. echo shar: Extracting \"'Examples/deltat.fig.uu'\" \(3611 characters\)
  35. sed "s/^X//" >'Examples/deltat.fig.uu' <<'END_OF_FILE'
  36. Xbegin 444 deltat.fig
  37. XM(T9)1R`R+C$*.#`@,@HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
  38. XM,S4T(#$V-"`T,SD@,38T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N
  39. XM,#`P(#`@,"`P"@D@,C`T(#,Q-"`Q,C0@,S$T(#DY.3D@.3DY.0HR(#$@,"`Q
  40. XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C`T(#$S-"`R,3D@,3$Y(#DY.3D@
  41. XM.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,S(T(#,V.2`S
  42. XM-30@,S,Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P
  43. XM"@D@,C@Y(#,T.2`S-30@,C@T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P
  44. XM(#`N,#`P(#`@,"`P"@D@,C@Y(#$V.2`S,SD@,3$Y(#DY.3D@.3DY.0HR(#$@
  45. XM,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C@Y(#(R.2`S-30@,38T(#DY
  46. XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C@Y(#(X
  47. XM.2`S-30@,C(T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
  48. XM,"`P"@D@,C<T(#,V-"`R-CD@,S8Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@
  49. XM,"`P(#`N,#`P(#`@,"`P"@D@,C<T(#,P-"`R,#D@,S8Y(#DY.3D@.3DY.0HR
  50. XM(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<T(#(T-"`R,#0@,S$T
  51. XM(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<T
  52. XM(#$X-"`R,#0@,C4T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P
  53. XM(#`@,"`P"@D@,C<T(#$R-"`R,#0@,3DT(#DY.3D@.3DY.0HR(#$@,"`Q("TQ
  54. XM(#`@,"`P(#`N,#`P(#`@,"`P"@D@,S4T(#$Q.2`S-30@,S8Y(#DY.3D@.3DY
  55. XM.0HR(#$@,"`R("TQ(#`@,"`P(#`N,#`P(#`@,2`P"@DP(#`@,2XP,#`@-"XP
  56. XM,#`@."XP,#`*"2`Q-#D@,C8Y(#0P.2`R-CD@.3DY.2`Y.3DY"C(@,2`P(#(@
  57. XM+3$@,"`P(#`@,"XP,#`@,"`Q(#`*"3`@,"`Q+C`P,"`T+C`P,"`X+C`P,`H)
  58. XM(#$T.2`S-CD@-#4Y(#,V.2`Y.3DY(#DY.3D*,B`Q(#`@,B`M,2`P(#`@,"`P
  59. XM+C`P,"`P(#$@,`H),"`P(#$N,#`P(#0N,#`P(#@N,#`P"@D@,C`T(#0S-"`R
  60. XM,#0@,3`Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P
  61. XM"@D@,C<T(#$Q.2`R-S0@,S8Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P
  62. XM(#`N,#`P(#`@,"`P"@D@,C@Y(#$Q.2`R.#D@,S8Y(#DY.3D@.3DY.0HR(#$@
  63. XM,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<T(#$U.2`R.#D@,34Y(#DY
  64. XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<T(#,U
  65. XM-"`R.#D@,S4T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
  66. XM,"`P"@D@,C<T(#,S.2`R.#D@,S,Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@
  67. XM,"`P(#`N,#`P(#`@,"`P"@D@,C<T(#,R-"`R.#D@,S(T(#DY.3D@.3DY.0HR
  68. XM(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<T(#,P.2`R.#D@,S`Y
  69. XM(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<T
  70. XM(#(Y-"`R.#D@,CDT(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P
  71. XM(#`@,"`P"@D@,C<T(#(W.2`R.#D@,C<Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ
  72. XM(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<T(#(V-"`R.#D@,C8T(#DY.3D@.3DY
  73. XM.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<T(#(T.2`R.#D@
  74. XM,C0Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
  75. XM,C<T(#(S-"`R.#D@,C,T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N
  76. XM,#`P(#`@,"`P"@D@,C<T(#(Q.2`R.#D@,C$Y(#DY.3D@.3DY.0HR(#$@,"`Q
  77. XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<T(#(P-"`R.#D@,C`T(#DY.3D@
  78. XM.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<T(#$X.2`R
  79. XM.#D@,3@Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P
  80. XM"@D@,C<T(#$W-"`R.#D@,3<T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P
  81. XM(#`N,#`P(#`@,"`P"@D@,C<T(#$T-"`R.#D@,30T(#DY.3D@.3DY.0HR(#$@
  82. XM,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<T(#$R.2`R.#D@,3(Y(#DY
  83. XM.3D@.3DY.0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`W(#0@,3@Y(#$Q-"!T
  84. XM`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#,@-#4R(#$W,R!I`0HT(#`@
  85. XM,"`Q,B`P("TQ(#`@,"XP,#`@-"`V(#8@,3$T(#,R-"!O`0HT(#`@,"`Q,B`P
  86. XM("TQ(#`@,"XP,#`@-"`W(#0@-#0T(#$V.2!T`0HT(#`@,"`Q,B`P("TQ(#`@
  87. XM,"XP,#`@-"`W(#0@,3`Y(#,Q.2!T`0HT(#$@,"`Q,B`P("TQ(#`@,"XP,#`@
  88. XM-"`V(#8@,S8R(#,X."!O`0HT(#$@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#@@
  89. XM,S4T(#,X-"!2`0HT(#$@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#$T(#(W.2`S
  90. XM.#0@9%(!"C0@,2`P(#$T(#`@+3$@,"`P+C`P,"`T(#(@,R`T,C0@,C8T("X!
  91. XM"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#D@."`T-30@,S@T(%(!"C0@,2`P
  92. XM(#$R(#`@+3$@,"`P+C`P,"`T(#8@.2`T,C0@,C<T(&T!"C0@,"`P(#$R(#`@
  93. XM+3$@,"`P+C`P,"`T(#D@,30@,C<T(#$P.2!D4@$*-"`P(#`@,3(@,"`M,2`P
  94. XC(#`N,#`P(#0@,3(@-#<@,C4Y(#0W-"!C<F%C:RYF:6<V`0H@
  95. X`
  96. Xend
  97. END_OF_FILE
  98. if test 3611 -ne `wc -c <'Examples/deltat.fig.uu'`; then
  99.     echo shar: \"'Examples/deltat.fig.uu'\" unpacked with wrong size!
  100. fi
  101. # end of 'Examples/deltat.fig.uu'
  102. fi
  103. if test -f 'Examples/filenames.fig.uu' -a "${1}" != "-c" ; then 
  104.   echo shar: Will not clobber existing file \"'Examples/filenames.fig.uu'\"
  105. else
  106. echo shar: Extracting \"'Examples/filenames.fig.uu'\" \(4318 characters\)
  107. sed "s/^X//" >'Examples/filenames.fig.uu' <<'END_OF_FILE'
  108. Xbegin 444 filenames.fig
  109. XM(T9)1R`R+C$*.#`@,@HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
  110. XM,3,Y(#$W.2`Q,SD@,3$T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N
  111. XM,#`P(#`@,"`P"@D@,3DY(#$W.2`Q.3D@,34Y(#DY.3D@.3DY.0HR(#$@,"`Q
  112. XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,CDY(#$X.2`S,30@,C`T(#,Q-"`R
  113. XM,30@-#$T(#(Q-"`T,30@,C,T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P
  114. XM(#`N,#`P(#`@,"`P"@D@,S(Y(#$X.2`S,30@,C`T(#DY.3D@.3DY.0HR(#$@
  115. XM,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C8Y(#$X.2`R-30@,C`T(#DY
  116. XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C,Y(#$X
  117. XM.2`R-30@,C`T(#(U-"`R,C0@,CDT(#(R-"`R.30@,C4T(#DY.3D@.3DY.0HR
  118. XM(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,38Y(#$X.2`Q-CD@,C,Y
  119. XM(#(V-"`R,SD@,C8T(#,Q-"`R,30@,S$T(#(Q-"`S,CD@.3DY.2`Y.3DY"C(@
  120. XM,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`X-"`Q.#D@.#0@,S$T(#DY
  121. XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,3`Y(#$X
  122. XM.2`Q,#D@,C0Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
  123. XM,"`P"@D@,S$Y(#$X-"`S,SD@,3@T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@
  124. XM,"`P(#`N,#`P(#`@,"`P"@D@,C@Y(#$X-"`S,#D@,3@T(#DY.3D@.3DY.0HR
  125. XM(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C4Y(#$X-"`R-SD@,3@T
  126. XM(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C(Y
  127. XM(#$X-"`R-#D@,3@T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P
  128. XM(#`@,"`P"@D@,3@Y(#$X-"`R,#D@,3@T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ
  129. XM(#`@,"`P(#`N,#`P(#`@,"`P"@D@,34Y(#$X-"`Q-SD@,3@T(#DY.3D@.3DY
  130. XM.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,3(Y(#$X-"`Q-#D@
  131. XM,3@T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
  132. XM.3D@,3@T(#$Q.2`Q.#0@.3DY.2`Y.3DY"C0@,"`R(#$V(#`@+3$@,"`P+C`P
  133. XM,"`T(#$U(#(W(#,T-"`Q.#0@+FEN<`$*-"`P(#(@,38@,"`M,2`P(#`N,#`P
  134. XM(#0@,B`Y(#(Q-"`Q.#0@+0$*-"`P(#(@,38@,"`M,2`P(#`N,#`P(#0@,3$@
  135. XM,3@@-SD@,3@T(&(M`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#$S,"`Q
  136. XM,#D@,C8Y(#$@/2!+;&5I;F5S($=E8F%U9&4@4%-:`0HT(#`@,"`Q,B`P("TQ
  137. XM(#`@,"XP,#`@-"`Y(#8Y(#$P.2`R.#0@,B`]($AO8VAH875S`0HT(#`@,"`Q
  138. XM,B`P("TQ(#`@,"XP,#`@-"`Y(#$T,"`Q,#D@,CDY(#,@/2!+;&5I;F5S($=E
  139. XM8F%U9&4@4DA&4P$*-"`P(#(@,30@,"`M,2`P(#`N,#`P(#0@,3`@.3`@-#$T
  140. XM(#(U-"!!8G-C:&%L='=E<G1E`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y
  141. XM(#$Q-"`T,30@,C<T(#`P(#T@3VAN92!%8V]N;VUI>F5R`0HT(#`@,"`Q,B`P
  142. XM("TQ(#`@,"XP,#`@-"`Y(#$P."`T,30@,C@Y(#$Q(#T@1&EF9BX@16-O;F]M
  143. XM:7IE<@$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@,3(@-S@@-#$T(#,P.2`V
  144. XM,"`](#$U+#8@9&5G($,!"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#$R(#<X
  145. XM(#0Q-"`S,C0@-C@@/2`R,"PP(&1E9R!#`0HT(#`@,"`Q,B`P("TQ(#`@,"XP
  146. XM,#`@-"`Q,B`W."`T,30@,S,Y(#<S(#T@,C(L."!D96<@0P$*-"`P(#`@,3(@
  147. XM,"`M,2`P(#`N,#`P(#0@,3(@-S@@-#$T(#,U-"`W."`](#(U+#8@9&5G($,!
  148. XM"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#$R(#0P(#0Q-"`S-S0@-#0@:THO
  149. XM:V<!"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#$R(#0P(#0Q-"`S.#D@-#@@
  150. XM:THO:V<!"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#$R(#0P(#0Q-"`T,#0@
  151. XM-3(@:THO:V<!"C0@,"`R(#$T(#`@+3$@,"`P+C`P,"`T(#$S(#8Y(#(Y-"`R
  152. XM-S0@4F%U;71E;7`!"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#$R(#<X(#(Y
  153. XM-"`R.30@-S4@/2`R,RPY(&1E9R!#`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@
  154. XM-"`Q,B`W."`R.30@,S`Y(#<X(#T@,C4L-B!D96<@0P$*-"`P(#(@,30@,"`M
  155. XM,2`P(#`N,#`P(#0@,3,@-C0@,C$T(#,T.2!%:6YB875T>7`!"C0@,"`P(#$R
  156. XM(#`@+3$@,"`P+C`P,"`T(#D@,3`X(#(Q-"`S-C0@,2`]($]H;F4@16-O;F]M
  157. XM:7IE<@$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@,3(@,3(W(#(Q-"`S-SD@
  158. XM,B`](%1E;7!D:69F+B!%8V]N;VUI>F5R`0HT(#`@,"`Q,B`P("TQ(#`@,"XP
  159. XM,#`@-"`Q,B`Q-3$@,C$T(#,Y-"`S(#T@06)S8VAA;'1T96UP($5C;VYO;6EZ
  160. XM97(!"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#D@,3(S(#(Q-"`T,#D@-"`]
  161. XM($5N=&AD:69F+B!%8V]N;VUI>F5R`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@
  162. XM-"`Y(#$U,2`R,30@-#(T(#4@/2!!8G-C:&%L=&5N=&@N($5C;VYO;6EZ97(!
  163. XM"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#D@-3$@,3,Y(#$P-"`R(#T@4DA&
  164. XM4P$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@,3(@.3,@,3,Y(#@Y(#$@/2!#
  165. XM14,@+2!!;FQA9V4!"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#$R(#$P-B`Q
  166. XM.3D@,30Y(#$@/2!-:70@16YT9F5U8VAT=6YG`0HT(#`@,"`Q,B`P("TQ(#`@
  167. XM,"XP,#`@-"`Q,B`Q,34@,3DY(#$S-"`P(#T@3VAN92!%;G1F975C:'1U;F<!
  168. XM"C0@,"`R(#$T(#`@+3$@,"`P+C`P,"`T(#$P(#,S(#@T(#,S-"!3=&%D=`$*
  169. XM-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@.2`V."`X-"`T-30@:"`]($AA;FYO
  170. XM=F5R`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Q,B`V-B`X-"`T,SD@9R`]
  171. XM($9R86YK9G5R=`$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@.2`U.2`X-"`T
  172. XM,C0@9B`@/2!0:&]E;FEX`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Q,B`W
  173. XM,2`X-"`T,#D@92`](%-A;B!$:65G;P$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P
  174. XM(#0@.2`V-2`X-"`S.30@9"`](%)E9"!";'5F9@$*-"`P(#`@,3(@,"`M,2`P
  175. XM(#`N,#`P(#0@,3(@-S<@.#0@,S<Y(&,@/2!,;VYG($)E86-H`0HT(#`@,"`Q
  176. XM,B`P("TQ(#`@,"XP,#`@-"`Y(#@V(#@T(#,V-"!B(#T@3&%K92!#:&%R;&5S
  177. XM`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#4S(#@T(#,T.2!A(#T@07)C
  178. X%871A`0H@
  179. X`
  180. Xend
  181. END_OF_FILE
  182. if test 4318 -ne `wc -c <'Examples/filenames.fig.uu'`; then
  183.     echo shar: \"'Examples/filenames.fig.uu'\" unpacked with wrong size!
  184. fi
  185. # end of 'Examples/filenames.fig.uu'
  186. fi
  187. if test -f 'Examples/flowchart.fig.uu' -a "${1}" != "-c" ; then 
  188.   echo shar: Will not clobber existing file \"'Examples/flowchart.fig.uu'\"
  189. else
  190. echo shar: Extracting \"'Examples/flowchart.fig.uu'\" \(4230 characters\)
  191. sed "s/^X//" >'Examples/flowchart.fig.uu' <<'END_OF_FILE'
  192. Xbegin 444 flowchart.fig
  193. XM(T9)1R`R+C$*.#`@,@HR(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
  194. XM-#<T(#4T.2`T-S0@-3<Y(#8P-"`U-SD@-C`T(#4T.2`T-S0@-30Y(#DY.3D@
  195. XM.3DY.0HR(#0@,"`R("TQ(#`@,"`P(#`N,#`P(#<@,"`P"@D@,3DY(#$W-"`Q
  196. XM.3D@,C,T(#,Y.2`R,S0@,SDY(#$W-"`Q.3D@,3<T(#DY.3D@.3DY.0HR(#0@
  197. XM,"`R("TQ(#`@,"`P(#`N,#`P(#<@,"`P"@D@,3DY(#(W-"`Q.3D@,S,T(#,Y
  198. XM.2`S,S0@,SDY(#(W-"`Q.3D@,C<T(#DY.3D@.3DY.0HR(#0@,"`R("TQ(#`@
  199. XM,"`P(#`N,#`P(#<@,"`P"@D@,3DY(#,W-"`Q.3D@-#,T(#,Y.2`T,S0@,SDY
  200. XM(#,W-"`Q.3D@,S<T(#DY.3D@.3DY.0HR(#0@,"`R("TQ(#`@,"`P(#`N,#`P
  201. XM(#<@,"`P"@D@,3DY(#4S-"`Q.3D@-3DT(#,Y.2`U.30@,SDY(#4S-"`Q.3D@
  202. XM-3,T(#DY.3D@.3DY.0HR(#0@,"`R("TQ(#`@,"`P(#`N,#`P(#<@,"`P"@D@
  203. XM-3$Y(#$W-"`U,3D@,C,T(#<Q.2`R,S0@-S$Y(#$W-"`U,3D@,3<T(#DY.3D@
  204. XM.3DY.0HR(#0@,"`R("TQ(#`@,"`P(#`N,#`P(#<@,"`P"@D@-3$Y(#(W-"`U
  205. XM,3D@,S,T(#<Q.2`S,S0@-S$Y(#(W-"`U,3D@,C<T(#DY.3D@.3DY.0HR(#0@
  206. XM,"`R("TQ(#`@,"`P(#`N,#`P(#<@,"`P"@D@-3$Y(#,W-"`U,3D@-#,T(#<Q
  207. XM.2`T,S0@-S$Y(#,W-"`U,3D@,S<T(#DY.3D@.3DY.0HR(#$@,"`S("TQ(#`@
  208. XM,"`P(#`N,#`P(#`@,"`P"@D@-#4Y(#$U-"`T-3D@,S4T(#DY.3D@.3DY.0HR
  209. XM(#$@,"`S("TQ(#`@,"`P(#`N,#`P(#`@,2`P"@DP(#`@,BXP,#`@."XP,#`@
  210. XM,38N,#`P"@D@,SDY(#4V-"`T-CD@-38T(#DY.3D@.3DY.0HR(#0@,"`R("TQ
  211. XM(#`@,"`P(#`N,#`P(#<@,"`P"@D@,S4T(#<T(#,U-"`Q,S0@-34T(#$S-"`U
  212. XM-30@-S0@,S4T(#<T(#DY.3D@.3DY.0HR(#(@,"`Q("TQ(#`@,"`P(#`N,#`P
  213. XM(#`@,"`P"@D@,3,T(#4T(#$S-"`X-"`R-C0@.#0@,C8T(#4T(#$S-"`U-"`Y
  214. XM.3DY(#DY.3D*,R`P(#`@,R`M,2`P(#`@,"`P+C`P,"`Q(#`*"3`@,"`R+C`P
  215. XM,"`X+C`P,"`Q-BXP,#`*"2`T-3D@,S4T(#0U.2`S-S0@-#4T(#,X.2`T,SD@
  216. XM-#`T(#0P-"`T,#0@.3DY.2`Y.3DY"C,@,"`P(#,@+3$@,"`P(#`@,"XP,#`@
  217. XM,2`P"@DP(#`@,BXP,#`@."XP,#`@,38N,#`P"@D@-#4Y(#$Y-"`T-3D@,C<T
  218. XM(#0S.2`S,#0@-#`T(#,P-"`Y.3DY(#DY.3D*,R`P(#`@,R`M,2`P(#`@,"`P
  219. XM+C`P,"`Q(#`*"3`@,"`R+C`P,"`X+C`P,"`Q-BXP,#`*"2`T-3D@,3,T(#0U
  220. XM.2`Q-S0@-#,Y(#(P-"`T,#0@,C`T(#DY.3D@.3DY.0HS(#`@,"`S("TQ(#`@
  221. XM,"`P(#`N,#`P(#$@,`H),"`P(#(N,#`P(#@N,#`P(#$V+C`P,`H)(#0U.2`Q
  222. XM,S0@-#4Y(#$W-"`T-SD@,C`T(#4Q-"`R,#0@.3DY.2`Y.3DY"C,@,"`P(#,@
  223. XM+3$@,"`P(#`@,"XP,#`@,2`P"@DP(#`@,BXP,#`@."XP,#`@,38N,#`P"@D@
  224. XM-#4Y(#(Q-"`T-3D@,C<T(#0W.2`S,#0@-3$T(#,P-"`Y.3DY(#DY.3D*,R`P
  225. XM(#`@,R`M,2`P(#`@,"`P+C`P,"`Q(#`*"3`@,"`R+C`P,"`X+C`P,"`Q-BXP
  226. XM,#`*"2`T-3D@,S8Y(#0U.2`S-S0@-#8T(#,X.2`T-SD@-#`T(#4Q-"`T,#0@
  227. XM.3DY.2`Y.3DY"C,@,"`P(#,@+3$@,"`P(#`@,"XP,#`@,2`P"@DP(#`@,BXP
  228. XM,#`@."XP,#`@,38N,#`P"@D@,3DY(#(P-"`Q-#D@,C`T(#$T-"`R,C0@,30T
  229. XM(#(U-"`Q-#0@-#4Y(#$T-"`T-S0@,34T(#0Y-"`Q.30@-#DT(#(R-"`T.30@
  230. XM,C(T(#4R.2`Y.3DY(#DY.3D*,R`P(#`@,R`M,2`P(#`@,"`P+C`P,"`P(#`*
  231. XM"2`Q.3D@,S`T(#$U.2`S,#0@,30T(#,Q.2`Q-#0@,S0T(#DY.3D@.3DY.0HS
  232. XM(#`@,"`S("TQ(#`@,"`P(#`N,#`P(#`@,`H)(#$Y.2`T,#0@,34Y(#0P-"`Q
  233. XM-#0@-#$Y(#$T-"`T-#0@.3DY.2`Y.3DY"C,@,"`P(#,@+3$@,"`P(#`@,"XP
  234. XM,#`@,2`P"@DP(#`@,BXP,#`@."XP,#`@,38N,#`P"@D@-S$Y(#(P-"`W-CD@
  235. XM,C`T(#<W-"`R,C0@-S<T(#(U-"`W-S0@-#0T(#<W-"`T-S0@-S8Y(#0Y-"`W
  236. XM,3D@-#DT(#0S.2`T.30@,S<T(#0Y-"`S-S0@-3(Y(#DY.3D@.3DY.0HS(#`@
  237. XM,"`S("TQ(#`@,"`P(#`N,#`P(#`@,`H)(#<Q.2`S,#0@-S4Y(#,P-"`W-S0@
  238. XM,S$Y(#<W-"`S-#0@.3DY.2`Y.3DY"C,@,"`P(#,@+3$@,"`P(#`@,"XP,#`@
  239. XM,"`P"@D@-S$Y(#0P-"`W-3D@-#`T(#<W-"`T,3D@-S<T(#0U.2`Y.3DY(#DY
  240. XM.3D*,R`P(#`@,R`M,2`P(#`@,"`P+C`P,"`Q(#`*"3`@,"`R+C`P,"`X+C`P
  241. XM,"`Q-BXP,#`*"2`R,S0@.#0@,C,T(#$P-"`R-30@,3`T(#,T.2`Q,#0@.3DY
  242. XM.2`Y.3DY"C0@,"`P(#$T(#`@+3$@,"`P+C`P,"`T(#$S(#(Q-"`W.2`S-"!-
  243. XM;V1U;&4@-"XR("!&;&]W($5Q=6%T:6]N<RX@($QE=F5L(#(N`0HT(#`@,"`Q
  244. XM-"`P("TQ(#`@,"XP,#`@-"`Q,R`T."`R-CD@-3<Y('!E<B!,:6YK`0HT(#`@
  245. XM,"`Q-"`P("TQ(#`@,"XP,#`@-"`Q,"`Q,3`@,C`T(#4U-"`T+C(N-R`@4&QA
  246. XM8V4@4F5S=6QT<P$*-"`P(#`@,30@,"`M,2`P(#`N,#`P(#0@,3`@-#$@-3<T
  247. XM(#0Q.2!%9F9E8W1S`0HT(#`@,"`Q-"`P("TQ(#`@,"XP,#`@-"`Q,R`Q,3D@
  248. XM-3(T(#,Y-"`T+C(N-B`@3&%R9V4@3W!E;FEN9P$*-"`P(#`@,30@,"`M,2`P
  249. XM(#`N,#`P(#0@,3`@,3(P(#(P-"`S.30@-"XR+C4@1FQO=R!#;VYT<F]L;&5R
  250. XM`0HT(#`@,"`Q-"`P("TQ(#`@,"XP,#`@-"`Q,"`V,2`U,C0@,CDT(#0N,BXT
  251. XM("!$=6-T`0HT(#`@,"`Q-"`P("TQ(#`@,"XP,#`@-"`Q,"`U-2`R,#0@,CDT
  252. XM(#0N,BXS("!&86X!"C0@,"`P(#$T(#`@+3$@,"`P+C`P,"`T(#$P(#$S,2`U
  253. XM,C0@,3DT(#0N,BXR("!#;VUB:6YE9"!#<F%C:P$*-"`P(#`@,30@,"`M,2`P
  254. XM(#`N,#`P(#0@,3,@,3$Q(#(P-"`Q.30@-"XR+C$@(%-I;7!L92!#<F%C:P$*
  255. XM-"`P(#`@,30@,"`M,2`P(#`N,#`P(#0@,3`@.#<@-#<Y(#4V.2!!;&P@4&%R
  256. XM86UE=&5R<P$*-"`P(#`@,30@,"`M,2`P(#`N,#`P(#0@,3`@,S`@,S4Y(#DT
  257. XM(#0N,BXP(`$*-"`P(#`@,30@,"`M,2`P(#`N,#`P(#0@,3`@.#<@,3,Y(#<T
  258. XM($%L;"!087)A;65T97)S`0HT(#`@,"`Q-"`P("TQ(#`@,"XP,#`@-"`Q,"`X
  259. XM,R`T,3D@.30@4V5L96-T($UO9'5L90$*-"`P(#`@,30@,"`M,2`P(#`N,#`P
  260. X@(#0@,3,@-S@@-#$Y(#$Q.2!F;W(@3&EN:R!4>7!E`0H@
  261. X`
  262. Xend
  263. END_OF_FILE
  264. if test 4230 -ne `wc -c <'Examples/flowchart.fig.uu'`; then
  265.     echo shar: \"'Examples/flowchart.fig.uu'\" unpacked with wrong size!
  266. fi
  267. # end of 'Examples/flowchart.fig.uu'
  268. fi
  269. if test -f 'Examples/gold.fig.uu' -a "${1}" != "-c" ; then 
  270.   echo shar: Will not clobber existing file \"'Examples/gold.fig.uu'\"
  271. else
  272. echo shar: Extracting \"'Examples/gold.fig.uu'\" \(3989 characters\)
  273. sed "s/^X//" >'Examples/gold.fig.uu' <<'END_OF_FILE'
  274. Xbegin 444 gold.fig
  275. XM(T9)1R`R+C$*.#`@,@HR(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
  276. XM-34T(#0S.2`U-30@-#,Q(#4V,B`T,S$@-38R(#0S.2`U-30@-#,Y(#DY.3D@
  277. XM.3DY.0HR(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,34T(#0S.2`Q
  278. XM-30@-#,Q(#$V,2`T,S$@,38Q(#0S.2`Q-30@-#,Y(#DY.3D@.3DY.0HR(#(@
  279. XM,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-SD@,C(T(#(S.2`R,C0@,C,Y
  280. XM(#,X-"`W.2`S.#0@-SD@,C(T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P
  281. XM(#`N,#`P(#`@,"`P"@D@-SD@,C@T(#(S.2`R.#0@.3DY.2`Y.3DY"C(@,2`P
  282. XM(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`W.2`R,C0@,C,Y(#(X-"`Y.3DY
  283. XM(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#$W.2`R.#0@
  284. XM,3,Y(#,X-"`Y.3DY(#DY.3D*,B`Q(#`@,R`M,2`P(#`@,"`P+C`P,"`P(#$@
  285. XM,`H),"`P(#,N,#`P(#$R+C`P,"`R-"XP,#`*"2`R.3D@,S`T(#,W.2`S,#0@
  286. XM.3DY.2`Y.3DY"C(@,B`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`T,3D@
  287. XM,C0T(#8W.2`R-#0@-C<Y(#,T-"`T,3D@,S0T(#0Q.2`R-#0@.3DY.2`Y.3DY
  288. XM"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`U,3D@,C@R(#4Q.2`S
  289. XM-#0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`U
  290. XM-SD@,C0T(#4W.2`S,#8@.3DY.2`Y.3DY"C(@,R`P(#$@+3$@,"`P(#(@,"XP
  291. XM,#`@,"`P(#`*"2`W.2`R,C0@,3$Y(#$Y-"`R-SD@,3DT(#(S.2`R,C0@-SD@
  292. XM,C(T(#DY.3D@.3DY.0HR(#,@,"`Q("TQ(#`@,"`R(#`N,#`P(#`@,"`P"@D@
  293. XM,C<Y(#$Y-"`R-SD@,S4T(#(S.2`S.#0@,C,Y(#(R-"`R-SD@,3DT(#DY.3D@
  294. XM.3DY.0HR(#,@,"`Q("TQ(#`@,"`R(#`N,#`P(#`@,"`P"@D@-#$Y(#(T-"`T
  295. XM-3D@,C$T(#<Q.2`R,30@-C<Y(#(T-"`T,3D@,C0T(#DY.3D@.3DY.0HR(#,@
  296. XM,"`Q("TQ(#`@,"`R(#`N,#`P(#`@,"`P"@D@-S$Y(#(Q-"`W,3D@,S$T(#8W
  297. XM.2`S-#0@-C<Y(#(T-"`W,3D@,C$T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@
  298. XM,"`P(#`N,#`P(#`@,"`P"@D@,3$Y(#$W-"`Q,3D@,3@T(#DY.3D@.3DY.0HR
  299. XM(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<Y(#$W-"`R-SD@,3@T
  300. XM(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`Q"@DP(#`@
  301. XM,2XP,#`@-"XP,#`@."XP,#`*"2`Q,3D@,3<Y(#$W.2`Q-SD@.3DY.2`Y.3DY
  302. XM"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#$*"3`@,"`Q+C`P,"`T+C`P
  303. XM,"`X+C`P,`H)(#(W.2`Q-SD@,C`Y(#$W.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M
  304. XM,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#4Y(#(R-"`V.2`R,C0@.3DY.2`Y.3DY
  305. XM"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`U.2`R.#0@-CD@,C@T
  306. XM(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-3D@
  307. XM,S@T(#8Y(#,X-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P
  308. XM(#`@,0H),"`P(#$N,#`P(#0N,#`P(#@N,#`P"@D@-C0@,C(T(#8T(#(T-"`Y
  309. XM.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,0H),"`P(#$N
  310. XM,#`P(#0N,#`P(#@N,#`P"@D@-C0@,C@T(#8T(#(V-"`Y.3DY(#DY.3D*,B`Q
  311. XM(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,0H),"`P(#$N,#`P(#0N,#`P(#@N
  312. XM,#`P"@D@-C0@,C@T(#8T(#,R-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@
  313. XM,"`P+C`P,"`P(#`@,0H),"`P(#$N,#`P(#0N,#`P(#@N,#`P"@D@-C0@,S@T
  314. XM(#8T(#,T-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@
  315. XM,`H)(#0U.2`Q.30@-#4Y(#(P-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@
  316. XM,"`P+C`P,"`P(#`@,`H)(#<Q.2`Q.30@-S$Y(#(P-"`Y.3DY(#DY.3D*,B`Q
  317. XM(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,0H),"`P(#$N,#`P(#0N,#`P(#@N
  318. XM,#`P"@D@-#4Y(#$Y.2`U-S0@,3DY(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@
  319. XM,"`P(#`N,#`P(#`@,"`Q"@DP(#`@,2XP,#`@-"XP,#`@."XP,#`*"2`W,3D@
  320. XM,3DY(#8P-"`Q.3D@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@
  321. XM,"`P(#`*"2`S.3D@,C0T(#0P.2`R-#0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@
  322. XM,"`P(#`@,"XP,#`@,"`P(#`*"2`S.3D@,S0T(#0P.2`S-#0@.3DY.2`Y.3DY
  323. XM"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#$*"3`@,"`Q+C`P,"`T+C`P
  324. XM,"`X+C`P,`H)(#0P-"`R-#0@-#`T(#(X-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M
  325. XM,2`P(#`@,"`P+C`P,"`P(#`@,0H),"`P(#$N,#`P(#0N,#`P(#@N,#`P"@D@
  326. XM-#`T(#,T-"`T,#0@,S`T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N
  327. XM,#`P(#`@,"`P"@D@-#$Y(#(T-"`V-SD@,S0T(#DY.3D@.3DY.0HR(#$@,"`Q
  328. XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-3<Y(#(T-"`V,3D@,C$T(#DY.3D@
  329. XM.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C,Y(#(X-"`R
  330. XM-SD@,C4T(#DY.3D@.3DY.0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#(Y
  331. XM(#4S.2`T,SD@-C4@("`@(@$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@.2`R
  332. XM.2`Q,SD@-#,Y(#8T("`@("(!"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#D@
  333. XM,3$@-3D@,C4Y(#,B`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#$Q(#4Y
  334. XM(#,S.2`U(@$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@.2`Q-R`U-SD@,C`T
  335. XM(#$S(@$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@.2`Q,2`S.3D@,CDY(#4B
  336. XM`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#$Q(#$X.2`Q.#0@."(!"C0@
  337. XM,2`P(#$X(#`@+3$@,"`P+C`P,"`T(#$W(#,U."`S-#D@,3(T($AO=R!T;R!C
  338. XI<F5A=&4@;6%T=&5R("AU<VEN9R!G;VQD(&%S(&%N(&5X86UP;&4I`0IT
  339. X`
  340. Xend
  341. END_OF_FILE
  342. if test 3989 -ne `wc -c <'Examples/gold.fig.uu'`; then
  343.     echo shar: \"'Examples/gold.fig.uu'\" unpacked with wrong size!
  344. fi
  345. # end of 'Examples/gold.fig.uu'
  346. fi
  347. if test -f 'Examples/network.fig.uu' -a "${1}" != "-c" ; then 
  348.   echo shar: Will not clobber existing file \"'Examples/network.fig.uu'\"
  349. else
  350. echo shar: Extracting \"'Examples/network.fig.uu'\" \(3988 characters\)
  351. sed "s/^X//" >'Examples/network.fig.uu' <<'END_OF_FILE'
  352. Xbegin 444 network.fig
  353. XM(T9)1R`R+C$*.#`@,@HQ(#,@,"`Q("TQ(#`@,"`R,2`P+C`P,"`Q(#`N,#`P
  354. XM(#(W.2`Q.2`S(#,@,C<Y(#$Y(#(X,2`R,`HQ(#,@,"`Q("TQ(#`@,"`R,2`P
  355. XM+C`P,"`Q(#`N,#`P(#0S.2`Q.2`S(#,@-#,Y(#$Y(#0T,2`R,`HQ(#,@,"`Q
  356. XM("TQ(#`@,"`R,2`P+C`P,"`Q(#`N,#`P(#4Y.2`Q.2`S(#,@-3DY(#$Y(#8P
  357. XM,2`R,`HQ(#,@,"`Q("TQ(#`@,"`R,2`P+C`P,"`Q(#`N,#`P(#0S.2`Q-3D@
  358. XM,R`S(#0S.2`Q-3D@-#0Q(#$V,`HQ(#,@,"`Q("TQ(#`@,"`R,2`P+C`P,"`Q
  359. XM(#`N,#`P(#(W.2`R.3D@,R`S(#(W.2`R.3D@,C@Q(#,P,`HQ(#,@,"`Q("TQ
  360. XM(#`@,"`R,2`P+C`P,"`Q(#`N,#`P(#0S.2`R.3D@,R`S(#0S.2`R.3D@-#0Q
  361. XM(#,P,`HQ(#,@,"`Q("TQ(#`@,"`R,2`P+C`P,"`Q(#`N,#`P(#4Y.2`R.3D@
  362. XM,R`S(#4Y.2`R.3D@-C`Q(#,P,`HQ(#,@,"`Q("TQ(#`@,"`R,2`P+C`P,"`Q
  363. XM(#`N,#`P(#(W.2`T-SD@,R`S(#(W.2`T-SD@,C@Q(#0T,`HQ(#,@,"`Q("TQ
  364. XM(#`@,"`R,2`P+C`P,"`Q(#`N,#`P(#0S.2`T-SD@,R`S(#0S.2`T-SD@-#0Q
  365. XM(#0T,`HQ(#,@,"`Q("TQ(#`@,"`R,2`P+C`P,"`Q(#`N,#`P(#4Y.2`T-SD@
  366. XM,R`S(#4Y.2`T-SD@-C`Q(#0T,`HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
  367. XM,"`P"@D@,C<Y(#$Q.2`R-SD@,S,Y(#DY.3D@.3DY.0HR(#(@,"`Q("TQ(#`@
  368. XM,"`P(#`N,#`P(#`@,"`P"@D@,C8Y(#4Y(#(X.2`U.2`R.#D@,3$Y(#(V.2`Q
  369. XM,3D@,C8Y(#4Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
  370. XM,"`P"@D@,C<Y(#$Y(#(W.2`U.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@
  371. XM,"`P+C`P,"`P(#`@,`H)(#0S.2`Q.2`T,SD@-3D@.3DY.2`Y.3DY"C(@,B`P
  372. XM(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`T,CD@-3D@-#0Y(#4Y(#0T.2`Q
  373. XM,3D@-#(Y(#$Q.2`T,CD@-3D@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@
  374. XM,"XP,#`@,"`P(#`*"2`T,SD@,3$Y(#0S.2`Q-3D@.3DY.2`Y.3DY"C(@,2`P
  375. XM(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`U.3D@,3$Y(#4Y.2`Q-3D@.3DY
  376. XM.2`Y.3DY"C(@,B`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`U.#D@-3D@
  377. XM-C`Y(#4Y(#8P.2`Q,3D@-3@Y(#$Q.2`U.#D@-3D@.3DY.2`Y.3DY"C(@,2`P
  378. XM(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`U.3D@,3D@-3DY(#4Y(#DY.3D@
  379. XM.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-#,Y(#(U.2`T
  380. XM,SD@,CDY(#DY.3D@.3DY.0HR(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P
  381. XM"@D@-#(Y(#$Y.2`T-#D@,3DY(#0T.2`R-3D@-#(Y(#(U.2`T,CD@,3DY(#DY
  382. XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-#,Y(#$U
  383. XM.2`T,SD@,3DY(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
  384. XM,"`P"@D@,C<Y(#(Y.2`S,3D@,CDY(#DY.3D@.3DY.0HR(#(@,"`Q("TQ(#`@
  385. XM,"`P(#`N,#`P(#`@,"`P"@D@,S$Y(#,P.2`S,3D@,C@Y(#,W.2`R.#D@,S<Y
  386. XM(#,P.2`S,3D@,S`Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P
  387. XM(#`@,"`P"@D@,S<Y(#(Y.2`T,SD@,CDY(#DY.3D@.3DY.0HR(#$@,"`Q("TQ
  388. XM(#`@,"`P(#`N,#`P(#`@,"`P"@D@-#,Y(#(Y.2`T.3D@,CDY(#DY.3D@.3DY
  389. XM.0HR(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-#DY(#,P.2`T.3D@
  390. XM,C@Y(#4U.2`R.#D@-34Y(#,P.2`T.3D@,S`Y(#DY.3D@.3DY.0HR(#$@,"`Q
  391. XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-34Y(#(Y.2`U.3D@,CDY(#DY.3D@
  392. XM.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-#,Y(#0S.2`T
  393. XM,SD@-#<Y(#DY.3D@.3DY.0HR(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P
  394. XM"@D@-#(T(#,W.2`T,C0@-#,Y(#0U-"`T,SD@-#4T(#,W.2`T,C0@,S<Y(#DY
  395. XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-#,Y(#(Y
  396. XM.2`T,SD@,S<Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
  397. XM,"`P"@D@-3DY(#$U.2`U.3D@,S<Y(#DY.3D@.3DY.0HR(#(@,"`Q("TQ(#`@
  398. XM,"`P(#`N,#`P(#`@,"`P"@D@-3@Y(#,W.2`V,#D@,S<Y(#8P.2`T,SD@-3@Y
  399. XM(#0S.2`U.#D@,S<Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P
  400. XM(#`@,"`P"@D@-3DY(#0S.2`U.3D@-#<Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ
  401. XM(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<Y(#,S.2`R-SD@,S<Y(#DY.3D@.3DY
  402. XM.0HR(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C8Y(#,W.2`R.#D@
  403. XM,S<Y(#(X.2`T,SD@,C8Y(#0S.2`R-CD@,S<Y(#DY.3D@.3DY.0HR(#$@,"`Q
  404. XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<Y(#0S.2`R-SD@-#<Y(#DY.3D@
  405. XM.3DY.0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#$U(#4V-2`T,30@1#D!
  406. XM"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#D@,34@-#`Q(#0Q-"!$.`$*-"`P
  407. XM(#`@,3(@,"`M,2`P(#`N,#`P(#0@.2`Q-2`R-#4@-#$T($0W`0HT(#`@,"`Q
  408. XM,B`P("TQ(#`@,"XP,#`@-"`Y(#0@,C8R(#,P,B!)`0HT(#`@,"`Q,B`P("TQ
  409. XM(#`@,"XP,#`@-"`Y(#$R(#8P.2`S,#(@24E)`0HT(#`@,"`Q,B`P("TQ(#`@
  410. XM,"XP,#`@-"`Y(#$U(#4R-2`R-SD@1#8!"C0@,"`P(#$R(#`@+3$@,"`P+C`P
  411. XM,"`T(#D@,3,@-#0Y(#(X.2!)5@$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@
  412. XM.2`Q-2`S-#0@,C<Y($0T`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#$U
  413. XM(#0P-2`R,SD@1#4!"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#D@."`T-#D@
  414. XM,38S($E)`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#$U(#4V-2`Y-"!$
  415. XM,P$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@.2`Q-2`T,#4@.30@1#(!"C0@
  416. XF,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#D@,34@,C0U(#DT($0Q`0H@
  417. X`
  418. Xend
  419. END_OF_FILE
  420. if test 3988 -ne `wc -c <'Examples/network.fig.uu'`; then
  421.     echo shar: \"'Examples/network.fig.uu'\" unpacked with wrong size!
  422. fi
  423. # end of 'Examples/network.fig.uu'
  424. fi
  425. if test -f 'Examples/resistor.fig.uu' -a "${1}" != "-c" ; then 
  426.   echo shar: Will not clobber existing file \"'Examples/resistor.fig.uu'\"
  427. else
  428. echo shar: Extracting \"'Examples/resistor.fig.uu'\" \(3585 characters\)
  429. sed "s/^X//" >'Examples/resistor.fig.uu' <<'END_OF_FILE'
  430. Xbegin 444 resistor.fig
  431. XM(T9)1R`R+C$*.#`@,@HQ(#,@,"`Q("TQ(#`@,"`P(#`N,#`P(#$@,"XP,#`@
  432. XM,C0Y(#$T.2`Q,2`Q,2`R-#D@,30Y(#(U.2`Q-30*,2`T(#`@,2`M,2`P(#`@
  433. XM,C$@,"XP,#`@,2`P+C`P,"`R-#D@,C(Y(#,@,R`R-#<@,C(Y(#(U,B`R,CD*
  434. XM,2`T(#`@,2`M,2`P(#`@,C$@,"XP,#`@,2`P+C`P,"`Q-3D@,C(Y(#,@,R`Q
  435. XM-3<@,C(Y(#$V,B`R,CD*,2`T(#`@,2`M,2`P(#`@,C$@,"XP,#`@,2`P+C`P
  436. XM,"`S,SD@,C(Y(#,@,R`S,S<@,C(Y(#,T,B`R,CD*,2`T(#`@,2`M,2`P(#`@
  437. XM,C$@,"XP,#`@,2`P+C`P,"`R-#D@-SD@,R`S(#(T-R`W.2`R-3(@-SD*,B`Q
  438. XM(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#,W-B`S,3D@,S@Q(#,Q.2`Y
  439. XM.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#,W-"`S
  440. XM,30@,S@T(#,Q-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P
  441. XM(#`@,`H)(#,V.2`S,#D@,S@Y(#,P.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P
  442. XM(#`@,"`P+C`P,"`P(#`@,`H)(#$P-"`S,#D@,3(T(#,P.2`Y.3DY(#DY.3D*
  443. XM,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#$P.2`S,30@,3$Y(#,Q
  444. XM-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#$Q
  445. XM,2`S,3D@,3$V(#,Q.2`Y.3DY(#DY.3D*,B`Q(#`@,B`M,2`P(#`@,"`P+C`P
  446. XM,"`P(#`@,0H),"`P(#$N,#`P(#0N,#`P(#@N,#`P"@D@,C0Y(#$T-"`R-#D@
  447. XM,34V(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
  448. XM,S,Y(#<Y(#,S.2`Q,C0@,S,T(#$R.2`S-#0@,3,T(#,S-"`Q,SD@,S0T(#$T
  449. XM-"`S,S0@,30Y(#,T-"`Q-30*"2`S,S0@,34Y(#,T-"`Q-C0@,S,Y(#$V.2`S
  450. XM,SD@,C(Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P
  451. XM"@D@,34Y(#<Y(#,S.2`W.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P
  452. XM+C`P,"`P(#`@,`H)(#(T.2`W.2`R-#D@,3,Y(#DY.3D@.3DY.0HR(#$@,"`Q
  453. XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C0Y(#$U.2`R-#D@,C(Y(#DY.3D@
  454. XM.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,34Y(#(R.2`Q
  455. XM-3D@,C@Y(#(R.2`R.#D@,C,T(#(Y-"`R,SD@,C@T(#(T-"`R.30@,C0Y(#(X
  456. XM-"`R-30@,CDT"@D@,C4Y(#(X-"`R-C0@,CDT(#(V.2`R.#0@,C<T(#(X.2`S
  457. XM,SD@,C@Y(#,S.2`R,CD@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP
  458. XM,#`@,"`P(#`*"2`Q-3D@,C(Y(#$W.2`R,CD@,3@T(#(S-"`Q.#D@,C(T(#$Y
  459. XM-"`R,S0@,3DY(#(R-"`R,#0@,C,T(#(P.2`R,C0*"2`R,30@,C,T(#(Q.2`R
  460. XM,C0@,C(T(#(R.2`R-#D@,C(Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P
  461. XM(#`N,#`P(#`@,"`P"@D@,S,Y(#(R.2`S-SD@,C(Y(#,W.2`R-#D@,S<T(#(U
  462. XM-"`S.#0@,C4Y(#,W-"`R-C0@,S@T(#(V.2`S-S0@,C<T"@D@,S@T(#(W.2`S
  463. XM-S0@,C@T(#,X-"`R.#D@,S<Y(#(Y-"`S-SD@,S`Y(#DY.3D@.3DY.0HR(#$@
  464. XM,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,34Y(#(R.2`Q,30@,C(Y(#$Q
  465. XM-"`R-#D@,3`Y(#(U-"`Q,3D@,C4Y(#$P.2`R-C0@,3$Y(#(V.2`Q,#D@,C<T
  466. XM"@D@,3$Y(#(W.2`Q,#D@,C@T(#$Q.2`R.#D@,3$T(#(Y-"`Q,30@,S`Y(#DY
  467. XM.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,34Y(#<Y
  468. XM(#$U.2`Q,C0@,34T(#$R.2`Q-C0@,3,T(#$U-"`Q,SD@,38T(#$T-"`Q-30@
  469. XM,30Y(#$V-"`Q-30*"2`Q-30@,34Y(#$V-"`Q-C0@,34Y(#$V.2`Q-3D@,C(Y
  470. XM(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C0Y
  471. XM(#(R.2`R-CD@,C(Y(#(W-"`R,S0@,C<Y(#(R-"`R.#0@,C,T(#(X.2`R,C0@
  472. XM,CDT(#(S-"`R.3D@,C(T"@D@,S`T(#(S-"`S,#D@,C(T(#,Q-"`R,CD@,S,Y
  473. XM(#(R.2`Y.3DY(#DY.3D*-"`Q(#`@,38@,"`M,2`P(#`N,#`P(#0@,34@,C0R
  474. XM(#(T-"`S-2!"=6EL9&EN9R!!:7)F;&]W(%)E<VES=&EV92!.971W;W)K`0HT
  475. XM(#$@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#@@,C@T(#(U-"!2`0HT(#`@,"`Q
  476. XM,"`P("TQ(#`@,"XP,#`@-"`W(#,Q(#(X.2`R-3D@<F5T=7)N,0$*-"`Q(#`@
  477. XM,3(@,"`M,2`P(#`N,#`P(#0@.2`X(#$X-"`R-30@4@$*-"`P(#`@,3`@,"`M
  478. XM,2`P(#`N,#`P(#0@-R`S,R`Q.#D@,C4Y(')E='5R;B`R`0HT(#$@,"`Q,B`P
  479. XM("TQ(#`@,"XP,#`@-"`Y(#@@,SDY(#(V.2!2`0HT(#`@,"`Q,"`P("TQ(#`@
  480. XM,"XP,#`@-"`Y(#0Q(#0P-"`R-S0@96YV96QO<&4Q`0HT(#$@,"`Q,B`P("TQ
  481. XM(#`@,"XP,#`@-"`Y(#@@,S8T(#$T.2!2`0HT(#`@,"`Q,"`P("TQ(#`@,"XP
  482. XM,#`@-"`Y(#,S(#,V.2`Q-30@<W5P<&QY,0$*-"`Q(#`@,3(@,"`M,2`P(#`N
  483. XM,#`P(#0@.2`X(#DY(#$T.2!2`0HT(#`@,"`Q,"`P("TQ(#`@,"XP,#`@-"`Y
  484. XM(#,S(#$P-"`Q-30@<W5P<&QY,@$*-"`P(#`@,3`@,"`M,2`P(#`N,#`P(#0@
  485. XM.2`T,2`T.2`R-S0@96YV96QO<&4R`0HT(#$@,"`Q,B`P("TQ(#`@,"XP,#`@
  486. XM-"`Y(#@@-#0@,C8Y(%(!"C0@,2`P(#$R(#`@+3$@,"`P+C`P,"`T(#D@."`R
  487. XM,CD@,S$Y(%(!"C0@,"`P(#$P(#`@+3$@,"`P+C`P,"`T(#<@,SD@,C,T(#,R
  488. X--"!I;G1E<GIO;F4!"B`P
  489. X`
  490. Xend
  491. END_OF_FILE
  492. if test 3585 -ne `wc -c <'Examples/resistor.fig.uu'`; then
  493.     echo shar: \"'Examples/resistor.fig.uu'\" unpacked with wrong size!
  494. fi
  495. # end of 'Examples/resistor.fig.uu'
  496. fi
  497. if test -f 'Examples/splinefill.fig.uu' -a "${1}" != "-c" ; then 
  498.   echo shar: Will not clobber existing file \"'Examples/splinefill.fig.uu'\"
  499. else
  500. echo shar: Extracting \"'Examples/splinefill.fig.uu'\" \(3537 characters\)
  501. sed "s/^X//" >'Examples/splinefill.fig.uu' <<'END_OF_FILE'
  502. Xbegin 444 splinefill.fig
  503. XM(T9)1R`R+C$*.#`@,@HS(#,@,2`Q("TQ(#`@,"`P(#`N,#`P(#`@,`H)(#$T
  504. XM,"`U-38@,C,S(#4U-"`R,3@@-3(U(#$U."`T-S0@,3<Q(#4P,R`S,SD@-#,X
  505. XM(#(T."`S,S,@,S`Q(#(W,"`S.#(@,C0X(#(W,B`R,S4@,C8S(#0U-B`R-C0@
  506. XM-C`Q(#$W.2`V,3`@,30P(#4U-B`Y.3DY(#DY.3D*"2`Q,S(N-#$Q(#4W,2XR
  507. XM-#0@,34P+C4Y."`U,S0N-S$R(#(Q.2XQ-S<@-3<W+C(W,B`R,S<N.#4R(#4T
  508. XM-2XX,S(*"2`R,C(N.#0P(#4S,2XP.#<@,C`V+C,R-B`U,3`N,S(P(#$V-2XV
  509. XM-#$@-#8X+C(V-"`Q-30N.3$V(#0W-BXS,34*"2`Q-3DN.#8T(#0Y."XT,C$@
  510. XM,C,T+C$R,2`U,C@N.34S(#,R-2XR-#0@-#DS+C,Q,"`S-#DN-C$Q(#,Y-2XS
  511. XM,S<*"2`R-#@N,S8W(#,X,BXY-38@,C0W+C<X,R`S,#,N-#`P(#(X,RXT-3,@
  512. XM,C@Q+C(P-2`S,3@N.#@Y(#(U."XU-S<*"2`S.#(N-C0W(#(U-BXW-3D@,S@Q
  513. XM+C$T-B`R,S8N-#0Q(#,P,RXT.#D@,C`X+C$T,"`R,#DN,3(Q(#(X."XV,S8*
  514. XM"2`R-C,N.#4Q(#0P-2XU.#4@,C8R+C0T,B`T.#DN,#4Q(#(Y.2XW-C8@-38P
  515. XM+CDV.2`R-#(N.3$W(#8R-"XU.3<*"2`R,#(N-3<Q(#8R,"XU,C,@,38P+C8S
  516. XM,2`V,#$N-SDY(#$S,BXT,3$@-3<Q+C(T-"`Q-3`N-3DX(#4S-"XW,3(*,R`R
  517. XM(#$@,2`M,2`P(#`@,"`P+C`P,"`P(#`*"2`Q-S0@,C$@,S4@-3@@,30V(#DY
  518. XM(#8Y(#$R,R`Q,3(@,30W(#$P-"`U."`R-38@,C<@,C<S(#$T,"`Q,S@@,C,U
  519. XM(#$X,2`S-S0@.3DY.2`Y.3DY"@D@,"XP,#`@,"XP,#`@-S`N-3@Y(#,P+C@T
  520. XM,"`S-2XX,SD@-#`N,#DP(#,T+C`W.2`W-RXV-#4*"2`Q-#8N-30Q(#<X+C`T
  521. XM,B`Q-#4N-C,Q(#$Q,RXR.#4@-S`N.#`W(#$P-2XU.3`@-C<N.#DV(#$S,RXV
  522. XM,S`*"2`Q,#$N,S@W(#$U,RXX.#@@,3,Q+C(U."`Q,S0N-3`Q(#@T+C,W,B`X
  523. XM-"XS-C0@,3,X+C`W-B`Q,BXR,S$*"2`R,#<N.#4S("TV+C8V,2`R.3$N-#8V
  524. XM(#4Q+C<Y-2`R.#8N.3(U(#$P-RXT,S@@,C4R+C@X,R`Q.#<N,#,Y"@D@,34U
  525. XM+C<T.2`Q.#(N.3<S(#$R-BXR-C<@,C8Y+C,Y,R`Q,S<N,#$W(#,P-"XQ-#,@
  526. XM,"XP,#`@,"XP,#`*,R`R(#$@,R`M,2`P(#`@,"`P+C`P,"`P(#`*"2`V-3(@
  527. XM,S4@-3DX(#0X(#8S,2`Y."`V,#4@,3$R(#4X,"`Q-C`@-C,U(#(R-"`V-C0@
  528. XM,CDQ(#8S-B`S,SD@-C(Y(#(P,B`U,3`@,38V(#8T,"`S,C(@-3@P(#0W."`U
  529. XM,#4@-38U(#8T.2`U.3,@-S,V(#4W.2`W.#`@-#,W(#<P,R`R.34@-S0P(#$R
  530. XM-2`W-C4@.3<@-S<P(#(S,"`V,S<@,CDX(#8R-B`S-#@@-S,T(#0R,B`Y.3DY
  531. XM(#DY.3D*"2`P+C`P,"`P+C`P,"`V,38N,S(W(#,R+C4P."`V,#(N.#(W(#,U
  532. XM+C<U."`U.3$N,#4X(#8U+C8P-@H)(#8S-BXT,S`@-S8N-#,Y(#8R."XS,C,@
  533. XM,3`X+C8R."`V,3`N,C(X(#$P-BXW,#`@-3DU+C0Q.2`Q,C$N-S$T"@D@-3<X
  534. XM+C`P,"`Q-#(N-C<P(#4X,RXQ,3@@,3@W+C`R,B`V,C0N-3(R(#(P-RXR-3@@
  535. XM-C0T+C`V-2`R,S@N-#@T"@D@-C8U+C(U,B`R-S`N,#@S(#8V,RXP-#<@,S`V
  536. XM+CDR,2`V-#0N-#@P(#,T,2XP-C(@-C$U+C`V-R`S,S,N.3$Q"@D@-C4V+C<R
  537. XM-B`R,S<N-#(X(#8P,RXX-S(@,38Y+C@Y,2`U,C`N.#,W(#$T.2XV,S4@-#DR
  538. XM+C,P,"`Q.3(N-S(Y"@D@-C(Y+CDT.2`R-C$N,3@X(#8T."XR-S,@,S<R+C`U
  539. XM-"`V,#`N,C4Q(#0T-"XQ-C(@-38V+C`X,R`U,#$N,C4U"@D@-#DT+C8Q-R`U
  540. XM,S4N,#0V(#4Q."XR-C`@-C`S+C(U-2`V,30N,S0R(#4Y,BXT,S<@-C8Y+C@Q
  541. XM.2`U.3,N,S,X"@D@-S$U+C,T,"`U.38N.3,V(#<W,"XX-30@-30X+C<T,B`W
  542. XM.#,N.30Y(#0W-RXP.#4@-S<U+C<P.2`S.3,N-#0T"@D@-S`X+CDV-2`S,S8N
  543. XM.3,U(#8Y-BXU-S8@,C0Y+C@S-"`W,C`N-38T(#$V,RXQ,30@-S0T+C$Y,R`Q
  544. XM,38N-S<W"@D@-S4W+C<S-R`Y-"XS.#4@-SDP+C<U,B`Q,#8N,C<S(#<Y,2XQ
  545. XM-#8@,3DS+CDS,R`W-#8N,C8W(#(W,"XT.#`*"2`V-C(N-3DQ(#(V-"XX-#4@
  546. XM-C(X+C(R.2`S,#DN,S8S(#8Q.2XY,S@@,S,R+C8X,"`V,S<N-C(V(#,W-RXS
  547. XM.#(*"2`V-C0N-C(V(#,Y-2XX.#(@,"XP,#`@,"XP,#`*,R`Q(#$@,2`M,2`P
  548. XM(#`@,"`P+C`P,"`P(#`*"2`T-3(@,38X(#0Q,R`R-C@@-3`V(#(X-"`S-C,@
  549. XM,S8X(#,P.2`S,S<@-#0U(#(Q,R`U.3<@,C4W(#4P-2`Q-S@@,S8P(#DV(#0U
  550. XM,B`Q-C@@.3DY.2`Y.3DY"C,@,2`P(#$@+3$@,2`P(#$X(#`N,#`P(#`@,`H)
  551. XM(#$T-B`Q,SD@.3D@,C$P(#(U-"`S,34@,3DR(#,W-2`Q,SD@-#0V(#@T(#,W
  552. XM,"`R,#@@,S4Y(#,S-"`S,34@,C@Y(#$V,R`Q-#8@,3,Y(#DY.3D@.3DY.0HS
  553. XM(#$@,2`Q("TQ(#$@,"`W(#`N,#`P(#`@,`H)(#0S-R`U,S$@,C<X(#4P-"`R
  554. XM-3,@-3(S(#,X-R`U-#8@,S8X(#4Q,2`S-C4@,SDY(#0V,B`T,SD@,S<S(#0X
  555. XM."`R,S(@-#DT(#(X,"`V,#8@-#8R(#4V-2`T,C8@-#8S(#,S-R`S.#8@-3,Y
  556. XM(#,P-B`V,#`@,C<X(#0P-B`Q,SD@-#(U(#,U-2`R-3D@-3$P(#0X-"`U-C4@
  557. XM-#$Y(#4P-R`S-3$@,S`Y(#4U-"`R,#<@-#,W(#4S,2`Y.3DY(#DY.3D*,R`P
  558. XM(#(@,2`M,2`Q(#`@,R`P+C`P,"`P(#`*"2`V,C$@-#0X(#4Q,R`U,#@@-3DW
  559. X7(#4V,2`W,SD@-#DW(#DY.3D@.3DY.0H*
  560. X`
  561. Xend
  562. END_OF_FILE
  563. if test 3537 -ne `wc -c <'Examples/splinefill.fig.uu'`; then
  564.     echo shar: \"'Examples/splinefill.fig.uu'\" unpacked with wrong size!
  565. fi
  566. # end of 'Examples/splinefill.fig.uu'
  567. fi
  568. if test -f 'Examples/window2.fig.uu' -a "${1}" != "-c" ; then 
  569.   echo shar: Will not clobber existing file \"'Examples/window2.fig.uu'\"
  570. else
  571. echo shar: Extracting \"'Examples/window2.fig.uu'\" \(3522 characters\)
  572. sed "s/^X//" >'Examples/window2.fig.uu' <<'END_OF_FILE'
  573. Xbegin 444 window2.fig
  574. XM(T9)1R`R+C$*.#`@,@HU(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,2`P(#(N
  575. XM,3$Y(#(R,2XS-C<@-#D@,3$Y(#DY(#$V-"`Q,30@,C,T"@DP(#`@,2XP,#`@
  576. XM-"XP,#`@."XP,#`*-2`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#$@,"`Q,2XU
  577. XM,#`@-#$T+C`P,"`Q,C0@-#,Y(#DY(#0X.2`U.2`U,3D*"3`@,"`Q+C`P,"`T
  578. XM+C`P,"`X+C`P,`HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,2`P"@DP(#`@
  579. XM,2XP,#`@-"XP,#`@."XP,#`*"2`R.#D@,S0T(#(U.2`S-#0@,C0Y(#,U-"`Y
  580. XM.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#$@,`H),"`P(#$N
  581. XM,#`P(#0N,#`P(#@N,#`P"@D@.3D@,S0T(#$R.2`S-#0@,3,Y(#,U-"`Y.3DY
  582. XM(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,0H),"`P(#$N,#`P
  583. XM(#0N,#`P(#@N,#`P"@D@,3(Y(#$U.2`R-CD@,34Y(#DY.3D@.3DY.0HR(#$@
  584. XM,"`R("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C8T(#0R-"`S,#0@-#(T(#DY
  585. XM.3D@.3DY.0HR(#$@,"`R("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,3(T(#(V
  586. XM-"`X-"`R-C0@.3DY.2`Y.3DY"C(@,R`P(#(@+3$@,"`P(#$Q(#`N,#`P(#`@
  587. XM,"`P"@D@,3`T(#4R-"`R.#0@-3(T(#(X-"`U.3D@,C<Y(#8P-"`R-CD@-C`T
  588. XM(#(U.2`V,#0@,C0X(#8P,"`R-#0@-3DU"@D@,C,W(#4Y-R`R,C$@-C`P(#(Q
  589. XM-"`U.3`@,3DT(#4Y-2`Q.3,@-3DU(#$Y,"`U.3@@,3@W(#8P,R`Q-S<@-C`S
  590. XM"@D@,38W(#4Y,R`Q-C,@-3DP(#$V,R`U.3`@,38S(#4Y,"`Q-34@-3DT(#$T
  591. XM-"`V,#(@,3,U(#8P,R`Q,CD@-3DV"@D@,3(R(#4Y,R`Q,30@-3DU(#$P-R`U
  592. XM.30@,3`U(#4X-"`Q,#0@-3(T(#DY.3D@.3DY.0HR(#,@,"`R("TQ(#`@,"`Q
  593. XM,2`P+C`P,"`P(#`@,`H)(#$P-"`T-"`Q,#0@,3`T(#(X-"`Q,#0@,C@T(#,T
  594. XM(#(W,R`S,R`R-3@@,S(@,C0X(#(T(#(S.2`S,PH)(#(R-"`S,"`R,34@,C@@
  595. XM,C`S(#,Q(#$Y-B`R."`Q.3$@,C0@,3@U(#(V(#$X,"`R.2`Q-S`@,S0*"2`Q
  596. XM-C$@,S0@,34V(#(X(#$T,2`R-"`Q,S(@,C4@,3(X(#,P(#$R,"`S-2`Q,38@
  597. XM,S,@,3`Y(#,U"@D@,3`W(#,Y(#$P-"`T-"`Y.3DY(#DY.3D*,B`R(#`@,B`M
  598. XM,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#$S.2`Q,#0@,3,Y(#$P.2`Q-30@,3`Y
  599. XM(#$U-"`Q,#0@,3,Y(#$P-"`Y.3DY(#DY.3D*,B`R(#`@,B`M,2`P(#`@,"`P
  600. XM+C`P,"`P(#`@,`H)(#$S.2`U,3D@,3,Y(#4R-"`Q-30@-3(T(#$U-"`U,3D@
  601. XM,3,Y(#4Q.2`Y.3DY(#DY.3D*,B`R(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@
  602. XM,`H)(#$T-"`Q,#D@,30Y(#$P.2`Q-#D@-3$Y(#$T-"`U,3D@,30T(#$P.2`Y
  603. XM.3DY(#DY.3D*,B`R(#`@,B`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#(S-"`Q
  604. XM,#0@,C,T(#$P.2`R-#D@,3`Y(#(T.2`Q,#0@,C,T(#$P-"`Y.3DY(#DY.3D*
  605. XM,B`R(#`@,B`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#(S-"`U,3D@,C,T(#4R
  606. XM-"`R-#D@-3(T(#(T.2`U,3D@,C,T(#4Q.2`Y.3DY(#DY.3D*,B`R(#`@,2`M
  607. XM,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#(S.2`Q,#D@,C0T(#$P.2`R-#0@-3$Y
  608. XM(#(S.2`U,3D@,C,Y(#$P.2`Y.3DY(#DY.3D*,R`P(#`@,B`M,2`P(#`@,"`P
  609. XM+C`P,"`P(#`*"2`Q,C0@,C8T(#$S-"`R-CD@,30P(#,P-"`Q-3,@,S`S(#$U
  610. XM-"`S,C$@,34W(#,U,R`R,S0@,S4Q(#(S-"`S.#0@,C0X(#,X,R`R-3`@,SDP
  611. XM(#(T.2`T,3D@,C8T(#0R-"`Y.3DY(#DY.3D*,R`P(#`@,2`M,2`P(#`@,"`P
  612. XM+C`P,"`Q(#`*"3`@,"`Q+C`P,"`T+C`P,"`X+C`P,`H)(#$U.2`R-C0@,34Y
  613. XM(#$Y-"`Q-C0@,3,Y(#$W.2`Q,30@,C`T(#$Q-"`R,C0@,3,T(#(R.2`Q.30@
  614. XM,C(Y(#(T-"`Y.3DY(#DY.3D*,R`P(#`@,2`M,2`P(#`@,"`P+C`P,"`Q(#`*
  615. XM"3`@,"`Q+C`P,"`T+C`P,"`X+C`P,`H)(#(R.2`T,3D@,C(Y(#0V.2`R,3D@
  616. XM-#DY(#$X-"`U,#0@,34Y(#0X-"`Q-3D@,SDT(#DY.3D@.3DY.0HT(#`@,"`Q
  617. XM,B`P("TQ(#`@,"XP,#`@-"`W(#(Y(#(U.2`S-#`@<W1O<FT!"C0@,B`P(#$R
  618. XM(#`@+3$@,"`P+C`P,"`T(#$R(#(X(#$R.2`S,S<@<')I;64!"C0@,2`P(#$T
  619. XM(#`@+3$@,"`P+C`P,"`T(#(@,R`R-S@@,34V("X!"C0@,2`P(#$R(#`@+3$@
  620. XM,"`P+C`P,"`T(#8@.2`R-S@@,38T(&T!"C0@,"`P(#$R(#`@+3$@,"`P+C`P
  621. XM,"`T(#8@-B`Q.34@,S0Y(&$!"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#<@
  622. XM-"`Q.#@@,S0T('0!"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#8@-B`R.#<@
  623. XM-#(Q(&\!"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#<@-"`R.#`@-#$W('0!
  624. XM"C0@,"`P(#$R(#`@+3$@,"`P+C`P,"`T(#D@,R`Y,R`R-3@@:0$*-"`P(#`@
  625. XM,3(@,"`M,2`P(#`N,#`P(#0@-R`T(#@W(#(U-2!T`0HT(#`@,"`Q,"`P("TQ
  626. XM(#`@,"XP,#`@-"`W(#4@,C8R(#$S,2`R`0HT(#`@,"`Q,B`P("TQ(#`@,"XP
  627. XM,#`@-"`W(#0@,C4U(#$R-B!T`0HT(#`@,"`Q,"`P("TQ(#`@,"XP,#`@-"`W
  628. XM(#4@,38P(#$S,B`Q`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`W(#0@,34T
  629. XM(#$R-R!T`0HT(#`@,"`Q,B`P("TQ(#`@,"XP,#`@-"`Q,B`T-R`Q-CD@-C,T
  630. X-(&-R86-K+F9I9S0!"B`Q
  631. X`
  632. Xend
  633. END_OF_FILE
  634. if test 3522 -ne `wc -c <'Examples/window2.fig.uu'`; then
  635.     echo shar: \"'Examples/window2.fig.uu'\" unpacked with wrong size!
  636. fi
  637. # end of 'Examples/window2.fig.uu'
  638. fi
  639. if test -f 'd_arc.c' -a "${1}" != "-c" ; then 
  640.   echo shar: Will not clobber existing file \"'d_arc.c'\"
  641. else
  642. echo shar: Extracting \"'d_arc.c'\" \(4363 characters\)
  643. sed "s/^X//" >'d_arc.c' <<'END_OF_FILE'
  644. X/*
  645. X * FIG : Facility for Interactive Generation of figures
  646. X * Copyright (c) 1985 by Supoj Sutanthavibul
  647. X *
  648. X * "Permission to use, copy, modify, distribute, and sell this software and its
  649. X * documentation for any purpose is hereby granted without fee, provided that
  650. X * the above copyright notice appear in all copies and that both the copyright
  651. X * notice and this permission notice appear in supporting documentation. 
  652. X * No representations are made about the suitability of this software for 
  653. X * any purpose.  It is provided "as is" without express or implied warranty."
  654. X */
  655. X
  656. X/********************** DECLARATIONS ********************/
  657. X
  658. X/* IMPORTS */
  659. X
  660. X#include "fig.h"
  661. X#include "resources.h"
  662. X#include "mode.h"
  663. X#include "object.h"
  664. X#include "paintop.h"
  665. X#include "u_create.h"
  666. X#include "u_elastic.h"
  667. X#include "u_list.h"
  668. X#include "w_canvas.h"
  669. X#include "w_mousefun.h"
  670. X
  671. X/* LOCAL */
  672. X
  673. XF_pos        point[3];
  674. X
  675. Xstatic int    create_arcobject();
  676. Xstatic int    get_arcpoint();
  677. Xstatic int    init_arc_drawing();
  678. Xstatic int    cancel_arc();
  679. X
  680. Xarc_drawing_selected()
  681. X{
  682. X    set_mousefun("first point", "", "");
  683. X    canvas_kbd_proc = null_proc;
  684. X    canvas_locmove_proc = null_proc;
  685. X    canvas_leftbut_proc = init_arc_drawing;
  686. X    canvas_middlebut_proc = null_proc;
  687. X    canvas_rightbut_proc = null_proc;
  688. X    set_cursor(arrow_cursor);
  689. X    reset_action_on();
  690. X}
  691. X
  692. Xstatic
  693. Xinit_arc_drawing(x, y)
  694. X    int            x, y;
  695. X{
  696. X    set_mousefun("mid point", "", "cancel");
  697. X    draw_mousefun_canvas();
  698. X    canvas_rightbut_proc = cancel_arc;
  699. X    num_point = 0;
  700. X    point[num_point].x = fix_x = cur_x = x;
  701. X    point[num_point++].y = fix_y = cur_y = y;
  702. X    canvas_locmove_proc = freehand_line;
  703. X    canvas_leftbut_proc = get_arcpoint;
  704. X    canvas_middlebut_proc = null_proc;
  705. X    elastic_line();
  706. X    set_temp_cursor(null_cursor);
  707. X    set_action_on();
  708. X}
  709. X
  710. Xstatic
  711. Xcancel_arc()
  712. X{
  713. X    elastic_line();
  714. X    if (num_point == 2) {
  715. X    /* erase initial part of line */
  716. X    cur_x = point[0].x;
  717. X    cur_y = point[0].y;
  718. X    elastic_line();
  719. X    }
  720. X    arc_drawing_selected();
  721. X    draw_mousefun_canvas();
  722. X}
  723. X
  724. Xstatic
  725. Xget_arcpoint(x, y)
  726. X    int            x, y;
  727. X{
  728. X    if (x == fix_x && y == fix_y)
  729. X    return;
  730. X
  731. X    if (num_point == 1) {
  732. X    set_mousefun("final point", "", "cancel");
  733. X    draw_mousefun_canvas();
  734. X    }
  735. X    if (num_point == 2) {
  736. X    create_arcobject(x, y);
  737. X    return;
  738. X    }
  739. X    elastic_line();
  740. X    cur_x = x;
  741. X    cur_y = y;
  742. X    elastic_line();
  743. X    point[num_point].x = fix_x = x;
  744. X    point[num_point++].y = fix_y = y;
  745. X    elastic_line();
  746. X}
  747. X
  748. Xstatic
  749. Xcreate_arcobject(lx, ly)
  750. X    int            lx, ly;
  751. X{
  752. X    F_arc       *arc;
  753. X    int            x, y, i;
  754. X    float        xx, yy;
  755. X
  756. X    elastic_line();
  757. X    cur_x = lx;
  758. X    cur_y = ly;
  759. X    elastic_line();
  760. X    point[num_point].x = lx;
  761. X    point[num_point++].y = ly;
  762. X    x = point[0].x;
  763. X    y = point[0].y;
  764. X    /* erase previous line segment(s) if necessary */
  765. X    for (i = 1; i < num_point; i++) {
  766. X    pw_vector(canvas_win, x, y, point[i].x, point[i].y, INV_PAINT,
  767. X          1, RUBBER_LINE, 0.0, DEFAULT_COLOR);
  768. X    x = point[i].x;
  769. X    y = point[i].y;
  770. X    }
  771. X    if (!compute_arccenter(point[0], point[1], point[2], &xx, &yy)) {
  772. X    put_msg("Invalid ARC geometry");
  773. X    arc_drawing_selected();
  774. X    draw_mousefun_canvas();
  775. X    return;
  776. X    }
  777. X    if ((arc = create_arc()) == NULL) {
  778. X    arc_drawing_selected();
  779. X    draw_mousefun_canvas();
  780. X    return;
  781. X    }
  782. X    arc->type = T_3_POINTS_ARC;
  783. X    arc->style = cur_linestyle;
  784. X    arc->thickness = cur_linewidth;
  785. X    /* scale dash length according to linethickness */
  786. X    arc->style_val = cur_styleval * (cur_linewidth + 1) / 2;
  787. X    arc->pen = 0;
  788. X    arc->fill_style = cur_fillstyle;
  789. X    arc->color = cur_color;
  790. X    arc->depth = cur_depth;
  791. X    arc->direction = compute_direction(point[0], point[1], point[2]);
  792. X    if (autoforwardarrow_mode)
  793. X    arc->for_arrow = forward_arrow();
  794. X    else
  795. X    arc->for_arrow = NULL;
  796. X    if (autobackwardarrow_mode)
  797. X    arc->back_arrow = backward_arrow();
  798. X    else
  799. X    arc->back_arrow = NULL;
  800. X    arc->center.x = xx;
  801. X    arc->center.y = yy;
  802. X    arc->point[0].x = point[0].x;
  803. X    arc->point[0].y = point[0].y;
  804. X    arc->point[1].x = point[1].x;
  805. X    arc->point[1].y = point[1].y;
  806. X    arc->point[2].x = point[2].x;
  807. X    arc->point[2].y = point[2].y;
  808. X    arc->next = NULL;
  809. X    draw_arc(arc, PAINT);
  810. X    if (appres.DEBUG) {
  811. X    int        xmin, ymin, xmax, ymax;
  812. X
  813. X    arc_bound(arc, &xmin, &ymin, &xmax, &ymax);
  814. X    elastic_box(xmin, ymin, xmax, ymax);
  815. X    }
  816. X    add_arc(arc);
  817. X    arc_drawing_selected();
  818. X    draw_mousefun_canvas();
  819. X}
  820. END_OF_FILE
  821. if test 4363 -ne `wc -c <'d_arc.c'`; then
  822.     echo shar: \"'d_arc.c'\" unpacked with wrong size!
  823. fi
  824. # end of 'd_arc.c'
  825. fi
  826. if test -f 'e_convert.c' -a "${1}" != "-c" ; then 
  827.   echo shar: Will not clobber existing file \"'e_convert.c'\"
  828. else
  829. echo shar: Extracting \"'e_convert.c'\" \(4237 characters\)
  830. sed "s/^X//" >'e_convert.c' <<'END_OF_FILE'
  831. X/*
  832. X * FIG : Facility for Interactive Generation of figures
  833. X * Copyright (c) 1985 by Supoj Sutanthavibul
  834. X *
  835. X * "Permission to use, copy, modify, distribute, and sell this software and its
  836. X * documentation for any purpose is hereby granted without fee, provided that
  837. X * the above copyright notice appear in all copies and that both the copyright
  838. X * notice and this permission notice appear in supporting documentation. 
  839. X * No representations are made about the suitability of this software for 
  840. X * any purpose.  It is provided "as is" without express or implied warranty."
  841. X */
  842. X
  843. X#include "fig.h"
  844. X#include "resources.h"
  845. X#include "mode.h"
  846. X#include "object.h"
  847. X#include "paintop.h"
  848. X#include "u_create.h"
  849. X#include "u_list.h"
  850. X#include "u_search.h"
  851. X#include "w_canvas.h"
  852. X#include "w_mousefun.h"
  853. X
  854. Xstatic int    init_convert();
  855. X
  856. Xconvert_selected()
  857. X{
  858. X    set_mousefun("spline<->line", "", "");
  859. X    canvas_kbd_proc = null_proc;
  860. X    canvas_locmove_proc = null_proc;
  861. X    init_searchproc_left(init_convert);
  862. X    canvas_leftbut_proc = object_search_left;
  863. X    canvas_middlebut_proc = null_proc;
  864. X    canvas_rightbut_proc = null_proc;
  865. X    set_cursor(pick15_cursor);
  866. X}
  867. X
  868. Xstatic
  869. Xinit_convert(p, type, x, y, px, py)
  870. X    char       *p;
  871. X    int            type;
  872. X    int            x, y;
  873. X    int            px, py;
  874. X{
  875. X    switch (type) {
  876. X    case O_POLYLINE:
  877. X    cur_l = (F_line *) p;
  878. X    /* the search routine will ensure that we don't have a box */
  879. X    line_2_spline(cur_l);
  880. X    break;
  881. X    case O_SPLINE:
  882. X    cur_s = (F_spline *) p;
  883. X    /* the search routine will ensure that we have a interp spline */
  884. X    spline_2_line(cur_s);
  885. X    break;
  886. X    default:
  887. X    return;
  888. X    }
  889. X}
  890. X
  891. Xline_2_spline(l)
  892. X    F_line       *l;
  893. X{
  894. X    F_spline       *s;
  895. X
  896. X    if (num_points(l->points) < 3) {
  897. X    put_msg("Can't CONVERT this line into a spline: insufficient points");
  898. X    return;
  899. X    }
  900. X    if ((s = create_spline()) == NULL)
  901. X    return;
  902. X
  903. X    if (l->type == T_POLYGON)
  904. X    s->type = T_CLOSED_INTERP;
  905. X    else
  906. X    s->type = T_OPEN_INTERP;
  907. X    s->style = l->style;
  908. X    s->thickness = l->thickness;
  909. X    s->color = l->color;
  910. X    s->depth = l->depth;
  911. X    s->style_val = l->style_val;
  912. X    s->pen = l->pen;
  913. X    s->fill_style = l->fill_style;
  914. X    s->for_arrow = l->for_arrow;
  915. X    s->back_arrow = l->back_arrow;
  916. X    s->points = l->points;
  917. X    s->controls = NULL;
  918. X    s->next = NULL;
  919. X
  920. X    if (-1 == create_control_list(s)) {
  921. X    free_splinestorage(s);
  922. X    return;
  923. X    }
  924. X    remake_control_points(s);
  925. X
  926. X    /* now we have finished creating the spline, we can get rid of the line */
  927. X    /* first off the screen */
  928. X    mask_toggle_linemarker(l);
  929. X    draw_line(l, ERASE);
  930. X    list_delete_line(&objects.lines, l);
  931. X    /* we reuse the arrows and points, so `detach' them from the line */
  932. X    l->for_arrow = l->back_arrow = NULL;
  933. X    l->points = NULL;
  934. X    /* now get rid of the rest */
  935. X    free_linestorage(l);
  936. X
  937. X    /* now put back the new spline */
  938. X    draw_spline(s, PAINT);
  939. X    mask_toggle_splinemarker(s);
  940. X    list_add_spline(&objects.splines, s);
  941. X    clean_up();
  942. X    set_action_object(F_CONVERT, O_POLYLINE);
  943. X    set_latestspline(s);
  944. X    return;
  945. X}
  946. X
  947. Xspline_2_line(s)
  948. X    F_spline       *s;
  949. X{
  950. X    F_line       *l;
  951. X
  952. X    /* Now we turn s into a line */
  953. X    if ((l = create_line()) == NULL)
  954. X    return;
  955. X
  956. X    if (s->type == T_OPEN_INTERP)
  957. X    l->type = T_POLYLINE;
  958. X    else if (s->type == T_CLOSED_INTERP)
  959. X    l->type = T_POLYGON;
  960. X    l->style = s->style;
  961. X    l->thickness = s->thickness;
  962. X    l->color = s->color;
  963. X    l->depth = s->depth;
  964. X    l->style_val = s->style_val;
  965. X    l->pen = s->pen;
  966. X    l->radius = DEF_BOXRADIUS;
  967. X    l->fill_style = s->fill_style;
  968. X    l->for_arrow = s->for_arrow;
  969. X    l->back_arrow = s->back_arrow;
  970. X    l->points = s->points;
  971. X
  972. X    /* now we have finished creating the line, we can get rid of the spline */
  973. X    /* first off the screen */
  974. X    mask_toggle_splinemarker(s);
  975. X    draw_spline(s, ERASE);
  976. X    list_delete_spline(&objects.splines, s);
  977. X    /* we reuse the arrows and points, so `detach' them from the spline */
  978. X    s->for_arrow = s->back_arrow = NULL;
  979. X    s->points = NULL;
  980. X    /* now get rid of the rest */
  981. X    free_splinestorage(s);
  982. X
  983. X    /* and put in the new line */
  984. X    draw_line(l, PAINT);
  985. X    mask_toggle_linemarker(l);
  986. X    list_add_line(&objects.lines, l);
  987. X    clean_up();
  988. X    set_action_object(F_CONVERT, O_SPLINE);
  989. X    set_latestline(l);
  990. X    return;
  991. X}
  992. END_OF_FILE
  993. if test 4237 -ne `wc -c <'e_convert.c'`; then
  994.     echo shar: \"'e_convert.c'\" unpacked with wrong size!
  995. fi
  996. # end of 'e_convert.c'
  997. fi
  998. if test -f 'e_copy.c' -a "${1}" != "-c" ; then 
  999.   echo shar: Will not clobber existing file \"'e_copy.c'\"
  1000. else
  1001. echo shar: Extracting \"'e_copy.c'\" \(4636 characters\)
  1002. sed "s/^X//" >'e_copy.c' <<'END_OF_FILE'
  1003. X/*
  1004. X * FIG : Facility for Interactive Generation of figures
  1005. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1006. X *
  1007. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1008. X * documentation for any purpose is hereby granted without fee, provided that
  1009. X * the above copyright notice appear in all copies and that both the copyright
  1010. X * notice and this permission notice appear in supporting documentation. 
  1011. X * No representations are made about the suitability of this software for 
  1012. X * any purpose.  It is provided "as is" without express or implied warranty."
  1013. X */
  1014. X
  1015. X#include "fig.h"
  1016. X#include "resources.h"
  1017. X#include "mode.h"
  1018. X#include "object.h"
  1019. X#include "paintop.h"
  1020. X#include "u_elastic.h"
  1021. X#include "u_search.h"
  1022. X#include "u_create.h"
  1023. X#include "w_canvas.h"
  1024. X#include "w_mousefun.h"
  1025. X#include "w_setup.h"
  1026. X
  1027. X/* local routine declarations */
  1028. Xstatic        init_copy(), init_arb_copy(), init_constrained_copy();
  1029. Xstatic        init_copy_to_scrap();
  1030. X
  1031. Xcopy_selected()
  1032. X{
  1033. X    canvas_kbd_proc = null_proc;
  1034. X    canvas_locmove_proc = null_proc;
  1035. X    init_searchproc_left(init_arb_copy);
  1036. X    init_searchproc_middle(init_constrained_copy);
  1037. X    init_searchproc_right(init_copy_to_scrap);
  1038. X    canvas_leftbut_proc = object_search_left;
  1039. X    canvas_middlebut_proc = object_search_middle;
  1040. X    canvas_rightbut_proc = object_search_right;
  1041. X    return_proc = copy_selected;
  1042. X    set_cursor(pick15_cursor);
  1043. X    set_mousefun("copy object", "horiz/vert copy", "copy to cut buf");
  1044. X    reset_action_on();
  1045. X}
  1046. X
  1047. Xstatic
  1048. Xinit_arb_copy(p, type, x, y, px, py)
  1049. X    char       *p;
  1050. X    int            type;
  1051. X    int            x, y, px, py;
  1052. X{
  1053. X    constrained = MOVE_ARB;
  1054. X    init_copy(p, type, x, y, px, py);
  1055. X    canvas_middlebut_proc = null_proc;
  1056. X    set_mousefun("place object", "", "cancel");
  1057. X    draw_mousefun_canvas();
  1058. X}
  1059. X
  1060. Xstatic
  1061. Xinit_constrained_copy(p, type, x, y, px, py)
  1062. X    char       *p;
  1063. X    int            type;
  1064. X    int            x, y, px, py;
  1065. X{
  1066. X    constrained = MOVE_HORIZ_VERT;
  1067. X    init_copy(p, type, x, y, px, py);
  1068. X    canvas_middlebut_proc = canvas_leftbut_proc;
  1069. X    canvas_leftbut_proc = null_proc;
  1070. X    set_mousefun("", "place object", "cancel");
  1071. X    draw_mousefun_canvas();
  1072. X}
  1073. X
  1074. Xstatic
  1075. Xinit_copy(p, type, x, y, px, py)
  1076. X    char       *p;
  1077. X    int            type;
  1078. X    int            x, y, px, py;
  1079. X{
  1080. X    switch (type) {
  1081. X    case O_COMPOUND:
  1082. X    set_temp_cursor(null_cursor);
  1083. X    cur_c = (F_compound *) p;
  1084. X    new_c = copy_compound(cur_c);
  1085. X    init_compounddragging(new_c, px, py);
  1086. X    break;
  1087. X    case O_POLYLINE:
  1088. X    set_temp_cursor(null_cursor);
  1089. X    cur_l = (F_line *) p;
  1090. X    new_l = copy_line(cur_l);
  1091. X    init_linedragging(new_l, px, py);
  1092. X    break;
  1093. X    case O_TEXT:
  1094. X    set_temp_cursor(null_cursor);
  1095. X    cur_t = (F_text *) p;
  1096. X    new_t = copy_text(cur_t);
  1097. X    init_textdragging(new_t, x, y);
  1098. X    break;
  1099. X    case O_ELLIPSE:
  1100. X    set_temp_cursor(null_cursor);
  1101. X    cur_e = (F_ellipse *) p;
  1102. X    new_e = copy_ellipse(cur_e);
  1103. X    init_ellipsedragging(new_e, px, py);
  1104. X    break;
  1105. X    case O_ARC:
  1106. X    set_temp_cursor(null_cursor);
  1107. X    cur_a = (F_arc *) p;
  1108. X    new_a = copy_arc(cur_a);
  1109. X    init_arcdragging(new_a, px, py);
  1110. X    break;
  1111. X    case O_SPLINE:
  1112. X    set_temp_cursor(null_cursor);
  1113. X    cur_s = (F_spline *) p;
  1114. X    new_s = copy_spline(cur_s);
  1115. X    init_splinedragging(new_s, px, py);
  1116. X    break;
  1117. X    default:
  1118. X    return;
  1119. X    }
  1120. X}
  1121. X
  1122. Xstatic
  1123. Xinit_copy_to_scrap(p, type, x, y, px, py)
  1124. X    char       *p;
  1125. X    int            type;
  1126. X    int            x, y;
  1127. X    int            px, py;
  1128. X{
  1129. X    FILE       *fp;
  1130. X    struct stat        file_status;
  1131. X
  1132. X    if (stat(cut_buf_name, &file_status) == 0) {    /* file exists */
  1133. X    if (file_status.st_mode & S_IFDIR) {
  1134. X        put_msg("\"%s\" is a directory", cut_buf_name);
  1135. X        return;
  1136. X    }
  1137. X    if (file_status.st_mode & S_IWRITE) {    /* writing is permitted */
  1138. X        if (file_status.st_uid != geteuid()) {
  1139. X        put_msg("Error: access denied to cut file");
  1140. X        return;
  1141. X        }
  1142. X    } else {
  1143. X        put_msg("Error: cut file is read only");
  1144. X        return;
  1145. X    }
  1146. X    } else if (errno != ENOENT)
  1147. X    return;            /* file does exist but stat fails */
  1148. X
  1149. X    if ((fp = fopen(cut_buf_name, "w")) == NULL) {
  1150. X    put_msg("Couldn't open cut file %s", sys_errlist[errno]);
  1151. X    return;
  1152. X    } else {
  1153. X    (void) fprintf(fp, "%s\n", file_header);
  1154. X    (void) fprintf(fp, "%d %d\n", PIX_PER_INCH, 2);
  1155. X    }
  1156. X
  1157. X    switch (type) {
  1158. X    case O_COMPOUND:
  1159. X    cur_c = (F_compound *) p;
  1160. X    write_compound(fp, cur_c);
  1161. X    break;
  1162. X    case O_ARC:
  1163. X    cur_a = (F_arc *) p;
  1164. X    write_arc(fp, cur_a);
  1165. X    break;
  1166. X    case O_ELLIPSE:
  1167. X    cur_e = (F_ellipse *) p;
  1168. X    write_ellipse(fp, cur_e);
  1169. X    break;
  1170. X    case O_POLYLINE:
  1171. X    cur_l = (F_line *) p;
  1172. X    write_line(fp, cur_l);
  1173. X    break;
  1174. X    case O_TEXT:
  1175. X    cur_t = (F_text *) p;
  1176. X    write_text(fp, cur_t);
  1177. X    break;
  1178. X    case O_SPLINE:
  1179. X    cur_s = (F_spline *) p;
  1180. X    write_spline(fp, cur_s);
  1181. X    break;
  1182. X    default:
  1183. X    fclose(fp);
  1184. X    return;
  1185. X    }
  1186. X    put_msg("Object copied to scrap");
  1187. X    fclose(fp);
  1188. X}
  1189. END_OF_FILE
  1190. if test 4636 -ne `wc -c <'e_copy.c'`; then
  1191.     echo shar: \"'e_copy.c'\" unpacked with wrong size!
  1192. fi
  1193. # end of 'e_copy.c'
  1194. fi
  1195. if test -f 'mode.h' -a "${1}" != "-c" ; then 
  1196.   echo shar: Will not clobber existing file \"'mode.h'\"
  1197. else
  1198. echo shar: Extracting \"'mode.h'\" \(4624 characters\)
  1199. sed "s/^X//" >'mode.h' <<'END_OF_FILE'
  1200. X/*
  1201. X * FIG : Facility for Interactive Generation of figures
  1202. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1203. X *
  1204. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1205. X * documentation for any purpose is hereby granted without fee, provided that
  1206. X * the above copyright notice appear in all copies and that both the copyright
  1207. X * notice and this permission notice appear in supporting documentation. 
  1208. X * No representations are made about the suitability of this software for 
  1209. X * any purpose.  It is provided "as is" without express or implied warranty."
  1210. X */
  1211. X
  1212. X#define        F_NULL            0
  1213. X#define        FIRST_DRAW_MODE        F_CIRCLE_BY_RAD
  1214. X#define        F_CIRCLE_BY_RAD        1
  1215. X#define        F_CIRCLE_BY_DIA        2
  1216. X#define        F_ELLIPSE_BY_RAD    3
  1217. X#define        F_ELLIPSE_BY_DIA    4
  1218. X#define        F_CIRCULAR_ARC        5
  1219. X#define        F_POLYLINE        6
  1220. X#define        F_BOX            7
  1221. X#define        F_POLYGON        8
  1222. X#define        F_TEXT            9
  1223. X#define        F_SPLINE        10
  1224. X#define        F_CLOSED_SPLINE        11
  1225. X#define        F_INTSPLINE        12
  1226. X#define        F_CLOSED_INTSPLINE    13
  1227. X#define        F_ARC_BOX        14
  1228. X#define        F_REGPOLY        15
  1229. X#define        F_EPSOBJ        16
  1230. X#define        FIRST_EDIT_MODE        F_GLUE
  1231. X#define        F_GLUE            30
  1232. X#define        F_BREAK            31
  1233. X#define        F_SCALE            32
  1234. X#define        F_ADD            33
  1235. X#define        F_COPY            34
  1236. X#define        F_MOVE            35
  1237. X#define        F_DELETE        36
  1238. X#define        F_MOVE_POINT        37
  1239. X#define        F_DELETE_POINT        38
  1240. X#define        F_ADD_POINT        39
  1241. X#define        F_DELETE_ARROW_HEAD    40
  1242. X#define        F_ADD_ARROW_HEAD    41
  1243. X#define        F_FLIP            42
  1244. X#define        F_ROTATE        43
  1245. X#define        F_AUTOARROW        44
  1246. X#define        F_CONVERT        45
  1247. X#define        F_CHANGE        46
  1248. X#define        F_UPDATE        47
  1249. X#define        F_ALIGN            48
  1250. X#define        F_ZOOM            49
  1251. X#define        F_LOAD            50
  1252. X#define        F_EDIT            50
  1253. X
  1254. Xextern int    cur_mode;
  1255. X
  1256. X/* alignment mode */
  1257. X#define        NONE            0
  1258. X#define        LEFT            1
  1259. X#define        TOP            1
  1260. X#define        CENTER            2
  1261. X#define        RIGHT            3
  1262. X#define        BOTTOM            3
  1263. X
  1264. Xextern int    cur_halign;
  1265. Xextern int    cur_valign;
  1266. X
  1267. X/* angle geometry */
  1268. X#define        L_UNCONSTRAINED        0
  1269. X#define        L_LATEXLINE        1
  1270. X#define        L_LATEXARROW        2
  1271. X#define        L_MOUNTHATTAN        3
  1272. X#define        L_MANHATTAN        4
  1273. X#define        L_MOUNTAIN        5
  1274. X
  1275. Xextern int    manhattan_mode;
  1276. Xextern int    mountain_mode;
  1277. Xextern int    latexline_mode;
  1278. Xextern int    latexarrow_mode;
  1279. X
  1280. X/* arrow mode */
  1281. X#define        L_NOARROWS        0
  1282. X#define        L_FARROWS        1
  1283. X#define        L_FBARROWS        2
  1284. X#define        L_BARROWS        3
  1285. X
  1286. Xextern int    autoforwardarrow_mode;
  1287. Xextern int    autobackwardarrow_mode;
  1288. X
  1289. X/* grid mode */
  1290. X#define        GRID_0            0
  1291. X#define        GRID_1            1
  1292. X#define        GRID_2            2
  1293. X
  1294. Xextern int    cur_gridmode;
  1295. X
  1296. X/* point position */
  1297. X#define        P_ANY            0
  1298. X#define        P_MAGNET        1
  1299. X#define        P_GRID1            2
  1300. X#define        P_GRID2            3
  1301. X
  1302. Xextern int    cur_pointposn;
  1303. Xextern int    posn_rnd[P_GRID2 + 1];
  1304. Xextern int    posn_hlf[P_GRID2 + 1];
  1305. Xextern int    grid_fine[P_GRID2 + 1];
  1306. Xextern int    grid_coarse[P_GRID2 + 1];
  1307. Xextern char    *grid_name[P_GRID2 + 1];
  1308. X
  1309. X/* rotn axis */
  1310. X#define        UD_FLIP            1
  1311. X#define        LR_FLIP            2
  1312. X
  1313. Xextern int    cur_rotnangle;
  1314. X
  1315. X/* smart link mode */
  1316. X#define        SMART_OFF        0
  1317. X#define        SMART_MOVE        1
  1318. X#define        SMART_SLIDE        2
  1319. X
  1320. Xextern int    cur_linkmode;
  1321. X
  1322. X/* misc */
  1323. Xextern int    action_on;
  1324. Xextern int    highlighting;
  1325. Xextern int    aborting;
  1326. Xextern int    anypointposn;
  1327. Xextern int    figure_modified;
  1328. Xextern int    cur_numsides;
  1329. Xextern char    cur_fig_units[32];
  1330. Xextern Boolean    warnexist;
  1331. X
  1332. Xextern void    reset_modifiedflag();
  1333. Xextern void    set_modifiedflag();
  1334. Xextern void    reset_action_on();
  1335. Xextern void    set_action_on();
  1336. X
  1337. X/**********************     global mode variables    ************************/
  1338. X
  1339. Xextern int    num_point;
  1340. Xextern int    min_num_points;
  1341. X
  1342. X/***************************  Export Settings  ****************************/
  1343. X
  1344. Xextern Boolean    export_flushleft;    /* flush left (true) or center (false) */
  1345. X
  1346. X/***************************  Print Settings  ****************************/
  1347. X
  1348. Xextern int    print_landscape;/* def. orientation for printer */
  1349. Xextern Boolean    print_flushleft; /* flush left (true) or center (false) */
  1350. X
  1351. X#define NUM_EXP_LANG    15    /* number of export languages */
  1352. X#define LANG_EPS    7    /* position of eps starting from 0 */
  1353. X#define LANG_PS        8    /* position of ps starting from 0 */
  1354. X#define LANG_XBITMAP    14    /* position of xbm starting from 0 */
  1355. X
  1356. Xextern int    cur_exp_lang;
  1357. Xextern char    *lang_items[NUM_EXP_LANG];
  1358. Xextern char    *lang_texts[NUM_EXP_LANG];
  1359. Xextern Boolean  batch_exists;
  1360. Xextern char     batch_file[];
  1361. X
  1362. X/***************************  Mode Settings  ****************************/
  1363. X
  1364. Xextern int    cur_objmask;
  1365. Xextern int    cur_updatemask;
  1366. Xextern int    cur_depth;
  1367. X
  1368. X/***************************  Text Settings  ****************************/
  1369. X
  1370. Xextern int    hidden_text_length;
  1371. Xextern float    cur_textstep;
  1372. X
  1373. X/***************************  File Settings  ****************************/
  1374. X
  1375. Xextern char    cur_dir[];
  1376. Xextern char    cur_filename[];
  1377. Xextern char    save_filename[];  /* to undo load */
  1378. Xextern char    file_header[];
  1379. Xextern char    cut_buf_name[];
  1380. END_OF_FILE
  1381. if test 4624 -ne `wc -c <'mode.h'`; then
  1382.     echo shar: \"'mode.h'\" unpacked with wrong size!
  1383. fi
  1384. # end of 'mode.h'
  1385. fi
  1386. if test -f 'u_fonts.c' -a "${1}" != "-c" ; then 
  1387.   echo shar: Will not clobber existing file \"'u_fonts.c'\"
  1388. else
  1389. echo shar: Extracting \"'u_fonts.c'\" \(4300 characters\)
  1390. sed "s/^X//" >'u_fonts.c' <<'END_OF_FILE'
  1391. X/*
  1392. X * FIG : Facility for Interactive Generation of figures
  1393. X * Copyright (c) 1991 by Brian V. Smith
  1394. X *
  1395. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1396. X * documentation for any purpose is hereby granted without fee, provided that
  1397. X * the above copyright notice appear in all copies and that both the copyright
  1398. X * notice and this permission notice appear in supporting documentation. 
  1399. X * No representations are made about the suitability of this software for 
  1400. X * any purpose.  It is provided "as is" without express or implied warranty."
  1401. X */
  1402. X
  1403. X#include <X11/Xlib.h>
  1404. X#include "fig.h"
  1405. X#include "resources.h"
  1406. X#include "u_fonts.h"
  1407. X#include "object.h"
  1408. X
  1409. X/* printer font names for indicator window */
  1410. X
  1411. Xstruct _xfstruct x_fontinfo[NUM_X_FONTS] = {
  1412. X    {"-adobe-times-medium-r-*--", (struct xfont*) NULL},
  1413. X    {"-adobe-times-medium-i-*--", (struct xfont*) NULL},
  1414. X    {"-adobe-times-bold-r-*--", (struct xfont*) NULL},
  1415. X    {"-adobe-times-bold-i-*--", (struct xfont*) NULL},
  1416. X    {"-schumacher-clean-medium-r-*--", (struct xfont*) NULL},
  1417. X    {"-schumacher-clean-medium-i-*--", (struct xfont*) NULL},
  1418. X    {"-schumacher-clean-bold-r-*--", (struct xfont*) NULL},
  1419. X    {"-schumacher-clean-bold-i-*--", (struct xfont*) NULL},
  1420. X    {"-adobe-courier-medium-r-*--", (struct xfont*) NULL},
  1421. X    {"-adobe-courier-medium-o-*--", (struct xfont*) NULL},
  1422. X    {"-adobe-courier-bold-r-*--", (struct xfont*) NULL},
  1423. X    {"-adobe-courier-bold-o-*--", (struct xfont*) NULL},
  1424. X    {"-adobe-helvetica-medium-r-*--", (struct xfont*) NULL},
  1425. X    {"-adobe-helvetica-medium-o-*--", (struct xfont*) NULL},
  1426. X    {"-adobe-helvetica-bold-r-*--", (struct xfont*) NULL},
  1427. X    {"-adobe-helvetica-bold-o-*--", (struct xfont*) NULL},
  1428. X    {"-adobe-new century schoolbook-medium-r-*--", (struct xfont*) NULL},
  1429. X    {"-adobe-new century schoolbook-medium-i-*--", (struct xfont*) NULL},
  1430. X    {"-adobe-new century schoolbook-bold-r-*--", (struct xfont*) NULL},
  1431. X    {"-adobe-new century schoolbook-bold-i-*--", (struct xfont*) NULL},
  1432. X    {"-*-lucidabright-medium-r-*--", (struct xfont*) NULL},
  1433. X    {"-*-lucidabright-medium-i-*--", (struct xfont*) NULL},
  1434. X    {"-*-lucidabright-demibold-r-*--", (struct xfont*) NULL},
  1435. X    {"-*-lucidabright-demibold-i-*--", (struct xfont*) NULL},
  1436. X    {"-*-symbol-medium-r-*--", (struct xfont*) NULL},
  1437. X    {"-*-zapfchancery-medium-i-*--", (struct xfont*) NULL},
  1438. X    {"-*-zapfdingbats-*-*-*--", (struct xfont*) NULL},
  1439. X};
  1440. X
  1441. Xstruct _fstruct ps_fontinfo[NUM_PS_FONTS + 1] = {
  1442. X    {"Default", -1},
  1443. X    {"Times-Roman", 0},
  1444. X    {"Times-Italic", 1},
  1445. X    {"Times-Bold", 2},
  1446. X    {"Times-BoldItalic", 3},
  1447. X    {"AvantGarde-Book", 4},
  1448. X    {"AvantGarde-BookOblique", 5},
  1449. X    {"AvantGarde-Demi", 6},
  1450. X    {"AvantGarde-DemiOblique", 7},
  1451. X    {"Bookman-Light", 0},
  1452. X    {"Bookman-LightItalic", 0},
  1453. X    {"Bookman-Demi", 0},
  1454. X    {"Bookman-DemiItalic", 0},
  1455. X    {"Courier", 8},
  1456. X    {"Courier-Oblique", 9},
  1457. X    {"Courier-Bold", 10},
  1458. X    {"Courier-BoldOblique", 11},
  1459. X    {"Helvetica", 12},
  1460. X    {"Helvetica-Oblique", 13},
  1461. X    {"Helvetica-Bold", 14},
  1462. X    {"Helvetica-BoldOblique", 15},
  1463. X    {"Helvetica-Narrow", 0},
  1464. X    {"Helvetica-Narrow-Oblique", 0},
  1465. X    {"Helvetica-Narrow-Bold", 0},
  1466. X    {"Helvetica-Narrow-BoldOblique", 0},
  1467. X    {"NewCenturySchlbk-Roman", 16},
  1468. X    {"NewCenturySchlbk-Italic", 17},
  1469. X    {"NewCenturySchlbk-Bold", 18},
  1470. X    {"NewCenturySchlbk-BoldItalic", 19},
  1471. X    {"Palatino-Roman", 20},
  1472. X    {"Palatino-Italic", 21},
  1473. X    {"Palatino-Bold", 22},
  1474. X    {"Palatino-BoldItalic", 23},
  1475. X    {"Symbol", 24},
  1476. X    {"ZapfChancery-MediumItalic", 25},
  1477. X    {"ZapfDingbats", 26},
  1478. X};
  1479. X
  1480. Xstruct _fstruct latex_fontinfo[NUM_LATEX_FONTS] = {
  1481. X    {"Default", 0},
  1482. X    {"Roman", 0},
  1483. X    {"Bold", 2},
  1484. X    {"Italic", 1},
  1485. X    {"Modern", 12},
  1486. X    {"Typewriter", 8},
  1487. X};
  1488. X
  1489. Xx_fontnum(psflag, fnum)
  1490. X    int            psflag, fnum;
  1491. X{
  1492. X    return (psflag ? ps_fontinfo[fnum + 1].xfontnum :
  1493. X        latex_fontinfo[fnum].xfontnum);
  1494. X}
  1495. X
  1496. Xpsfontnum(font)
  1497. Xchar *font;
  1498. X{
  1499. X    int i;
  1500. X
  1501. X    if (font == NULL)
  1502. X    return(DEF_PS_FONT);
  1503. X    for (i=0; i<NUM_PS_FONTS; i++)
  1504. X    if (strcmp(ps_fontinfo[i].name, font) == 0)
  1505. X        return (i-1);
  1506. X    return(DEF_PS_FONT);
  1507. X}
  1508. X
  1509. Xlatexfontnum(font)
  1510. Xchar *font;
  1511. X{
  1512. X    int i;
  1513. X
  1514. X    if (font == NULL)
  1515. X    return(DEF_LATEX_FONT);
  1516. X    for (i=0; i<NUM_LATEX_FONTS; i++)
  1517. X    if (strcmp(latex_fontinfo[i].name, font) == 0)
  1518. X        return (i);
  1519. X    return(DEF_LATEX_FONT);
  1520. X}
  1521. END_OF_FILE
  1522. if test 4300 -ne `wc -c <'u_fonts.c'`; then
  1523.     echo shar: \"'u_fonts.c'\" unpacked with wrong size!
  1524. fi
  1525. # end of 'u_fonts.c'
  1526. fi
  1527. if test -f 'u_free.c' -a "${1}" != "-c" ; then 
  1528.   echo shar: Will not clobber existing file \"'u_free.c'\"
  1529. else
  1530. echo shar: Extracting \"'u_free.c'\" \(3779 characters\)
  1531. sed "s/^X//" >'u_free.c' <<'END_OF_FILE'
  1532. X/*
  1533. X * FIG : Facility for Interactive Generation of figures
  1534. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1535. X *
  1536. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1537. X * documentation for any purpose is hereby granted without fee, provided that
  1538. X * the above copyright notice appear in all copies and that both the copyright
  1539. X * notice and this permission notice appear in supporting documentation. 
  1540. X * No representations are made about the suitability of this software for 
  1541. X * any purpose.  It is provided "as is" without express or implied warranty."
  1542. X */
  1543. X
  1544. X#include "fig.h"
  1545. X#include "resources.h"
  1546. X#include "object.h"
  1547. X
  1548. Xfree_arc(list)
  1549. X    F_arc      **list;
  1550. X{
  1551. X    F_arc       *a, *arc;
  1552. X
  1553. X    for (a = *list; a != NULL;) {
  1554. X    arc = a;
  1555. X    a = a->next;
  1556. X    if (arc->for_arrow)
  1557. X        free((char *) arc->for_arrow);
  1558. X    if (arc->back_arrow)
  1559. X        free((char *) arc->back_arrow);
  1560. X    free((char *) arc);
  1561. X    }
  1562. X    *list = NULL;
  1563. X}
  1564. X
  1565. Xfree_compound(list)
  1566. X    F_compound      **list;
  1567. X{
  1568. X    F_compound       *c, *compound;
  1569. X
  1570. X    for (c = *list; c != NULL;) {
  1571. X    compound = c;
  1572. X    c = c->next;
  1573. X    free_arc(&compound->arcs);
  1574. X    free_compound(&compound->compounds);
  1575. X    free_ellipse(&compound->ellipses);
  1576. X    free_line(&compound->lines);
  1577. X    free_spline(&compound->splines);
  1578. X    free_text(&compound->texts);
  1579. X    free((char *) compound);
  1580. X    }
  1581. X    *list = NULL;
  1582. X}
  1583. X
  1584. Xfree_ellipse(list)
  1585. X    F_ellipse      **list;
  1586. X{
  1587. X    F_ellipse       *e, *ellipse;
  1588. X
  1589. X    for (e = *list; e != NULL;) {
  1590. X    ellipse = e;
  1591. X    e = e->next;
  1592. X    free((char *) ellipse);
  1593. X    }
  1594. X    *list = NULL;
  1595. X}
  1596. X
  1597. Xfree_line(list)
  1598. X    F_line      **list;
  1599. X{
  1600. X    F_line       *l, *line;
  1601. X
  1602. X    for (l = *list; l != NULL;) {
  1603. X    line = l;
  1604. X    l = l->next;
  1605. X    free_linestorage(line);
  1606. X    }
  1607. X    *list = NULL;
  1608. X}
  1609. X
  1610. Xfree_text(list)
  1611. X    F_text      **list;
  1612. X{
  1613. X    F_text       *t, *text;
  1614. X
  1615. X    for (t = *list; t != NULL;) {
  1616. X    text = t;
  1617. X    t = t->next;
  1618. X    free(text->cstring);
  1619. X    free((char *) text);
  1620. X    }
  1621. X    *list = NULL;
  1622. X}
  1623. X
  1624. Xfree_spline(list)
  1625. X    F_spline      **list;
  1626. X{
  1627. X    F_spline       *s, *spline;
  1628. X
  1629. X    for (s = *list; s != NULL;) {
  1630. X    spline = s;
  1631. X    s = s->next;
  1632. X    free_splinestorage(spline);
  1633. X    }
  1634. X    *list = NULL;
  1635. X}
  1636. X
  1637. Xfree_splinestorage(s)
  1638. X    F_spline       *s;
  1639. X{
  1640. X    F_control       *a, *b;
  1641. X
  1642. X    free_points(s->points);
  1643. X    for (a = s->controls; a != NULL; a = b) {
  1644. X    b = a->next;
  1645. X    free((char *) a);
  1646. X    }
  1647. X    if (s->for_arrow)
  1648. X    free((char *) s->for_arrow);
  1649. X    if (s->back_arrow)
  1650. X    free((char *) s->back_arrow);
  1651. X    free((char *) s);
  1652. X}
  1653. X
  1654. Xfree_linestorage(l)
  1655. X    F_line       *l;
  1656. X{
  1657. X    free_points(l->points);
  1658. X    if (l->for_arrow)
  1659. X    free((char *) l->for_arrow);
  1660. X    if (l->back_arrow)
  1661. X    free((char *) l->back_arrow);
  1662. X    if (l->eps) {
  1663. X    if (l->eps->bitmap)
  1664. X        free((char *) l->eps->bitmap);
  1665. X    if (l->eps->pixmap != 0)
  1666. X        XFreePixmap(tool_d, l->eps->pixmap);
  1667. X    free((char *) l->eps);
  1668. X    }
  1669. X    free((char *) l);
  1670. X}
  1671. X
  1672. Xfree_points(first_point)
  1673. X    F_point       *first_point;
  1674. X{
  1675. X    F_point       *p, *q;
  1676. X
  1677. X    for (p = first_point; p != NULL; p = q) {
  1678. X    q = p->next;
  1679. X    free((char *) p);
  1680. X    }
  1681. X}
  1682. X
  1683. Xfree_linkinfo(list)
  1684. X    F_linkinfo      **list;
  1685. X{
  1686. X    F_linkinfo       *l, *link;
  1687. X
  1688. X    for (l = *list; l != NULL;) {
  1689. X    link = l;
  1690. X    l = l->next;
  1691. X    free((char *) link);
  1692. X    }
  1693. X    *list = NULL;
  1694. X}
  1695. X
  1696. X/* free up all the GC's before leaving xfig */
  1697. X
  1698. Xfree_GCs()
  1699. X    {
  1700. X    int i;
  1701. X
  1702. X    XFreeGC(tool_d, gc);
  1703. X    XFreeGC(tool_d, bold_gc);
  1704. X    XFreeGC(tool_d, button_gc);
  1705. X    XFreeGC(tool_d, color_gc);
  1706. X    XFreeGC(tool_d, ind_button_gc);
  1707. X    XFreeGC(tool_d, ind_blank_gc);
  1708. X    XFreeGC(tool_d, blank_gc);
  1709. X    XFreeGC(tool_d, mouse_blank_gc);
  1710. X    XFreeGC(tool_d, mouse_button_gc);
  1711. X    XFreeGC(tool_d, tr_gc);
  1712. X    XFreeGC(tool_d, tr_erase_gc);
  1713. X    XFreeGC(tool_d, tr_xor_gc);
  1714. X    XFreeGC(tool_d, sr_gc);
  1715. X    XFreeGC(tool_d, sr_erase_gc);
  1716. X    XFreeGC(tool_d, sr_xor_gc);
  1717. X
  1718. X    for (i=0; i<NUMOPS; i++) {
  1719. X        XFreeGC(tool_d, gccache[i]);
  1720. X    }
  1721. X    for (i=0; i<NUMFILLPATS; i++) {
  1722. X        XFreeGC(tool_d, fill_gc[i]);
  1723. X        XFreeGC(tool_d, un_fill_gc[i]);
  1724. X    }
  1725. X}
  1726. END_OF_FILE
  1727. if test 3779 -ne `wc -c <'u_free.c'`; then
  1728.     echo shar: \"'u_free.c'\" unpacked with wrong size!
  1729. fi
  1730. # end of 'u_free.c'
  1731. fi
  1732. if test -f 'w_grid.c' -a "${1}" != "-c" ; then 
  1733.   echo shar: Will not clobber existing file \"'w_grid.c'\"
  1734. else
  1735. echo shar: Extracting \"'w_grid.c'\" \(4307 characters\)
  1736. sed "s/^X//" >'w_grid.c' <<'END_OF_FILE'
  1737. X/*
  1738. X * FIG : Facility for Interactive Generation of figures
  1739. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1740. X *
  1741. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1742. X * documentation for any purpose is hereby granted without fee, provided that
  1743. X * the above copyright notice appear in all copies and that both the copyright
  1744. X * notice and this permission notice appear in supporting documentation. 
  1745. X * No representations are made about the suitability of this software for 
  1746. X * any purpose.  It is provided "as is" without express or implied warranty."
  1747. X */
  1748. X
  1749. X#include "fig.h"
  1750. X#include "figx.h"
  1751. X#include "resources.h"
  1752. X#include "mode.h"
  1753. X#include "paintop.h"
  1754. X#include "object.h"
  1755. X#include "w_setup.h"
  1756. X#include "w_util.h"
  1757. X#include "w_zoom.h"
  1758. X
  1759. X#define null_width 32
  1760. X#define null_height 32
  1761. X
  1762. X#define MMTOPIX 3
  1763. X#define IN16TOPIX 5
  1764. X
  1765. Xstatic char    null_bits[null_width * null_height / 8] = {0};
  1766. X
  1767. Xstatic Pixmap    null_pm, grid_pm = 0;
  1768. Xstatic unsigned long bg, fg;
  1769. X
  1770. Xinit_grid()
  1771. X{
  1772. X    DeclareArgs(2);
  1773. X
  1774. X    if (null_pm == 0) {
  1775. X    FirstArg(XtNbackground, &bg);
  1776. X    NextArg(XtNforeground, &fg);
  1777. X    GetValues(canvas_sw);
  1778. X
  1779. X    null_pm = XCreatePixmapFromBitmapData(tool_d, canvas_win,
  1780. X                (char *) null_bits, null_width, null_height,
  1781. X                      fg, bg, DefaultDepthOfScreen(tool_s));
  1782. X    }
  1783. X
  1784. X    if (appres.INCHES) {
  1785. X    posn_rnd[P_MAGNET] = 5; /* 1 x 1/8" */
  1786. X    posn_hlf[P_MAGNET] = 3;
  1787. X    posn_rnd[P_GRID1] = 20; /* 4 x 1/8" */
  1788. X    posn_hlf[P_GRID1] = 10;
  1789. X    posn_rnd[P_GRID2] = 40; /* 8 x 1/8" */
  1790. X    posn_hlf[P_GRID2] = 20;
  1791. X    grid_name[P_MAGNET] = "1/16 in";
  1792. X    grid_name[P_GRID1] = "1/4 in";
  1793. X    grid_name[P_GRID2] = "1/2 in";
  1794. X    grid_fine[P_GRID1] = 1 * IN16TOPIX;    /* 1 x 1/16" */
  1795. X    grid_coarse[P_GRID1] = 4 * IN16TOPIX;    /* 4 x 1/16" */
  1796. X    grid_fine[P_GRID2] = 1 * IN16TOPIX;    /* 1 x 1/16" */
  1797. X    grid_coarse[P_GRID2] = 8 * IN16TOPIX;    /* 8 x 1/16" */
  1798. X    } else {
  1799. X    posn_rnd[P_MAGNET] = 3; /* 1 mm */
  1800. X    posn_hlf[P_MAGNET] = 2;
  1801. X    posn_rnd[P_GRID1] = 15; /* 5 mm */
  1802. X    posn_hlf[P_GRID1] = 7;
  1803. X    posn_rnd[P_GRID2] = 30; /* 10 mm */
  1804. X    posn_hlf[P_GRID2] = 15;
  1805. X    grid_name[P_MAGNET] = "1 mm";
  1806. X    grid_name[P_GRID1] = "5 mm";
  1807. X    grid_name[P_GRID2] = "10 mm";
  1808. X    grid_fine[P_GRID1] = 1 * MMTOPIX;    /* 1 mm */
  1809. X    grid_coarse[P_GRID1] = 5 * MMTOPIX;    /* 5 mm */
  1810. X    grid_fine[P_GRID2] = 2 * MMTOPIX;    /* 2 mm */
  1811. X    grid_coarse[P_GRID2] = 10 * MMTOPIX;    /* 10 mm */
  1812. X    }
  1813. X}
  1814. X
  1815. X/* grid in X11 is simply the background of the canvas */
  1816. X
  1817. Xsetup_grid(grid)
  1818. X    int            grid;
  1819. X{
  1820. X    float        coarse, fine;
  1821. X    float        x, x0c, x0f, y, y0c, y0f;
  1822. X    int            ic, dim;
  1823. X    static        prev_grid = -1;
  1824. X
  1825. X    DeclareArgs(1);
  1826. X
  1827. X    if (grid == GRID_0) {
  1828. X    FirstArg(XtNbackgroundPixmap, null_pm);
  1829. X    } else {
  1830. X    if (grid == GRID_1) {
  1831. X        coarse = grid_coarse[P_GRID1] * zoomscale;
  1832. X        fine = grid_fine[P_GRID1] * zoomscale;
  1833. X    } else {
  1834. X        coarse = grid_coarse[P_GRID2] * zoomscale;
  1835. X        fine = grid_fine[P_GRID2] * zoomscale;
  1836. X    }
  1837. X
  1838. X    if (coarse==0.0 && fine==0.0) { /* grid values both zero */
  1839. X        FirstArg(XtNbackgroundPixmap, null_pm);
  1840. X    }
  1841. X    if (coarse == 0.0) {    /* coarse must be <> 0 */
  1842. X        coarse = fine;
  1843. X        fine = 0.0;
  1844. X    }
  1845. X    ic = (int) coarse;
  1846. X    dim = (ic > 64.0) ? ic : (64 / ic + 1) * ic;
  1847. X
  1848. X    if (grid_pm)
  1849. X        XFreePixmap(tool_d, grid_pm);
  1850. X    grid_pm = XCreatePixmap(tool_d, canvas_win, dim, dim,
  1851. X                DefaultDepthOfScreen(tool_s));
  1852. X    XSetForeground(tool_d, gc, bg);
  1853. X    XFillRectangle(tool_d, grid_pm, gc, 0, 0, dim, dim);
  1854. X    XSetForeground(tool_d, gc, fg);
  1855. X    x0c = round(-round(zoomscale * zoomxoff) % round(coarse) - zoomscale);
  1856. X    y0c = round(-round(zoomscale * zoomyoff) % round(coarse) - zoomscale);
  1857. X    if (fine != 0.0) {
  1858. X        x0f = round(-round(zoomscale * zoomxoff) % round(fine) - zoomscale);
  1859. X        y0f = round(-round(zoomscale * zoomyoff) % round(fine) - zoomscale);
  1860. X        for (x = x0c; x < dim; x += coarse)
  1861. X        for (y = y0f; y < dim; y += fine)
  1862. X            {
  1863. X            XDrawPoint(tool_d, grid_pm, gc, round(x), round(y));
  1864. X            }
  1865. X        for (y = y0c; y < dim; y += coarse)
  1866. X        for (x = x0f; x < dim; x += fine)
  1867. X            {
  1868. X            XDrawPoint(tool_d, grid_pm, gc, round(x), round(y));
  1869. X            }
  1870. X    } else {
  1871. X        for (x = x0c; x < dim; x += coarse)
  1872. X        for (y = y0c; y < dim; y += coarse)
  1873. X            {
  1874. X            XDrawPoint(tool_d, grid_pm, gc, round(x), round(y));
  1875. X            }
  1876. X    }
  1877. X
  1878. X    FirstArg(XtNbackgroundPixmap, grid_pm);
  1879. X    }
  1880. X    SetValues(canvas_sw);
  1881. X    if (prev_grid == GRID_0 && grid == GRID_0)
  1882. X    redisplay_canvas();
  1883. X    prev_grid = grid;
  1884. X}
  1885. END_OF_FILE
  1886. if test 4307 -ne `wc -c <'w_grid.c'`; then
  1887.     echo shar: \"'w_grid.c'\" unpacked with wrong size!
  1888. fi
  1889. # end of 'w_grid.c'
  1890. fi
  1891. if test -f 'w_zoom.c' -a "${1}" != "-c" ; then 
  1892.   echo shar: Will not clobber existing file \"'w_zoom.c'\"
  1893. else
  1894. echo shar: Extracting \"'w_zoom.c'\" \(3733 characters\)
  1895. sed "s/^X//" >'w_zoom.c' <<'END_OF_FILE'
  1896. X/*
  1897. X * FIG : Facility for Interactive Generation of figures
  1898. X * Copyright (c) 1991 by Henning Spruth
  1899. X *
  1900. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1901. X * documentation for any purpose is hereby granted without fee, provided that
  1902. X * the above copyright notice appear in all copies and that both the copyright
  1903. X * notice and this permission notice appear in supporting documentation. 
  1904. X * No representations are made about the suitability of this software for 
  1905. X * any purpose.  It is provided "as is" without express or implied warranty."
  1906. X */
  1907. X
  1908. X#include <X11/keysym.h>
  1909. X#include "fig.h"
  1910. X#include "mode.h"
  1911. X#include "resources.h"
  1912. X#include "object.h"
  1913. X#include "paintop.h"
  1914. X#include "u_create.h"
  1915. X#include "u_elastic.h"
  1916. X#include "w_canvas.h"
  1917. X#include "w_setup.h"
  1918. X#include "w_zoom.h"
  1919. X#include "w_indpanel.h"
  1920. X
  1921. Xextern        elastic_box();
  1922. Xextern        show_zoom();
  1923. Xextern        pan_origin();
  1924. X
  1925. X/* extern int           gc_thickness[NUMOPS]; */
  1926. X
  1927. Xstatic        do_zoom();
  1928. Xstatic        zoom_up();
  1929. Xstatic        init_zoombox_drawing();
  1930. X
  1931. Xstatic int    (*save_kbd_proc) ();
  1932. Xstatic int    (*save_locmove_proc) ();
  1933. Xstatic int    (*save_leftbut_proc) ();
  1934. Xstatic int    (*save_middlebut_proc) ();
  1935. Xstatic int    (*save_rightbut_proc) ();
  1936. Xstatic Cursor    save_cur_cursor;
  1937. Xstatic int    save_action_on;
  1938. X
  1939. Xfloat        zoomscale = 1.0;
  1940. Xint        zoomxoff = 0;
  1941. Xint        zoomyoff = 0;
  1942. X
  1943. Xstatic Boolean    zoom_in_progress = False;
  1944. X
  1945. X/* used for private box drawing functions */
  1946. Xstatic int    my_fix_x, my_fix_y;
  1947. Xstatic int    my_cur_x, my_cur_y;
  1948. X
  1949. Xzoom_selected(x, y, button)
  1950. X    int            x, y;
  1951. X    unsigned int    button;
  1952. X{
  1953. X    if (!zoom_in_progress) {
  1954. X    switch (button) {
  1955. X    case Button1:
  1956. X        init_zoombox_drawing(x, y);
  1957. X        break;
  1958. X    case Button2:
  1959. X        pan_origin();
  1960. X        break;
  1961. X    case Button3:
  1962. X        zoomscale = 1.0;
  1963. X        show_zoom(&ind_switches[ZOOM_SWITCH_INDEX]);
  1964. X        break;
  1965. X    }
  1966. X    } else if (button == Button1)
  1967. X    do_zoom(x, y);
  1968. X}
  1969. X
  1970. X
  1971. Xstatic
  1972. Xmy_box(x, y)
  1973. X    int            x, y;
  1974. X{
  1975. X    elastic_box(my_fix_x, my_fix_y, my_cur_x, my_cur_y);
  1976. X    my_cur_x = x;
  1977. X    my_cur_y = y;
  1978. X    elastic_box(my_fix_x, my_fix_y, my_cur_x, my_cur_y);
  1979. X}
  1980. X
  1981. X
  1982. X
  1983. Xstatic
  1984. Xinit_zoombox_drawing(x, y)
  1985. X    int            x, y;
  1986. X{
  1987. X    save_kbd_proc = canvas_kbd_proc;
  1988. X    save_locmove_proc = canvas_locmove_proc;
  1989. X    save_leftbut_proc = canvas_leftbut_proc;
  1990. X    save_middlebut_proc = canvas_middlebut_proc;
  1991. X    save_rightbut_proc = canvas_rightbut_proc;
  1992. X    save_kbd_proc = canvas_kbd_proc;
  1993. X    save_cur_cursor = cur_cursor;
  1994. X
  1995. X    my_cur_x = my_fix_x = x;
  1996. X    my_cur_y = my_fix_y = y;
  1997. X    canvas_locmove_proc = moving_box;
  1998. X
  1999. X    canvas_locmove_proc = my_box;
  2000. X    canvas_leftbut_proc = do_zoom;
  2001. X    canvas_middlebut_proc = canvas_rightbut_proc = null_proc;
  2002. X    elastic_box(my_fix_x, my_fix_y, my_cur_x, my_cur_y);
  2003. X    set_temp_cursor(null_cursor);
  2004. X    set_action_on();
  2005. X    zoom_in_progress = True;
  2006. X}
  2007. X
  2008. Xstatic
  2009. Xdo_zoom(x, y)
  2010. X    int            x, y;
  2011. X{
  2012. X    int            dimx, dimy;
  2013. X    float        scalex, scaley;
  2014. X
  2015. X    elastic_box(my_fix_x, my_fix_y, my_cur_x, my_cur_y);
  2016. X    zoomxoff = my_fix_x < x ? my_fix_x : x;
  2017. X    zoomyoff = my_fix_y < y ? my_fix_y : y;
  2018. X    dimx = abs(x - my_fix_x);
  2019. X    dimy = abs(y - my_fix_y);
  2020. X    if (zoomxoff < 0)
  2021. X    zoomxoff = 0;
  2022. X    if (zoomyoff < 0)
  2023. X    zoomyoff = 0;
  2024. X    if (dimx && dimy) {
  2025. X    scalex = CANVAS_WD / (float) dimx;
  2026. X    scaley = CANVAS_HT / (float) dimy;
  2027. X    zoomscale = (int)((scalex > scaley ? scaley : scalex)+.99);
  2028. X
  2029. X    show_zoom(&ind_switches[ZOOM_SWITCH_INDEX]);
  2030. X    }
  2031. X    /* restore state */
  2032. X    canvas_kbd_proc = save_kbd_proc;
  2033. X    canvas_locmove_proc = save_locmove_proc;
  2034. X    canvas_leftbut_proc = save_leftbut_proc;
  2035. X    canvas_middlebut_proc = save_middlebut_proc;
  2036. X    canvas_rightbut_proc = save_rightbut_proc;
  2037. X    canvas_kbd_proc = save_kbd_proc;
  2038. X    set_cursor(save_cur_cursor);
  2039. X    action_on = save_action_on;
  2040. X    zoom_in_progress = False;
  2041. X}
  2042. END_OF_FILE
  2043. if test 3733 -ne `wc -c <'w_zoom.c'`; then
  2044.     echo shar: \"'w_zoom.c'\" unpacked with wrong size!
  2045. fi
  2046. # end of 'w_zoom.c'
  2047. fi
  2048. echo shar: End of archive 3 \(of 27\).
  2049. cp /dev/null ark3isdone
  2050. MISSING=""
  2051. 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
  2052.     if test ! -f ark${I}isdone ; then
  2053.     MISSING="${MISSING} ${I}"
  2054.     fi
  2055. done
  2056. if test "${MISSING}" = "" ; then
  2057.     echo You have unpacked all 27 archives.
  2058.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  2059. else
  2060.     echo You still need to unpack the following archives:
  2061.     echo "        " ${MISSING}
  2062. fi
  2063. ##  End of shell archive.
  2064. exit 0
  2065.  
  2066. exit 0 # Just in case...
  2067. -- 
  2068.   // chris@IMD.Sterling.COM       | Send comp.sources.x submissions to:
  2069. \X/  Amiga - The only way to fly! |    sources-x@imd.sterling.com
  2070.  "It's intuitively obvious to the |
  2071.   most casual observer..."        | GCS d+/-- p+ c++ l+ m+ s++/+ g+ w+ t+ r+ x+
  2072.