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

  1. Newsgroups: comp.sources.x
  2. From: envbvs@epb9.lbl.gov (Brian V. Smith)
  3. Subject: v19i113:  xfig - Draw amd manipulate objects in an X-Window, Part01/27
  4. Message-ID: <csx-v19i113=xfig.211127@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: 2ae0e7425092ca1745ec815ebd21a7d8
  6. Sender: chris@sparky.imd.sterling.com (Chris Olson)
  7. Organization: Sterling Software
  8. Date: Fri, 21 May 1993 02:11:57 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 113
  13. Archive-name: xfig/part01
  14. Environment: X11
  15. Supersedes: xfig: Volume 16, Issue 6-30,39
  16.  
  17. Xfig is a menu-driven tool that allows the user to draw and manipulate objects
  18. interactively in an X window.  The resulting pictures can be saved, printed
  19. on postscript printers or converted to a variety of other formats (e.g. to
  20. allow inclusion in LaTeX documents).
  21.  
  22. This is version 2.1 (patchlevel 7) of xfig.  Since it has been several 
  23. versions since that last xfig actually made it to comp.sources.x it
  24. is posted here in its entirety.
  25.  
  26. Brian V. Smith
  27. Lawrence Berkeley Laboratory
  28. bvsmith@lbl.gov
  29.  
  30. #! /bin/sh
  31. # This is a shell archive.  Remove anything before this line, then unpack
  32. # it by saving it into a file and typing "sh file".  To overwrite existing
  33. # files, type "sh file -c".  You can also feed this as standard input via
  34. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  35. # will see the following message at the end:
  36. #        "End of archive 1 (of 27)."
  37. # Contents:  Doc Doc/FORMAT1.3 Examples Examples/README
  38. #   Examples/balance.fig.uu Examples/bath.fig.uu
  39. #   Examples/bedroom1.fig.uu Examples/bedroom2.fig.uu
  40. #   Examples/cassette.fig.uu Examples/greek.fig.uu
  41. #   Examples/logo.fig.uu Examples/window1.fig.uu Fig.ad README
  42. #   e_break.c figx.h object.c paintop.h patchlevel.h resources.c
  43. #   u_bound.h u_create.h u_draw.h u_elastic.h u_fonts.h u_list.h
  44. #   u_pan.c u_search.h u_undo.h version.h w_canvas.h w_dir.h
  45. #   w_drawprim.h w_mousefun.h w_rottext.h w_setup.h w_util.h w_zoom.h
  46. # Wrapped by envbvs@epb9.lbl.gov.lbl.gov on Mon May  3 12:05:43 1993
  47. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  48. if test ! -d 'Doc' ; then
  49.     echo shar: Creating directory \"'Doc'\"
  50.     mkdir 'Doc'
  51. fi
  52. if test -f 'Doc/FORMAT1.3' -a "${1}" != "-c" ; then 
  53.   echo shar: Will not clobber existing file \"'Doc/FORMAT1.3'\"
  54. else
  55. echo shar: Extracting \"'Doc/FORMAT1.3'\" \(2274 characters\)
  56. sed "s/^X//" >'Doc/FORMAT1.3' <<'END_OF_FILE'
  57. XThe following is the format of fig output (fig 1.3).
  58. X
  59. XThe first line consists of four number:
  60. X    screen resolution (pixels/inch),
  61. X    screen origin (1 : upper rigth, 2 : upper left, 3 : lower left,
  62. X            4 : lower right),
  63. X    canvas width (pixels),
  64. X    canvas height (pixels)
  65. X
  66. XThe first integer of the rest of the lines represents the followings;
  67. X
  68. X    ELLIPSE        1
  69. X    POLYLINE    2
  70. X    SPLINE        3    (quadratic spline)
  71. X    TEXT        4
  72. X    ARC        5
  73. X    BEGIN_COMPOUND    6
  74. X    END_COMPOUND    -BEGIN_COMPOUND
  75. X
  76. XThe detail of each object is:
  77. X
  78. XARC
  79. X    type (3 : circle by radius, 4 : circle by diameter, 5 : circular arc),
  80. X    line_style,
  81. X    thickness (pixels),
  82. X    dash_length (pixels),
  83. X    direction (0 : clockwise, 1 : counterclokwise),
  84. X    forward_arrow (0: off, 1: on),
  85. X    backward_arrow (0: off, 1: on),
  86. X    arrow_ht (pixels), arrow_wid (pixels), 
  87. X    center.x, center.y,
  88. X    point[0].x, point[0].y, (the 1st point the user entered)
  89. X    point[1].x, point[1].y, (the 2nd point or the last for type 3 or 4)
  90. X    point[2].x, point[2].y  (the last point if type is 5)
  91. X
  92. XBEGIN_COMPOUND
  93. X    upperright_corner.x, upperright_corner.y,
  94. X    lowerleft_corner.x, lowerleft_corner.y
  95. X
  96. XELLIPSE
  97. X    type (1 : defined by radiuses, 2 : defined by diameters),
  98. X    line_style,
  99. X    thickness (pixels),
  100. X    dash_length (pixels),
  101. X    direction (is always 1),
  102. X    center.x, center.y,
  103. X    radius.x, radius.y,
  104. X    start.x, start.y, (the 1st point the user entered)
  105. X    end.x, end.y
  106. X
  107. XLINE
  108. X    type (6 : polyline, 7 : box, 8 : polygon),
  109. X    line_style,
  110. X    thickness (pixels),
  111. X    dash_length (pixels),
  112. X    forward_arrow (0: off, 1: on),
  113. X    backward_arrow (0: off, 1: on),
  114. X    arrow_ht (pixels), arrow_wid (pixels),
  115. X    x1, y1,
  116. X    x2, y2,
  117. X      .
  118. X      .
  119. X    xn, yn,    (this will be the same as the 1st point for type 7 or 8)
  120. X    9999, 9999
  121. X
  122. XSPLINE (quadratic spline)
  123. X    type (10: open spline, 11: closed spline),
  124. X    line_style,
  125. X    thickness (pixels),
  126. X    dash_length (pixels),
  127. X    forward_arrow (0: off, 1: on),
  128. X    backward_arrow (0: off, 1: on),
  129. X    arrow_ht (pixels), arrow_wid (pixels),
  130. X    x1, y1,
  131. X    x2, y2,
  132. X      .
  133. X      .
  134. X    xn, yn,    (this will be the same as the 1st point for type 11)
  135. X    9999, 9999
  136. X
  137. XTEXT
  138. X    font,  (not used)
  139. X    size,  (not used)
  140. X    style, (not used)
  141. X    height (pixels), length (pixels),
  142. X    lowerleft_corner.x (pixels), lowerleft_corner.y (pixels),
  143. X    string (end at newline, \n)
  144. X
  145. XThere are only three line styles defined
  146. X
  147. X    SOLID_LINE    0
  148. X    DASH_LINE    1
  149. X    DOTTED_LINE    2 (not implement)
  150. END_OF_FILE
  151. if test 2274 -ne `wc -c <'Doc/FORMAT1.3'`; then
  152.     echo shar: \"'Doc/FORMAT1.3'\" unpacked with wrong size!
  153. fi
  154. # end of 'Doc/FORMAT1.3'
  155. fi
  156. if test ! -d 'Examples' ; then
  157.     echo shar: Creating directory \"'Examples'\"
  158.     mkdir 'Examples'
  159. fi
  160. if test -f 'Examples/README' -a "${1}" != "-c" ; then 
  161.   echo shar: Will not clobber existing file \"'Examples/README'\"
  162. else
  163. echo shar: Extracting \"'Examples/README'\" \(301 characters\)
  164. sed "s/^X//" >'Examples/README' <<'END_OF_FILE'
  165. XThe figure files have been uuencoded so that they may be mailed
  166. Xto comp.sources.x without any problem with the ^A (control A)
  167. Xin the text objects.
  168. X
  169. XTo decode them, do the following (csh):
  170. X
  171. Xforeach file (*.uu)
  172. X   uudecode $file
  173. Xend
  174. X
  175. Xor the following (ksh):
  176. X
  177. Xfor file in *.uu
  178. Xdo
  179. X    uudecode $file
  180. Xdone
  181. END_OF_FILE
  182. if test 301 -ne `wc -c <'Examples/README'`; then
  183.     echo shar: \"'Examples/README'\" unpacked with wrong size!
  184. fi
  185. # end of 'Examples/README'
  186. fi
  187. if test -f 'Examples/balance.fig.uu' -a "${1}" != "-c" ; then 
  188.   echo shar: Will not clobber existing file \"'Examples/balance.fig.uu'\"
  189. else
  190. echo shar: Extracting \"'Examples/balance.fig.uu'\" \(1128 characters\)
  191. sed "s/^X//" >'Examples/balance.fig.uu' <<'END_OF_FILE'
  192. Xbegin 444 balance.fig
  193. XM(T9)1R`R+C$*.#`@,@HR(#$@,"`T("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
  194. XM,3,Y(#(S.2`V-S0@,3,T(#DY.3D@.3DY.0HR(#$@,"`R("TQ(#`@,"`P(#`N
  195. XM,#`P(#`@,"`P"@D@,34Y(#(S-"`Q-3D@,C8Y(#DY.3D@.3DY.0HR(#$@,"`R
  196. XM("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-C4Y(#$S.2`V-3D@,38Y(#DY.3D@
  197. XM.3DY.0HR(#,@,"`S("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,SDT(#$X.2`S
  198. XM,CD@,S`T(#0V.2`S,#0@,SDT(#$X.2`Y.3DY(#DY.3D*,R`Q(#`@,B`M,2`P
  199. XM(#`@,"`P+C`P,"`P(#`*"2`V-30@,C$T(#8T.2`Q.#D@-C8T(#$V.2`V-3D@
  200. XM,38T(#8T-"`Q-SD@-C0T(#(Q-"`V-#D@,C`Y(#8U-"`R,30@.3DY.2`Y.3DY
  201. XM"C,@,2`P(#(@+3$@,"`P(#`@,"XP,#`@,"`P"@D@-C8Y(#(P.2`V,3D@,C$T
  202. XM(#4Y.2`R,SD@-3DY(#(W-"`V,30@,S`Y(#4Y-"`S-30@-3<T(#,Y-"`U-SD@
  203. XM-#,Y(#8S.2`T-SD@-C@T(#0W.2`W,C0@-#8Y(#<U-"`T,3D@-S0T(#,V-"`W
  204. XM,#D@,S$Y(#8Y.2`R-S0@-CDY(#(S-"`V-CD@,C`Y(#DY.3D@.3DY.0HS(#$@
  205. XM,"`R("TQ(#`@,"`P(#`N,#`P(#`@,`H)(#$V-"`S,30@,38Y(#(X.2`Q-30@
  206. XM,C8Y(#$U.2`R-C0@,3<T(#(W.2`Q-S0@,S$T(#$V.2`S,#D@,38T(#,Q-"`Y
  207. XM.3DY(#DY.3D*,R`Q(#`@,B`M,2`P(#`@,"`P+C`P,"`P(#`*"2`Q,SD@,CDY
  208. XM(#$P-"`S,CD@.#0@,S@Y(#$P.2`T-#D@,3,Y(#0U-"`Q-30@-#,T(#$X-"`T
  209. XM,SD@,3DT(#0U-"`R,30@-#0Y(#(S-"`T,CD@,C4Y(#,V.2`R,S0@,S(T(#(P
  210. X@.2`R.3D@,3<T(#,Q-"`Q,SD@,CDY(#DY.3D@.3DY.0HV
  211. X`
  212. Xend
  213. END_OF_FILE
  214. if test 1128 -ne `wc -c <'Examples/balance.fig.uu'`; then
  215.     echo shar: \"'Examples/balance.fig.uu'\" unpacked with wrong size!
  216. fi
  217. # end of 'Examples/balance.fig.uu'
  218. fi
  219. if test -f 'Examples/bath.fig.uu' -a "${1}" != "-c" ; then 
  220.   echo shar: Will not clobber existing file \"'Examples/bath.fig.uu'\"
  221. else
  222. echo shar: Extracting \"'Examples/bath.fig.uu'\" \(1927 characters\)
  223. sed "s/^X//" >'Examples/bath.fig.uu' <<'END_OF_FILE'
  224. Xbegin 444 bath.fig
  225. XM(T9)1R`R+C$*.#`@,@HU(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P(#,Y
  226. XM,"XQ-C<@,C`U+C$V-R`S.30@,C`T(#,Y,R`R,#@@,S@Y(#(P.0HQ(#(@,"`Q
  227. XM("TQ(#`@,"`P(#`N,#`P(#$@,"XP,#`@-#(S(#,W."`S,"`R,B`T-3@@,S8P
  228. XM(#,Y,2`T,#(*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#0P-"`S
  229. XM.30@,S@U(#,Y-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P
  230. XM(#`@,`H)(#0P-2`S-C`@,S@U(#,V,"`Y.3DY(#DY.3D*,B`T(#`@,2`M,2`P
  231. XM(#`@,"`P+C`P,"`S(#`@,`H)(#,X-2`S-3$@,S8S(#,U,2`S-C,@-#`V(#,X
  232. XM-2`T,#8@,S@U(#,U,2`Y.3DY(#DY.3D*,B`S(#`@,2`M,2`P(#`@-2`P+C`P
  233. XM,"`P(#`@,`H)(#0P-"`Y.2`S,SD@.3D@,S,Y(#0S.2`S-SD@-#,Y(#,W.2`T
  234. XM,3D@,S4Y(#0Q.2`S-3D@,3$Y(#0P-"`Q,3D*"2`T,#0@.3D@.3DY.2`Y.3DY
  235. XM"C(@,R`P(#$@+3$@,"`P(#4@,"XP,#`@,"`P(#`*"2`T.30@,3$Y(#0Y-"`Y
  236. XM.2`U,CD@.3D@-3(Y(#$Y.2`V-#0@,3DY(#8T-"`T,SD@-#@Y(#0S.2`T.#D@
  237. XM-#$Y"@D@-C(T(#0Q.2`V,C0@,C$Y(#4P.2`R,3D@-3`Y(#$Q.2`T.30@,3$Y
  238. XM(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@-3`Y
  239. XM(#(Q.2`U,#D@-#$Y(#DY.3D@.3DY.0HR(#0@,"`Q("TQ(#`@,"`P(#`N,#`P
  240. XM(#<@,"`P"@D@-3(T(#(S-"`U,C0@-#`T(#8P.2`T,#0@-C`Y(#(S-"`U,C0@
  241. XM,C,T(#DY.3D@.3DY.0HR(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
  242. XM,S<Y(#0Q.2`S-SD@-#,Y(#0X.2`T,SD@-#@Y(#0Q.2`S-SD@-#$Y(#DY.3D@
  243. XM.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,S<Y(#0R.2`T
  244. XM.#D@-#(Y(#DY.3D@.3DY.0HR(#0@,"`Q("TQ(#`@,"`P(#`N,#`P(#8@,"`P
  245. XM"@D@,S8T(#(T.2`S-C0@,S$Y(#0Q.2`S,3D@-#$Y(#(T.2`S-C0@,C0Y(#DY
  246. XM.3D@.3DY.0HR(#0@,"`Q("TQ(#`@,"`P(#`N,#`P(#@@,"`P"@D@,S<T(#(U
  247. XM.2`S-S0@,S`Y(#0P.2`S,#D@-#`Y(#(U.2`S-S0@,C4Y(#DY.3D@.3DY.0HR
  248. XM(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,SDT(#$Q.2`S.30@,C`T
  249. XM(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,S4Y
  250. XM(#(P.2`S.#D@,C`Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P
  251. XM(#`@,"`P"@D@-#$T(#$T.2`T.30@,3`Y(#DY.3D@.3DY.0HT(#`@,"`Q,B`P
  252. XM("TQ(#`@,"XP,#`@-"`Y(#,R(#$S,R`T-S0@3W5T;&5T`0HT(#$@,S0@,3@@
  253. XM,"`M,2`P(#`N,#`P(#0@,3,@,3,@,3$R(#0X,2!H`0HT(#$@,S0@,3@@,"`M
  254. XM,2`P(#`N,#`P(#0@,3,@,3,@,S8Y(#(T,2!H`0HT(#$@,"`Q-"`P("TQ(#`@
  255. X<,"XP,#`@-"`Q,"`R-R`T,S@@,C$T($)A=&@!"@HT
  256. X`
  257. Xend
  258. END_OF_FILE
  259. if test 1927 -ne `wc -c <'Examples/bath.fig.uu'`; then
  260.     echo shar: \"'Examples/bath.fig.uu'\" unpacked with wrong size!
  261. fi
  262. # end of 'Examples/bath.fig.uu'
  263. fi
  264. if test -f 'Examples/bedroom1.fig.uu' -a "${1}" != "-c" ; then 
  265.   echo shar: Will not clobber existing file \"'Examples/bedroom1.fig.uu'\"
  266. else
  267. echo shar: Extracting \"'Examples/bedroom1.fig.uu'\" \(2121 characters\)
  268. sed "s/^X//" >'Examples/bedroom1.fig.uu' <<'END_OF_FILE'
  269. Xbegin 444 bedroom1.fig
  270. XM(T9)1R`R+C$*.#`@,@HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
  271. XM-C$T(#,T(#8Q-"`U-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P
  272. XM,"`P(#`@,`H)(#<Y(#,T(#<Y(#4T(#DY.3D@.3DY.0HR(#,@,"`Q("TQ(#`@
  273. XM,"`U(#`N,#`P(#`@,"`P"@D@-C$T(#$Y.2`V,30@,S<Y(#8S-"`S-SD@-C,T
  274. XM(#,R-"`W-CD@,S(T(#<V.2`R,#D@-S$T(#(P.2`W,30@,C(Y"@D@-S0Y(#(R
  275. XM.2`W-#D@,S`T(#8S-"`S,#0@-C,T(#(R.2`V-C0@,C(Y(#8V-"`R,#D@-C,T
  276. XM(#(P.2`V,S0@,3DY"@D@-C$T(#$Y.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P
  277. XM(#`@,"`P+C`P,"`P(#`@,`H)(#8R-"`T-SD@-3@Y(#,X.2`Y.3DY(#DY.3D*
  278. XM,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,0H),"`P(#$N,#`P(#0N,#`P
  279. XM(#@N,#`P"@D@-#0@-3(T(#0T(#,R-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P
  280. XM(#`@,"`P+C`P,"`P(#`@,0H),"`P(#$N,#`P(#0N,#`P(#@N,#`P"@D@-#0@
  281. XM.#0@-#0@,C@T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@
  282. XM,"`P"@D@-30@-3(Y(#,T(#4R.2`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@
  283. XM,"`P+C`P,"`P(#`@,`H)(#4T(#<Y(#,T(#<Y(#DY.3D@.3DY.0HR(#$@,"`Q
  284. XM("TQ(#`@,"`P(#`N,#`P(#`@,"`Q"@DP(#`@,2XP,#`@-"XP,#`@."XP,#`*
  285. XM"2`V,#D@-#0@,S<T(#0T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N
  286. XM,#`P(#`@,"`Q"@DP(#`@,2XP,#`@-"XP,#`@."XP,#`*"2`X-"`T-"`S,3D@
  287. XM-#0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`U
  288. XM.2`T,30@-SD@-#$T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P
  289. XM(#`@,"`P"@D@-CD@,S`T(#8Y(#4R-"`Y.3DY(#DY.3D*,B`R(#`@,2`M,2`P
  290. XM(#`@,"`P+C`P,"`P(#`@,`H)(#4Y(#,P-"`W.2`S,#0@-SD@-3(T(#4Y(#4R
  291. XM-"`U.2`S,#0@.3DY.2`Y.3DY"C(@,R`P(#$@+3$@,"`P(#4@,"XP,#`@,"`P
  292. XM(#`*"2`V,S0@-30Y(#<V.2`U-#D@-S8Y(#,R-"`W-#D@,S(T(#<T.2`U,CD@
  293. XM-C,T(#4R.2`V,S0@-#<Y(#8Q-"`T-SD*"2`V,30@-3(Y(#<Y(#4R.2`W.2`U
  294. XM,C0@-3D@-3(T(#4Y(#4T.2`V,S0@-30Y(#DY.3D@.3DY.0HR(#$@,"`Q("TQ
  295. XM(#`@,"`P(#`N,#`P(#`@,"`P"@D@-C(T(#$P.2`U.#0@,3@T(#DY.3D@.3DY
  296. XM.0HR(#,@,"`Q("TQ(#`@,"`U(#`N,#`P(#`@,"`P"@D@-SD@-SD@-SD@,S`T
  297. XM(#4Y(#,P-"`U.2`U.2`V-#0@-3D@-C0T(#<Y(#8S-"`W.2`V,S0@,3`Y"@D@
  298. XM-C$T(#$P.2`V,30@-SD@-SD@-SD@.3DY.2`Y.3DY"C0@,2`P(#$T(#`@,"`P
  299. XM(#`N,#`P(#0@,3`@,S$@,S0@,S`Y(#$Q)S,B`0HT(#$@,"`Q,B`P("TQ(#`@
  300. XM,"XP,#`@-"`Y(#,S(#8X-"`T,S0@0VQO<V5T`0HT(#$@,"`Q,B`P("TQ(#`@
  301. XM,"XP,#`@-"`Y(#(X(#8Y-"`R-S0@3&EN96X!"C0@,2`P(#$T(#`@+3$@,"`P
  302. XM+C`P,"`T(#$P(#8S(#,S-"`R-SD@0F5D<F]O;2`Q`0HT(#$@,"`Q-"`P("TQ
  303. X?(#`@,"XP,#`@-"`Q,"`S,2`S-#D@-#D@,3,G-"(!"@HT
  304. X`
  305. Xend
  306. END_OF_FILE
  307. if test 2121 -ne `wc -c <'Examples/bedroom1.fig.uu'`; then
  308.     echo shar: \"'Examples/bedroom1.fig.uu'\" unpacked with wrong size!
  309. fi
  310. # end of 'Examples/bedroom1.fig.uu'
  311. fi
  312. if test -f 'Examples/bedroom2.fig.uu' -a "${1}" != "-c" ; then 
  313.   echo shar: Will not clobber existing file \"'Examples/bedroom2.fig.uu'\"
  314. else
  315. echo shar: Extracting \"'Examples/bedroom2.fig.uu'\" \(1881 characters\)
  316. sed "s/^X//" >'Examples/bedroom2.fig.uu' <<'END_OF_FILE'
  317. Xbegin 444 bedroom2.fig
  318. XM(T9)1R`R+C$*.#`@,@HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@
  319. XM-C0T(#$T-"`V,#D@,C,T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N
  320. XM,#`P(#`@,"`Q"@DP(#`@,2XP,#`@-"XP,#`@."XP,#`*"2`T-"`U,CD@-#0@
  321. XM,S(T(#DY.3D@.3DY.0HR(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`Q"@DP
  322. XM(#`@,2XP,#`@-"XP,#`@."XP,#`*"2`T-"`X-"`T-"`R.#D@.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)(#8R.2`T-"`S-C0@-#0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@
  325. XM,"`P(#`@,"XP,#`@,"`P(#$*"3`@,"`Q+C`P,"`T+C`P,"`X+C`P,`H)(#@T
  326. XM(#0T(#,Q-"`T-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P
  327. XM(#`@,`H)(#4T(#4S-"`S-"`U,S0@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P
  328. XM(#`@,"XP,#`@,"`P(#`*"2`U-"`W.2`S-"`W.2`Y.3DY(#DY.3D*,B`Q(#`@
  329. XM,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#8S-"`S-"`V,S0@-30@.3DY.2`Y
  330. XM.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`W.2`S-"`W.2`U
  331. XM-"`Y.3DY(#DY.3D*,B`Q(#`@,2`M,2`P(#`@,"`P+C`P,"`P(#`@,`H)(#<S
  332. XM.2`U-#0@-C0T(#4Q-"`Y.3DY(#DY.3D*,B`S(#`@,2`M,2`P(#`@-2`P+C`P
  333. XM,"`P(#`@,`H)(#<V.2`U-30@-S8Y(#,Y.2`V-30@,SDY(#8U-"`R-#0@-C,T
  334. XM(#(T-"`V,S0@-#$Y(#<T.2`T,3D@-S0Y(#4S-`H)(#<S.2`U,S0@-S,Y(#4U
  335. XM-"`W-CD@-34T(#DY.3D@.3DY.0HR(#,@,"`Q("TQ(#`@,"`U(#`N,#`P(#`@
  336. XM,"`P"@D@-3D@-#$T(#4Y(#4U-"`V,SD@-34T(#8S.2`U,S0@-SD@-3,T(#<Y
  337. XM(#0Q-"`U.2`T,30@.3DY.2`Y.3DY"C(@,2`P(#$@+3$@,"`P(#`@,"XP,#`@
  338. XM,"`P(#`*"2`V.2`Q.30@-CD@-#$T(#DY.3D@.3DY.0HR(#(@,"`Q("TQ(#`@
  339. XM,"`P(#`N,#`P(#`@,"`P"@D@-3D@,3DT(#<Y(#$Y-"`W.2`T,30@-3D@-#$T
  340. XM(#4Y(#$Y-"`Y.3DY(#DY.3D*,B`S(#`@,2`M,2`P(#`@-2`P+C`P,"`P(#`@
  341. XM,`H)(#<W-"`U.2`W-S0@,S$T(#8U-"`S,30@-C4T(#(Y-"`W-30@,CDT(#<U
  342. XM-"`W.2`V-30@-SD@-C4T(#$T-`H)(#8S-"`Q-#0@-C,T(#<Y(#<Y(#<Y(#<Y
  343. XM(#$Y-"`U.2`Q.30@-3D@-3D@-S<T(#4Y(#DY.3D@.3DY.0HT(#(@,"`Q,B`P
  344. XM("TQ(#`@,"XP,#`@-"`Y(#,S(#<P,B`Q.#D@0VQO<V5T`0HT(#$@,"`Q-"`P
  345. XM("TQ(#`@,"XP,#`@-"`Q,"`V,R`S-#0@,C<Y($)E9')O;VT@,@$*-"`R(#`@
  346. XM,30@,"`M,2`P(#`N,#`P(#0@,3`@,S$@-30@,S`Y(#$Q)S0B`0HT(#$@,"`Q
  347. XF-"`P("TQ(#`@,"XP,#`@-"`Q,"`S."`S,SD@-#D@,3,G,3`B`0HT
  348. X`
  349. Xend
  350. END_OF_FILE
  351. if test 1881 -ne `wc -c <'Examples/bedroom2.fig.uu'`; then
  352.     echo shar: \"'Examples/bedroom2.fig.uu'\" unpacked with wrong size!
  353. fi
  354. # end of 'Examples/bedroom2.fig.uu'
  355. fi
  356. if test -f 'Examples/cassette.fig.uu' -a "${1}" != "-c" ; then 
  357.   echo shar: Will not clobber existing file \"'Examples/cassette.fig.uu'\"
  358. else
  359. echo shar: Extracting \"'Examples/cassette.fig.uu'\" \(1753 characters\)
  360. sed "s/^X//" >'Examples/cassette.fig.uu' <<'END_OF_FILE'
  361. Xbegin 444 cassette.fig
  362. XM(T9)1R`R+C$*.#`@,@HU(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P(#(S
  363. XM.2XP,#`@,C(Q+C4P,"`R-3D@,3DY(#(V.2`R,3D@,C4Y(#(T-`HU(#$@,"`Q
  364. XM("TQ(#`@,"`P(#`N,#`P(#$@,"`P(#,Y,2XU,#`@,C(Q+C4P,"`S-3D@,3DT
  365. XM(#,T.2`R,3D@,S4Y(#(T.0HU(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#$@,"`P
  366. XM(#,W-BXU,#`@,C(Q+C4P,"`S,#0@,3DT(#(Y.2`R,3D@,S`T(#(T.0HU(#$@
  367. XM,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P(#(T-BXU,#`@,C(Q+C4P,"`R-C0@
  368. XM,3DT(#(W.2`R,3D@,C8T(#(T.0HQ(#0@,"`Q("TQ(#`@,"`P(#`N,#`P(#$@
  369. XM,"XP,#`@-#$Y(#(R-"`Q-2`Q-2`T,3D@,C`Y(#0Q.2`R,SD*,2`T(#`@,2`M
  370. XM,2`P(#`@,"`P+C`P,"`Q(#`N,#`P(#(P-"`R,C0@,34@,34@,C`T(#(P.2`R
  371. XM,#0@,C,Y"C$@-"`P(#(@+3$@,"`P(#`@,"XP,#`@,2`P+C`P,"`T,C$@,C(T
  372. XM(#(Q(#(Q(#0Q-"`R,#0@-#(Y(#(T-0HQ(#0@,"`R("TQ(#`@,"`P(#`N,#`P
  373. XM(#$@,"XP,#`@,C`T(#(R-"`R,2`R,2`Q.3D@,C`T(#(P.2`R-#0*,2`T(#`@
  374. XM,2`M,2`P(#`@,C$@,"XP,#`@,2`P+C`P,"`T,3D@,S@X(#@@."`T,34@,S@S
  375. XM(#0R-"`S.30*,2`T(#`@,2`M,2`P(#`@,C$@,"XP,#`@,2`P+C`P,"`Q.3D@
  376. XM,S@Y(#@@."`Q.30@,S@T(#(P-"`S.30*,B`S(#`@,2`M,2`R(#`@,R`P+C`P
  377. XM,"`P(#`@,`H)(#$S-"`S.3D@,38Q(#,S-"`T-3<@,S,T(#0X-"`S.3D@,3,T
  378. XM(#,Y.2`Y.3DY(#DY.3D*,B`S(#`@,2`M,2`Q(#`@,3`@,"XP,#`@,"`P(#`*
  379. XM"2`Q,SD@,SDY(#$V-"`S,SD@-#4T(#,S.2`T-SD@,SDY(#$S.2`S.3D@.3DY
  380. XM.2`Y.3DY"C(@,R`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`U,SD@,S`T
  381. XM(#4T-"`S,30@-30T(#,W.2`U,SD@,S@T(#4S.2`S,#0@.3DY.2`Y.3DY"C(@
  382. XM,R`P(#$@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`W.2`S,#0@-S0@,S$T(#<T
  383. XM(#,W.2`W.2`S.#0@-SD@,S`T(#DY.3D@.3DY.0HR(#0@,"`Q("TQ(#`@,"`P
  384. XM(#`N,#`P(#@@,"`P"@D@.3D@,3,Y(#DY(#,Q.2`U,3D@,S$Y(#4Q.2`Q,SD@
  385. XM.3D@,3,Y(#DY.3D@.3DY.0HR(#0@,"`Q("TQ(#`@,"`P(#`N,#`P(#@@,"`P
  386. XM"@D@-SD@,3$Y(#<Y(#,Y.2`U,SD@,SDY(#4S.2`Q,3D@-SD@,3$Y(#DY.3D@
  387. XM.3DY.0HR(#(@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C4Y(#$Y-"`R
  388. XM-3D@,C0Y(#,U.2`R-#D@,S4Y(#$Y-"`R-3D@,3DT(#DY.3D@.3DY.0HT(#`@
  389. XC,"`Q,B`P("TQ(#`@,"XP,#`@-"`Y(#D@,3`Y(#$V-"!!`0H@
  390. X`
  391. Xend
  392. END_OF_FILE
  393. if test 1753 -ne `wc -c <'Examples/cassette.fig.uu'`; then
  394.     echo shar: \"'Examples/cassette.fig.uu'\" unpacked with wrong size!
  395. fi
  396. # end of 'Examples/cassette.fig.uu'
  397. fi
  398. if test -f 'Examples/greek.fig.uu' -a "${1}" != "-c" ; then 
  399.   echo shar: Will not clobber existing file \"'Examples/greek.fig.uu'\"
  400. else
  401. echo shar: Extracting \"'Examples/greek.fig.uu'\" \(2320 characters\)
  402. sed "s/^X//" >'Examples/greek.fig.uu' <<'END_OF_FILE'
  403. Xbegin 664 greek.fig
  404. XM(T9)1R R+C$*.# @,@HV(#0T(#,T.2 V,S0@-C$Y"C0@," S,B R-" P(# @
  405. XM," P+C P,# P(#0@,C,@-3@W(#0T(#0P-"#!(,(@PR#$(,4@QB#'(,@@R2#*
  406. XM(,L@S"#-(,X@SR#0(-$@TB#3(-0@(-4@UB @UR#8(-D@V@$*-" P(#,R(#(T
  407. XM(# @," P(# N,# P,# @-" R-" U,3$@-#0@-#<T(.$@XB#C(.0@Y2#F(.<@
  408. XMZ"#I(.H@ZR#L(.T@(.X@[R#P(/$@\B#S(/0@]2#V(/<@^"#Y(/H!"C0@," S
  409. XM,B R-" P(# @," P+C P,# P(#0@,C(@-#,T(#0T(#4T.2"A(*(@HR"D(*4@
  410. XMIB"G(*@@J2"J(*L@K""M(*X@KR"P(+$@LB"S(+0@M2"V(+<@N""Y 0HT(# @
  411. XM,S(@,C0@," P(# @,"XP,# P," T(#(Q(#$Q," T-" V,3D@.B [(#P@/2 ^
  412. XM(#\@0 $*-" P(#,R(#(T(# @," P(# N,# P,# @-" R." Q-SD@,C$Y(#8Q
  413. XM.2#;(-P@W2#>("#?(. @(/L@_"#](/X!"C0@," P(#(T(# @," P(# N,# P
  414. XM,# @-" R,B U.#<@-#0@,S<T($$@0B!#($0@12!&($<@2"!)("!*($L@3"!-
  415. XM($X@3R @4"!1(%(@4R!4(%4@5B!7(%@@62!: 0HT(# @," R-" P(# @," P
  416. XM+C P,# P(#0@,C(@-#DX(#0T(#0S.2!A(&(@8R!D(&4@(&8@9R!H("!I("!J
  417. XM(&L@(&P@(&T@;B!O(' @('$@<B!S("!T('4@('8@('<@>" @>2!Z 0HT(# @
  418. XM," R-" P(# @," P+C P,# P(#0@,C0@-#,S(#0T(#4Q-" A(" B(",@)" E
  419. XM("8@)R H("D@*B K("P@+2 N("\@," Q(#(@,R T(#4@-B W(#@@.0$*-" P
  420. XM(# @,C0@," P(# @,"XP,# P," T(#(Q(#$Q," T-" U.#0@.B [(#P@/2 ^
  421. XM(#\@0 $*-" P(# @,C0@," P(# @,"XP,# P," T(#(R(#$X,R R,3D@-3@T
  422. XM(%L@(%P@(%T@7B @(%\@(& @('L@?"!]('X!"BTV"C8@-#0@,SD@-C,T(#,P
  423. XM.0HT(# @,S(@,C0@," P(# @,"XP,# P," T(#(S(#4X-R T-" Y-"!!($(@
  424. XM0R!$($4@1B!'($@@22!*($L@3"!-($X@3R!0(%$@4B!3(%0@(%4@5B @5R!8
  425. XM(%D@6@$*-" P(# @,C0@," P(# @,"XP,# P," T(#(T(#0S,R T-" R,#0@
  426. XM(2 @(B C("0@)2 F("<@*" I("H@*R L("T@+B O(# @,2 R(#,@-" U(#8@
  427. XM-R X(#D!"C0@," S,B R-" P(# @," P+C P,# P(#0@,C(@-#,T(#0T(#(S
  428. XM.2 A("(@(R D("4@)B G("@@*2 J("L@+" M("X@+R P(#$@,B S(#0@-2 V
  429. XM(#<@." Y 0HT(# @," R-" P(# @," P+C P,# P(#0@,C(@-3@W(#0T(#8T
  430. XM($$@0B!#($0@12!&($<@2"!)("!*($L@3"!-($X@3R @4"!1(%(@4R!4(%4@
  431. XM5B!7(%@@62!: 0HT(# @,S(@,C0@," P(# @,"XP,# P," T(#(T(#4Q,2 T
  432. XM-" Q-C0@82!B(&,@9"!E(&8@9R!H(&D@:B!K(&P@;2 @;B!O(' @<2!R(',@
  433. XM="!U('8@=R!X('D@>@$*-" P(# @,C0@," P(# @,"XP,# P," T(#(R(#0Y
  434. XM." T-" Q,CD@82!B(&,@9"!E("!F(&<@:" @:2 @:B!K("!L("!M(&X@;R!P
  435. XM("!Q('(@<R @="!U("!V("!W('@@('D@>@$*-" P(# @,C0@," P(# @,"XP
  436. XM,# P," T(#(Q(#$Q," T-" R-S0@.B [(#P@/2 ^(#\@0 $*-" P(#,R(#(T
  437. XM(# @," P(# N,# P,# @-" R,2 Q,3 @-#0@,S Y(#H@.R \(#T@/B _($ !
  438. XM"C0@," P(#(T(# @," P(# N,# P,# @-" R,B Q.#,@,C$Y(#(W-"!;("!<
  439. XM("!=(%X@("!?("!@("![('P@?2!^ 0HT(# @,S(@,C0@," P(# @,"XP,# P
  440. XM," T(#(X(#$W.2 R,3D@,S Y(%L@7"!=(%X@(%\@8" @>R!\('T@?@$*+38*
  441. Xend
  442. END_OF_FILE
  443. if test 2320 -ne `wc -c <'Examples/greek.fig.uu'`; then
  444.     echo shar: \"'Examples/greek.fig.uu'\" unpacked with wrong size!
  445. fi
  446. # end of 'Examples/greek.fig.uu'
  447. fi
  448. if test -f 'Examples/logo.fig.uu' -a "${1}" != "-c" ; then 
  449.   echo shar: Will not clobber existing file \"'Examples/logo.fig.uu'\"
  450. else
  451. echo shar: Extracting \"'Examples/logo.fig.uu'\" \(1009 characters\)
  452. sed "s/^X//" >'Examples/logo.fig.uu' <<'END_OF_FILE'
  453. Xbegin 444 logo.fig
  454. XM(T9)1R`R+C$*.#`@,@HR(#4@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@DP
  455. XM(&QO9V\N97!S"@D@.#0@-C0@,C,Y(#8T(#(S.2`R,C0@.#0@,C(T(#@T(#8T
  456. XM(#DY.3D@.3DY.0HR(#0@,"`Q("TQ(#`@,"`P(#`N,#`P(#(X(#`@,`H)(#@Q
  457. XM.2`V,SD@.#$Y(#,Y(#4Y(#,Y(#4Y(#8S.2`X,3D@-C,Y(#DY.3D@.3DY.0HR
  458. XM(#$@,"`T("TQ(#`@,"`P(#`N,#`P(#`@,"`P"@D@,C<Y(#$S.2`W-SD@,3,Y
  459. XM(#DY.3D@.3DY.0HT(#`@,S0@,C0@,"`M,2`P(#`N,#`P(#0@,C`@-3(R(#(U
  460. XM.2`U.30@04)#1$5&1TA)2DM,34Y/4%%24U155E=865H!"C0@,"`S,B`R-"`P
  461. XM("TQ(#`@,"XP,#`@-"`Q,"`Q-38@,C4T(#4Q.2!!0D-$149'2$E*2TQ-3D]0
  462. XM45)35%565UA96@$*-"`P(#,S(#(T(#`@+3$@,"`P+C`P,"`T(#(R(#(X-R`R
  463. XM-30@-#,Y($AA9"!T:&ES($)E96X@82!296%L(%9I97=G<F%P:`$*-"`P(#(V
  464. XM(#(T(#`@+3$@,"`P+C`P,"`T(#(S(#(Q,"`R-#D@,S<T($ET(&ES(&]N;'D@
  465. XM82!415-4`0HT(#`@,3@@,C0@,"`M,2`P(#`N,#`P(#0@,3D@,34S(#(T-"`R
  466. XM.3D@5&AI<R!I<R!A(%1E<W0!"C0@,"`R(#$T(#`@+3$@,"`P+C`P,"`T(#$P
  467. XM(#$T-"`R.30@,3(U($)%($%,3"!93U4@0T%.($)%`0HT(#`@,B`Q."`P("TQ
  468. XM(#`@,"XP,#`@-"`Q,R`Y,"`V-#D@,38P($=/($%235D!"C0@,"`R(#$X(#`@
  469. XG+3$@,"`P+C`P,"`T(#$S(#$P-R`V,S0@,3,P($)%050@3D%660$*
  470. X`
  471. Xend
  472. END_OF_FILE
  473. if test 1009 -ne `wc -c <'Examples/logo.fig.uu'`; then
  474.     echo shar: \"'Examples/logo.fig.uu'\" unpacked with wrong size!
  475. fi
  476. # end of 'Examples/logo.fig.uu'
  477. fi
  478. if test -f 'Examples/window1.fig.uu' -a "${1}" != "-c" ; then 
  479.   echo shar: Will not clobber existing file \"'Examples/window1.fig.uu'\"
  480. else
  481. echo shar: Extracting \"'Examples/window1.fig.uu'\" \(1782 characters\)
  482. sed "s/^X//" >'Examples/window1.fig.uu' <<'END_OF_FILE'
  483. Xbegin 444 window1.fig
  484. XM(T9)1R`R+C$*.#`@,@HU(#$@,"`Q("TQ(#`@,"`P(#`N,#`P(#`@,2`P(#$P
  485. XM,BXW-3`@,C8Q+C4P,"`Q-S0@,C<Y(#$U-"`S,30@,3$T(#,S-`H),"`P(#$N
  486. XM,#`P(#0N,#`P(#@N,#`P"C4@,2`P(#$@+3$@,"`P(#`@,"XP,#`@,"`Q(#`@
  487. XM.#@N.#@V(#$Y-2XQ,S8@.#D@,3,T(#$R.2`Q-#D@,30Y(#$X-`H),"`P(#$N
  488. XM,#`P(#0N,#`P(#@N,#`P"C(@,2`P(#(@+3$@,"`P(#`@,"XP,#`@,"`P(#`*
  489. XM"2`R,#D@,C<Y(#(T.2`R-SD@.3DY.2`Y.3DY"C(@,2`P(#(@+3$@,"`P(#`@
  490. XM,"XP,#`@,"`P(#`*"2`Q-S0@,C`Y(#$S-"`R,#D@.3DY.2`Y.3DY"C(@,R`P
  491. XM(#(@+3$@,"`P(#$Q(#`N,#`P(#`@,"`P"@D@,3,T(#<Y(#$S-"`Q,SD@,C4T
  492. XM(#$S.2`R-30@-C0@,C0U(#8S(#(S,R`V-B`R,C8@-C,@,C(Q(#4Y"@D@,C$U
  493. XM(#8Q(#(Q,"`V-"`R,#`@-CD@,3DQ(#8Y(#$X-B`V,R`Q-S$@-3D@,38R(#8P
  494. XM(#$U."`V-0H)(#$U,"`W,"`Q-#8@-C@@,3,Y(#<P(#$S-R`W-"`Q,S0@-SD@
  495. XM.3DY.2`Y.3DY"C(@,B`P(#(@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q.#0@
  496. XM,3,Y(#$X-"`Q-#0@,3DY(#$T-"`Q.3D@,3,Y(#$X-"`Q,SD@.3DY.2`Y.3DY
  497. XM"C(@,B`P(#(@+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q.#0@,S,T(#$X-"`S
  498. XM,SD@,3DY(#,S.2`Q.3D@,S,T(#$X-"`S,S0@.3DY.2`Y.3DY"C(@,B`P(#$@
  499. XM+3$@,"`P(#`@,"XP,#`@,"`P(#`*"2`Q.#D@,S,T(#$X.2`Q-#0@,3DT(#$T
  500. XM-"`Q.30@,S,T(#$X.2`S,S0@.3DY.2`Y.3DY"C(@,R`P(#(@+3$@,"`P(#$Q
  501. XM(#`N,#`P(#`@,"`P"@D@,3,T(#,Y.2`Q,S0@,S,Y(#(U-"`S,SD@,C4T(#0Q
  502. XM-"`R-#4@-#$U(#(S-"`T,#0@,C(Y(#0P.2`R,C0@-#`T"@D@,C$T(#0P.2`R
  503. XM,#0@-#`T(#(P,"`T,#D@,3DQ(#0P.2`Q.#8@-#$U(#$W,2`T,3D@,38R(#0Q
  504. XM."`Q-3@@-#$S"@D@,34P(#0P."`Q-#8@-#$P(#$S.2`T,#@@,3,W(#0P-"`Q
  505. XM,S0@,SDY(#DY.3D@.3DY.0HS(#`@,"`R("TQ(#`@,"`P(#`N,#`P(#`@,`H)
  506. XM(#$W-"`R,#D@,3@T(#(P.2`Q.#D@,C(T(#$X.2`R-#,@,3DT(#(T-R`Q.3,@
  507. XM,C8U(#$Y.2`R-SD@,C`Y(#(W.2`Y.3DY(#DY.3D*-"`P(#`@,3`@,"`M,2`P
  508. XM(#`N,#`P(#0@-2`U(#(S,2`R-S8@;P$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P
  509. XM(#0@.2`W(#(R-"`R-S0@5`$*-"`P(#`@,3`@,"`M,2`P(#`N,#`P(#0@-R`S
  510. XM(#$U,2`R,C@@:0$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@.2`W(#$T-"`R
  511. XM,C0@5`$*-"`P(#`@,3(@,"`M,2`P(#`N,#`P(#0@,3(@-#<@,3<T(#0W.2!C
  512. X+<F%C:RYF:6<S`0H@
  513. X`
  514. Xend
  515. END_OF_FILE
  516. if test 1782 -ne `wc -c <'Examples/window1.fig.uu'`; then
  517.     echo shar: \"'Examples/window1.fig.uu'\" unpacked with wrong size!
  518. fi
  519. # end of 'Examples/window1.fig.uu'
  520. fi
  521. if test -f 'Fig.ad' -a "${1}" != "-c" ; then 
  522.   echo shar: Will not clobber existing file \"'Fig.ad'\"
  523. else
  524. echo shar: Extracting \"'Fig.ad'\" \(2392 characters\)
  525. sed "s/^X//" >'Fig.ad' <<'END_OF_FILE'
  526. X! some sample settings you may want to change
  527. X
  528. XFig.internalborderwidth:    2
  529. XFig.geometry:            +0+0
  530. XFig.iconX:            +0
  531. XFig.iconY:            -0
  532. X! the following should fix the problem that some have had with
  533. X! their window manager fighting with xfig over the geometry
  534. XFig*allowShellResize:        False
  535. X! pick a nice font for the popup edit window for text objects
  536. XFig*Text =*font:        -*-times-medium-r-normal--14-*
  537. X! filename mask for the file popup browser
  538. XFig*file_panel*mask*string:    *.fig
  539. X! filename mask for the export popup browser
  540. XFig*export_panel*mask*string:    *ps
  541. X! printer name
  542. X! If the following resource is NOT set, xfig will use the PRINTER 
  543. X! shell environment variable for the printer name
  544. X!Fig*printer*string:        ps
  545. X
  546. X! make the F20 key paste text in the canvas
  547. XFig*translations: #override \n\
  548. X            <Key>F20: PasteCanv()\n
  549. X
  550. X! Specify a private Compose key database file.  If this resource contains a "/"
  551. X! then the wired-in name of the xfig global directory won't be prefixed to it.
  552. X! An initial "~/" is replaced by the value of "$HOME/".
  553. X!
  554. X!Fig*ComposeKeyDB:    ~/.xfig.Compose-key
  555. X
  556. X! let's make these buttons oval in the edit panel
  557. XFig.xfig_edit_panel*done.label:        Done
  558. XFig.xfig_edit_panel*done.ShapeStyle:    oval
  559. XFig.xfig_edit_panel*apply.label:    Apply
  560. XFig.xfig_edit_panel*apply.ShapeStyle:    oval
  561. XFig.xfig_edit_panel*cancel.label:    Cancel
  562. XFig.xfig_edit_panel*cancel.ShapeStyle:    oval
  563. X
  564. X! keyboard accelerators
  565. X
  566. XFig*accelerators: \
  567. X    Meta<Key>s: SaveFile()\n\
  568. X    Meta<Key>l: LoadFile()\n
  569. X
  570. XFig*quit*accelerators: \
  571. X    Meta<Key>q: quit()\n
  572. XFig*delete_all*accelerators: \
  573. X    Meta<Key>d: delete_all()\n
  574. XFig*undo*accelerators: \
  575. X    Meta<Key>u: undo()\n
  576. XFig*redraw*accelerators: \
  577. X    Meta<Key>r: redraw()\n
  578. XFig*paste*accelerators: \
  579. X    Meta<Key>t: paste()\n
  580. XFig*file*accelerators: \
  581. X    Meta<Key>f: file()\n
  582. X
  583. XFig*xfig_file_menu*accelerators: \
  584. X    Meta<Key>c: cancel()\n\
  585. X    Meta<Key>l: load()\n\
  586. X    Meta<Key>m: merge()\n\
  587. X    Meta<Key>r: rescan()\n\
  588. X    Meta<Key>s: save()\n
  589. XFig*export*accelerators: \
  590. X    Meta<Key>e: export()\n
  591. XFig*xfig_export_menu*accelerators: \
  592. X    Meta<Key>c: cancel()\n\
  593. X    Meta<Key>e: export()\n\
  594. X    Meta<Key>r: rescan()\n
  595. XFig*print*accelerators: \
  596. X    Meta<Key>p: print()\n
  597. XFig*xfig_print_menu*accelerators: \
  598. X    Meta<Key>d: dismiss()\n\
  599. X    Meta<Key>b: print_batch()\n\
  600. X    Meta<Key>x: clear_batch()\n\
  601. X    <Key>Return: print()\n\
  602. X    Meta<Key>p: print()\n
  603. XFig*xfig_set_unit_panel*accelerators: \
  604. X    Meta<Key>c: QuitUnits()\n\
  605. X    Meta<Key>s: SetUnits()\n
  606. END_OF_FILE
  607. if test 2392 -ne `wc -c <'Fig.ad'`; then
  608.     echo shar: \"'Fig.ad'\" unpacked with wrong size!
  609. fi
  610. # end of 'Fig.ad'
  611. fi
  612. if test -f 'README' -a "${1}" != "-c" ; then 
  613.   echo shar: Will not clobber existing file \"'README'\"
  614. else
  615. echo shar: Extracting \"'README'\" \(7685 characters\)
  616. sed "s/^X//" >'README' <<'END_OF_FILE'
  617. X===============================================================
  618. XXFIG - Facility for Interactive Generation of figures under X11
  619. X===============================================================
  620. X
  621. X
  622. XXfig is a menu-driven tool that allows the user to draw and manipulate objects
  623. Xinteractively in an X window.  The resulting pictures can be saved, printed
  624. Xon postscript printers or converted to a variety of other formats (e.g. to
  625. Xallow inclusion in LaTeX documents).
  626. X
  627. XThis file contains some notes about installing xfig, the directory
  628. X'Examples' contains some example figures and the 'Doc' directory contains
  629. Xsome further documentation including the manual in troff -man format.
  630. X
  631. XPlease report any bugs, fixes, contributions, etc. to:
  632. X
  633. XBrian V. Smith (bvsmith@lbl.gov)
  634. X
  635. X
  636. X===================
  637. XINSTALLATION NOTES:
  638. X===================
  639. X
  640. X1. Edit the Imakefile if you need to customize it (see following notes)
  641. X2. Type "make Makefile" or "xmkmf" if you have xmkmf
  642. X3. Type "make install" (if you don't do this step, be sure to install resources)
  643. X4. Type "make install.man"
  644. X5. For X11R5 color implementations, specify "*customization: -color" in your 
  645. X    .Xdefaults or .Xresources file.
  646. X    NOTE: this only works under X11R5.
  647. X
  648. XIf your system doesn't have the signal SIGBUS, add the flag -DNO_SIBGUS in the
  649. X   Imakefile DEFINES line.
  650. XIf your system doesn't have strstr(), add the flag -DNOSTRSTR in the Imakefile
  651. X   in the DEFINES line.
  652. XIf your system doesn't have strtol(), add the flag -DNOSTRTOL in the Imakefile
  653. X   in the DEFINES line.
  654. XIf you are running on an IBM RS/6000 with AIX 3.2, add the flag -DDPS in the
  655. X   Imakefile and uncomment the line that says 
  656. X    LOCAL_LIBRARIES = -ldps XawClientLibs
  657. X   and you will see the full PostScript object when using EPS objects.
  658. XThe maximum width of the top ruler is set to 1020 pixels and the height of the
  659. Xside ruler to 860 pixels.  If your server can handle pixmaps larger than this
  660. Xand you need longer/taller rulers, you may set the maximum allowed in your
  661. XImakefile with -DMAX_TOPRULER_WD=1160 (or whatever value you wish) and 
  662. X-DMAX_SIDERULER_HT=1024 (or whatever value you wish).
  663. X
  664. XThe SMOOTHMOTION option toggles between two methods for tracking the
  665. Xcursor.  The first way (SMOOTHMOTION) just uses the (x,y) information given
  666. Xin the X pointer motion event.  If your display server doesn't implement
  667. Xmotion compression this is very slow for large movements of the mouse
  668. Xpointer because X sends back lots of small movement events, each of which
  669. Xcauses the rubberband box to be erased and redrawn.  The alternative
  670. Xway (not SMOOTHMOTION) queries the position of the X cursor whenever
  671. Xa motion event is received and if you make a large movement and then
  672. Xstop actually turns out to involve less work even though the XQueryPointer
  673. Xcall is quite slow.
  674. XThe SMOOTHMOTION method is also automatically used for OpenWindows (when the
  675. X-DOPENWIN flag is used in the Imakefile DEFINES line).
  676. X
  677. X----------------------
  678. XPrinting your figures:
  679. X----------------------
  680. X
  681. XThe program to translate your figure into one of many printer languages
  682. X(Postscript, LaTex, etc) is called fig2dev and is part of the TransFig
  683. Xpackage by Micah Beck.
  684. XIt is available from export.lcs.mit.edu in /contrib/transfig.tar.Z or
  685. Xftp.cs.cornell.edu in the directory /pub/fig.
  686. XSee the man pages for more information.
  687. X
  688. X-----------------
  689. XOpenWindows users
  690. X-----------------
  691. X
  692. XOpenwindows has scalable fonts so xfig must be compiled with the -DOPENWIN
  693. Xflag in order to handle this.  Also, there is a difference in the way the
  694. Xpointer position is queried for OpenWindows.  See the SMOOTHMOTION description.
  695. X
  696. XThere is also a bug in OpenWindows 2.0 which relates to pixmaps in widgets.
  697. XYou must compile xfig with the -DOPENWIN_BUG option in the Imakefile DEFINES
  698. Xline for this problem.
  699. X
  700. X----------------------------------------------
  701. XPossible problems encountered installing xfig:
  702. X----------------------------------------------
  703. X
  704. XPROBLEM:
  705. X    On a DEC Alpha the compiler may complain about something like: ".mask
  706. X    must have pcreg from .frame set if any bits are set in .mask or .fmask"
  707. X    in the file u_bound.c.
  708. X
  709. XPOSSIBLE CAUSE AND SOLUTION:
  710. X    Set the optimization level to -O1 at least for that file.
  711. X________________________________________________________________________________
  712. XPROBLEM:
  713. X    On Sun machines the linker may give erroneous error messages about 
  714. X    the following symbols being undefined:
  715. X
  716. X    ld: Undefined symbol
  717. X       _get_applicationShellWidgetClass
  718. X       _get_wmShellWidgetClass
  719. X
  720. X    This may be ignored as it is a problem with the Sun shared libraries
  721. X    and the way X11 builds the shared Xmu library.  It doesn't affect the
  722. X    operation of xfig.
  723. X________________________________________________________________________________
  724. XPROBLEM:
  725. X    The window oscillates and fights with the window manager when
  726. X    I click on a mode button or try to resize the xfig window.
  727. X
  728. XPOSSIBLE CAUSE AND SOLUTION:
  729. X     Perhaps the following resource has been set
  730. X         *allowShellResize: true
  731. X    because another program requires it to be true.
  732. X    Change the resource to be specific to the programs which need it,
  733. X    or set the following resource:
  734. X         Fig*allowShellResize: false
  735. X    Note: this is in the Fig.ad file that comes with xfig, which is 
  736. X          installed when you do a "make install".
  737. X________________________________________________________________________________
  738. XPROBLEM:
  739. X    Openwindows sometimes loses track of xfig's icon.
  740. X
  741. XPOSSIBLE CAUSE AND SOLUTION:
  742. X    Cause unknown, here is a temporary kludge. Place the line:
  743. X        Fig*iconPixmap:               ..../your_lib_area/fig.icon.X
  744. X    in your .Xdefaults file and copy fig.icon.X into your lib area.
  745. X________________________________________________________________________________
  746. XPROBLEM:
  747. X    I can't seem to get a single xfig binary to work under both
  748. X    openwindows and standard X.
  749. X
  750. XPOSSIBLE CAUSE AND SOLUTION:
  751. X    You can compile xfig so that it knows about openwindows fonts
  752. X    but then it won't work under standard X.  If you want a single
  753. X    binary, compile with -DOPENWIN_BUG but not -DOPENWIN.  This
  754. X    will work on both systems but you won't be able to access the
  755. X    openwindows fonts.
  756. X________________________________________________________________________________
  757. XPROBLEM:
  758. X    When compiling on an HP 750 running HP-UX 8.05, the compiler dies with
  759. X    a bus error in the file u_undo.c.
  760. X
  761. XPOSSIBLE CAUSE AND SOLUTION:
  762. X    There is a bug in the HP compiler.  Workaround the problem by adding
  763. X    an extra statement between two statements in u_undo.c:
  764. X
  765. X    Original:
  766. X
  767. X    undo_glue()
  768. X    {
  769. X        list_delete_compound(&objects.compounds, saved_objects.compounds);
  770. X        tail(&objects, &object_tails);
  771. X
  772. X    New:
  773. X
  774. X    undo_glue()
  775. X    {
  776. X        list_delete_compound(&objects.compounds, saved_objects.compounds);
  777. X>>>        /* HP-UX 8.05 compiler bug fix -- don't ask */
  778. X>>>        last_action = last_action;
  779. X        tail(&objects, &object_tails);
  780. X________________________________________________________________________________
  781. XPROBLEMS:
  782. X    o Ellipses are rotated in the wrong direction when printing.
  783. X
  784. X    o When exporting a figure to Encapsulated Postscript, it always
  785. X      comes out in Portrait mode even if you select Landscape.
  786. X
  787. X    o When batching together several figures and printing as one file, 
  788. X      only the first one prints.
  789. X
  790. XPOSSIBLE CAUSE AND SOLUTION:
  791. X    Get the newest version of TransFig (version 2.1.5 or later).
  792. X________________________________________________________________________________
  793. XPROBLEMS:
  794. X    On HP machines, the capitalization of some letters in the text window 
  795. X    in the edit popup for text objects are wrong.
  796. X
  797. XPOSSIBLE CAUSE AND SOLUTION:
  798. X    Make sure that the CompKeyDB file has the lowercase letter definitions
  799. X    BEFORE the uppercase definitions.  This should be the case for the 
  800. X    CompKeyDB file shipped with xfig 2.1.5 and later.
  801. END_OF_FILE
  802. if test 7685 -ne `wc -c <'README'`; then
  803.     echo shar: \"'README'\" unpacked with wrong size!
  804. fi
  805. # end of 'README'
  806. fi
  807. if test -f 'e_break.c' -a "${1}" != "-c" ; then 
  808.   echo shar: Will not clobber existing file \"'e_break.c'\"
  809. else
  810. echo shar: Extracting \"'e_break.c'\" \(2208 characters\)
  811. sed "s/^X//" >'e_break.c' <<'END_OF_FILE'
  812. X/*
  813. X * FIG : Facility for Interactive Generation of figures
  814. X * Copyright (c) 1985 by Supoj Sutanthavibul
  815. X *
  816. X * "Permission to use, copy, modify, distribute, and sell this software and its
  817. X * documentation for any purpose is hereby granted without fee, provided that
  818. X * the above copyright notice appear in all copies and that both the copyright
  819. X * notice and this permission notice appear in supporting documentation. 
  820. X * No representations are made about the suitability of this software for 
  821. X * any purpose.  It is provided "as is" without express or implied warranty."
  822. X */
  823. X
  824. X#include "fig.h"
  825. X#include "resources.h"
  826. X#include "mode.h"
  827. X#include "object.h"
  828. X#include "paintop.h"
  829. X#include "u_search.h"
  830. X#include "u_list.h"
  831. X#include "u_undo.h"
  832. X#include "w_canvas.h"
  833. X#include "w_mousefun.h"
  834. X
  835. Xstatic int    init_break(), init_break_only(), init_break_tag();
  836. X
  837. Xbreak_selected()
  838. X{
  839. X    set_mousefun("break compound", "break and tag", "");
  840. X    canvas_kbd_proc = null_proc;
  841. X    canvas_locmove_proc = null_proc;
  842. X    init_searchproc_left(init_break_only);
  843. X    init_searchproc_middle(init_break_tag);
  844. X    canvas_leftbut_proc = object_search_left;
  845. X    canvas_middlebut_proc = object_search_middle;
  846. X    canvas_rightbut_proc = null_proc;
  847. X    set_cursor(pick15_cursor);
  848. X}
  849. X
  850. Xstatic
  851. Xinit_break_only(p, type, x, y, px, py, loc_tag)
  852. X    char       *p;
  853. X    int            type;
  854. X    int            x, y;
  855. X    int            px, py;
  856. X    int         loc_tag;
  857. X{
  858. X    init_break(p, type, x, y, px, py, 0);
  859. X}
  860. X
  861. Xstatic
  862. Xinit_break_tag(p, type, x, y, px, py, loc_tag)
  863. X    char       *p;
  864. X    int            type;
  865. X    int            x, y;
  866. X    int            px, py;
  867. X    int         loc_tag;
  868. X{
  869. X    init_break(p, type, x, y, px, py, 1);
  870. X}
  871. X
  872. Xstatic
  873. Xinit_break(p, type, x, y, px, py, loc_tag)
  874. X    char       *p;
  875. X    int            type;
  876. X    int            x, y;
  877. X    int            px, py;
  878. X    int         loc_tag;
  879. X{
  880. X    if (type != O_COMPOUND)
  881. X    return;
  882. X
  883. X    cur_c = (F_compound *) p;
  884. X    mask_toggle_compoundmarker(cur_c);
  885. X    clean_up();
  886. X    list_delete_compound(&objects.compounds, cur_c);
  887. X    tail(&objects, &object_tails);
  888. X    append_objects(&objects, cur_c, &object_tails);
  889. X    toggle_markers_in_compound(cur_c);
  890. X    set_tags(cur_c, loc_tag);
  891. X    set_action(F_BREAK);
  892. X    set_latestcompound(cur_c);
  893. X    set_modifiedflag();
  894. X}
  895. END_OF_FILE
  896. if test 2208 -ne `wc -c <'e_break.c'`; then
  897.     echo shar: \"'e_break.c'\" unpacked with wrong size!
  898. fi
  899. # end of 'e_break.c'
  900. fi
  901. if test -f 'figx.h' -a "${1}" != "-c" ; then 
  902.   echo shar: Will not clobber existing file \"'figx.h'\"
  903. else
  904. echo shar: Extracting \"'figx.h'\" \(1130 characters\)
  905. sed "s/^X//" >'figx.h' <<'END_OF_FILE'
  906. X/*
  907. X * FIG : Facility for Interactive Generation of figures
  908. X * Copyright (c) 1985 by Supoj Sutanthavibul
  909. X *
  910. X * "Permission to use, copy, modify, distribute, and sell this software and its
  911. X * documentation for any purpose is hereby granted without fee, provided that
  912. X * the above copyright notice appear in all copies and that both the copyright
  913. X * notice and this permission notice appear in supporting documentation. 
  914. X * No representations are made about the suitability of this software for 
  915. X * any purpose.  It is provided "as is" without express or implied warranty."
  916. X */
  917. X
  918. X#include <X11/cursorfont.h>
  919. X#include <X11/StringDefs.h>
  920. X#include <X11/Shell.h>
  921. X#include <X11/Xatom.h>
  922. X
  923. X#include <X11/Xaw/Command.h>
  924. X#include <X11/Xaw/Label.h>
  925. X#include <X11/Xaw/Dialog.h>
  926. X#include <X11/Xaw/Box.h>
  927. X#include <X11/Xaw/Form.h>
  928. X#include <X11/Xaw/Cardinals.h>
  929. X#include <X11/Xaw/Text.h>
  930. X#include <X11/Xaw/AsciiText.h>
  931. X#include <X11/Xaw/MenuButton.h>
  932. X#include <X11/Xaw/SimpleMenu.h>
  933. X#include <X11/Xaw/Sme.h>
  934. X#include <X11/Xaw/SmeBSB.h>
  935. X#include <X11/Xaw/Toggle.h>
  936. X#include <X11/Xaw/Paned.h>
  937. X#include <X11/Xaw/Viewport.h>
  938. X#include <X11/Xaw/List.h>
  939. END_OF_FILE
  940. if test 1130 -ne `wc -c <'figx.h'`; then
  941.     echo shar: \"'figx.h'\" unpacked with wrong size!
  942. fi
  943. # end of 'figx.h'
  944. fi
  945. if test -f 'object.c' -a "${1}" != "-c" ; then 
  946.   echo shar: Will not clobber existing file \"'object.c'\"
  947. else
  948. echo shar: Extracting \"'object.c'\" \(1847 characters\)
  949. sed "s/^X//" >'object.c' <<'END_OF_FILE'
  950. X/*
  951. X * FIG : Facility for Interactive Generation of figures
  952. X * Copyright (c) 1985 by Supoj Sutanthavibul
  953. X *
  954. X * "Permission to use, copy, modify, distribute, and sell this software and its
  955. X * documentation for any purpose is hereby granted without fee, provided that
  956. X * the above copyright notice appear in all copies and that both the copyright
  957. X * notice and this permission notice appear in supporting documentation. 
  958. X * No representations are made about the suitability of this software for 
  959. X * any purpose.  It is provided "as is" without express or implied warranty."
  960. X */
  961. X
  962. X#include "fig.h"
  963. X#include "mode.h"
  964. X#include "resources.h"
  965. X#include "object.h"
  966. X#include "paintop.h"
  967. X
  968. X/************************  Objects  **********************/
  969. X
  970. XF_compound    objects = {0, { 0, 0 }, { 0, 0 }, 
  971. X                NULL, NULL, NULL, NULL, NULL, NULL, NULL};
  972. X
  973. X/************  global object pointers ************/
  974. X
  975. XF_line           *cur_l, *new_l, *old_l;
  976. XF_arc           *cur_a, *new_a, *old_a;
  977. XF_ellipse      *cur_e, *new_e, *old_e;
  978. XF_text           *cur_t, *new_t, *old_t;
  979. XF_spline       *cur_s, *new_s, *old_s;
  980. XF_compound     *cur_c, *new_c, *old_c;
  981. XF_point           *first_point, *cur_point;
  982. XF_linkinfo     *cur_links;
  983. X
  984. X/*************** object attribute settings ***********/
  985. X
  986. X/*  Lines  */
  987. Xint        cur_linewidth = 1;
  988. Xint        cur_linestyle = SOLID_LINE;
  989. Xfloat        cur_dashlength = DEF_DASHLENGTH;
  990. Xfloat        cur_dotgap = DEF_DOTGAP;
  991. Xfloat        cur_styleval = 0.0;
  992. Xint        pen_size = 0;
  993. Xint        pen_type = 0;
  994. XColor        cur_color = DEFAULT_COLOR;
  995. Xint        cur_boxradius = DEF_BOXRADIUS;
  996. Xint        cur_fillstyle = 0;
  997. Xint        cur_arrowmode = L_NOARROWS;
  998. Xchar        EMPTY_EPS[8] = "<empty>";
  999. X
  1000. X/* Text */
  1001. Xint        cur_fontsize;    /* font size */
  1002. Xint        cur_latex_font = 0;
  1003. Xint        cur_ps_font = 0;
  1004. Xint        cur_textjust = T_LEFT_JUSTIFIED;
  1005. Xint        cur_textflags = PSFONT_TEXT;
  1006. X
  1007. X/* Misc */
  1008. Xfloat        cur_elltextangle = 0.0;    /* text/ellipse input angle */
  1009. END_OF_FILE
  1010. if test 1847 -ne `wc -c <'object.c'`; then
  1011.     echo shar: \"'object.c'\" unpacked with wrong size!
  1012. fi
  1013. # end of 'object.c'
  1014. fi
  1015. if test -f 'paintop.h' -a "${1}" != "-c" ; then 
  1016.   echo shar: Will not clobber existing file \"'paintop.h'\"
  1017. else
  1018. echo shar: Extracting \"'paintop.h'\" \(727 characters\)
  1019. sed "s/^X//" >'paintop.h' <<'END_OF_FILE'
  1020. X/*
  1021. X * FIG : Facility for Interactive Generation of figures
  1022. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1023. X *
  1024. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1025. X * documentation for any purpose is hereby granted without fee, provided that
  1026. X * the above copyright notice appear in all copies and that both the copyright
  1027. X * notice and this permission notice appear in supporting documentation. 
  1028. X * No representations are made about the suitability of this software for 
  1029. X * any purpose.  It is provided "as is" without express or implied warranty."
  1030. X */
  1031. X
  1032. X#define INV_PAINT    0
  1033. X#define MERGE        1
  1034. X#define PAINT        2
  1035. X#define ERASE        3
  1036. X
  1037. X#define NUMOPS        4
  1038. X
  1039. X#define DRAW        1
  1040. X#define UNDRAW        0
  1041. X
  1042. X#define DEFAULT_COLOR    -1
  1043. END_OF_FILE
  1044. if test 727 -ne `wc -c <'paintop.h'`; then
  1045.     echo shar: \"'paintop.h'\" unpacked with wrong size!
  1046. fi
  1047. # end of 'paintop.h'
  1048. fi
  1049. if test -f 'patchlevel.h' -a "${1}" != "-c" ; then 
  1050.   echo shar: Will not clobber existing file \"'patchlevel.h'\"
  1051. else
  1052. echo shar: Extracting \"'patchlevel.h'\" \(599 characters\)
  1053. sed "s/^X//" >'patchlevel.h' <<'END_OF_FILE'
  1054. X/*
  1055. X * FIG : Facility for Interactive Generation of figures
  1056. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1057. X *
  1058. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1059. X * documentation for any purpose is hereby granted without fee, provided that
  1060. X * the above copyright notice appear in all copies and that both the copyright
  1061. X * notice and this permission notice appear in supporting documentation. 
  1062. X * No representations are made about the suitability of this software for 
  1063. X * any purpose.  It is provided "as is" without express or implied warranty."
  1064. X */
  1065. X
  1066. X#define PATCHLEVEL "7"
  1067. END_OF_FILE
  1068. if test 599 -ne `wc -c <'patchlevel.h'`; then
  1069.     echo shar: \"'patchlevel.h'\" unpacked with wrong size!
  1070. fi
  1071. # end of 'patchlevel.h'
  1072. fi
  1073. if test -f 'resources.c' -a "${1}" != "-c" ; then 
  1074.   echo shar: Will not clobber existing file \"'resources.c'\"
  1075. else
  1076. echo shar: Extracting \"'resources.c'\" \(2164 characters\)
  1077. sed "s/^X//" >'resources.c' <<'END_OF_FILE'
  1078. X/*
  1079. X * FIG : Facility for Interactive Generation of figures
  1080. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1081. X *
  1082. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1083. X * documentation for any purpose is hereby granted without fee, provided that
  1084. X * the above copyright notice appear in all copies and that both the copyright
  1085. X * notice and this permission notice appear in supporting documentation. 
  1086. X * No representations are made about the suitability of this software for 
  1087. X * any purpose.  It is provided "as is" without express or implied warranty."
  1088. X */
  1089. X
  1090. X#include "fig.h"
  1091. X#include "resources.h"
  1092. X
  1093. Xchar           *colorNames[] = {"Default", "Black", "Blue", "Green", "Cyan",
  1094. X                "Red", "Magenta", "Yellow", "White"};
  1095. XBoolean        all_colors_available;
  1096. X
  1097. XappresStruct    appres;
  1098. XWindow        canvas_win, msg_win, sideruler_win, topruler_win;
  1099. X
  1100. XCursor        cur_cursor;
  1101. XCursor        arrow_cursor, bull_cursor, buster_cursor, crosshair_cursor,
  1102. X        null_cursor, pencil_cursor, pick15_cursor, pick9_cursor,
  1103. X        panel_cursor, l_arrow_cursor, lr_arrow_cursor, r_arrow_cursor,
  1104. X        u_arrow_cursor, ud_arrow_cursor, d_arrow_cursor, wait_cursor;
  1105. X
  1106. XTOOL        tool;
  1107. XXtAppContext    tool_app;
  1108. X
  1109. XTOOLSW        canvas_sw, ps_fontmenu, /* printer font menu tool */
  1110. X        latex_fontmenu, /* printer font menu tool */
  1111. X        msg_form, msg_panel, name_panel, cmd_panel, mode_panel, 
  1112. X        d_label, e_label, mousefun,
  1113. X        ind_viewp, ind_panel,    /* indicator panel */
  1114. X        unitbox_sw, sideruler_sw, topruler_sw;
  1115. X
  1116. XDisplay           *tool_d;
  1117. XScreen           *tool_s;
  1118. Xint        tool_sn;
  1119. X
  1120. XGC        gc, bold_gc, button_gc, ind_button_gc, color_gc, mouse_button_gc,
  1121. X        blank_gc, ind_blank_gc, mouse_blank_gc, gccache[NUMOPS],
  1122. X        fillgc, fill_gc[NUMFILLPATS],    /* fill style gc's */
  1123. X        black_fill_gc[NUMFILLPATS],
  1124. X        un_fill_gc[NUMFILLPATS],    /* unfill gc's */
  1125. X        black_un_fill_gc[NUMFILLPATS],
  1126. X        tr_gc, tr_xor_gc, tr_erase_gc,    /* for the rulers */
  1127. X        sr_gc, sr_xor_gc, sr_erase_gc;
  1128. X
  1129. XPixmap        fill_pm[NUMFILLPATS];
  1130. XXColor        x_fg_color, x_bg_color;
  1131. XBoolean        writing_bitmap;
  1132. Xunsigned long    but_fg, but_bg;
  1133. Xunsigned long    ind_but_fg, ind_but_bg;
  1134. Xunsigned long    mouse_but_fg, mouse_but_bg;
  1135. X
  1136. X/* will be filled in with environment variable XFIGTMPDIR */
  1137. Xchar           *TMPDIR;
  1138. END_OF_FILE
  1139. if test 2164 -ne `wc -c <'resources.c'`; then
  1140.     echo shar: \"'resources.c'\" unpacked with wrong size!
  1141. fi
  1142. # end of 'resources.c'
  1143. fi
  1144. if test -f 'u_bound.h' -a "${1}" != "-c" ; then 
  1145.   echo shar: Will not clobber existing file \"'u_bound.h'\"
  1146. else
  1147. echo shar: Extracting \"'u_bound.h'\" \(602 characters\)
  1148. sed "s/^X//" >'u_bound.h' <<'END_OF_FILE'
  1149. X/*
  1150. X * FIG : Facility for Interactive Generation of figures
  1151. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1152. X *
  1153. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1154. X * documentation for any purpose is hereby granted without fee, provided that
  1155. X * the above copyright notice appear in all copies and that both the copyright
  1156. X * notice and this permission notice appear in supporting documentation. 
  1157. X * No representations are made about the suitability of this software for 
  1158. X * any purpose.  It is provided "as is" without express or implied warranty."
  1159. X */
  1160. X
  1161. Xextern int    overlapping();
  1162. END_OF_FILE
  1163. if test 602 -ne `wc -c <'u_bound.h'`; then
  1164.     echo shar: \"'u_bound.h'\" unpacked with wrong size!
  1165. fi
  1166. # end of 'u_bound.h'
  1167. fi
  1168. if test -f 'u_create.h' -a "${1}" != "-c" ; then 
  1169.   echo shar: Will not clobber existing file \"'u_create.h'\"
  1170. else
  1171. echo shar: Extracting \"'u_create.h'\" \(1251 characters\)
  1172. sed "s/^X//" >'u_create.h' <<'END_OF_FILE'
  1173. X/*
  1174. X * FIG : Facility for Interactive Generation of figures
  1175. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1176. X *
  1177. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1178. X * documentation for any purpose is hereby granted without fee, provided that
  1179. X * the above copyright notice appear in all copies and that both the copyright
  1180. X * notice and this permission notice appear in supporting documentation. 
  1181. X * No representations are made about the suitability of this software for 
  1182. X * any purpose.  It is provided "as is" without express or implied warranty."
  1183. X */
  1184. X
  1185. Xextern F_arc   *create_arc();
  1186. Xextern F_ellipse *create_ellipse();
  1187. Xextern F_line  *create_line();
  1188. Xextern F_spline *create_spline();
  1189. Xextern F_text  *create_text();
  1190. Xextern F_compound *create_compound();
  1191. Xextern F_eps   *create_eps();
  1192. Xextern F_point *create_point();
  1193. Xextern F_control *create_cpoint();
  1194. X
  1195. Xextern F_arc   *copy_arc();
  1196. Xextern F_ellipse *copy_ellipse();
  1197. Xextern F_line  *copy_line();
  1198. Xextern F_spline *copy_spline();
  1199. Xextern F_text  *copy_text();
  1200. Xextern F_compound *copy_compound();
  1201. X
  1202. Xextern F_point *copy_points();
  1203. Xextern F_arrow *forward_arrow();
  1204. Xextern F_arrow *backward_arrow();
  1205. Xextern F_arrow *new_arrow();
  1206. Xextern char    *new_string();
  1207. Xextern F_linkinfo *new_link();
  1208. END_OF_FILE
  1209. if test 1251 -ne `wc -c <'u_create.h'`; then
  1210.     echo shar: \"'u_create.h'\" unpacked with wrong size!
  1211. fi
  1212. # end of 'u_create.h'
  1213. fi
  1214. if test -f 'u_draw.h' -a "${1}" != "-c" ; then 
  1215.   echo shar: Will not clobber existing file \"'u_draw.h'\"
  1216. else
  1217. echo shar: Extracting \"'u_draw.h'\" \(733 characters\)
  1218. sed "s/^X//" >'u_draw.h' <<'END_OF_FILE'
  1219. X/*
  1220. X * FIG : Facility for Interactive Generation of figures
  1221. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1222. X *
  1223. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1224. X * documentation for any purpose is hereby granted without fee, provided that
  1225. X * the above copyright notice appear in all copies and that both the copyright
  1226. X * notice and this permission notice appear in supporting documentation. 
  1227. X * No representations are made about the suitability of this software for 
  1228. X * any purpose.  It is provided "as is" without express or implied warranty."
  1229. X */
  1230. X
  1231. X/*
  1232. X * declarations of routines for drawing objects
  1233. X */
  1234. X/*
  1235. X * declarations of routines for drawing objects
  1236. X */
  1237. X/* compounds */
  1238. Xvoid        draw_compoundelements();
  1239. END_OF_FILE
  1240. if test 733 -ne `wc -c <'u_draw.h'`; then
  1241.     echo shar: \"'u_draw.h'\" unpacked with wrong size!
  1242. fi
  1243. # end of 'u_draw.h'
  1244. fi
  1245. if test -f 'u_elastic.h' -a "${1}" != "-c" ; then 
  1246.   echo shar: Will not clobber existing file \"'u_elastic.h'\"
  1247. else
  1248. echo shar: Extracting \"'u_elastic.h'\" \(2240 characters\)
  1249. sed "s/^X//" >'u_elastic.h' <<'END_OF_FILE'
  1250. X/*
  1251. X * FIG : Facility for Interactive Generation of figures
  1252. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1253. X *
  1254. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1255. X * documentation for any purpose is hereby granted without fee, provided that
  1256. X * the above copyright notice appear in all copies and that both the copyright
  1257. X * notice and this permission notice appear in supporting documentation. 
  1258. X * No representations are made about the suitability of this software for 
  1259. X * any purpose.  It is provided "as is" without express or implied warranty."
  1260. X */
  1261. X
  1262. X#define        MOVE_ARB    0
  1263. X#define        MOVE_HORIZ_VERT 1
  1264. X#define        BOX_SCALE    2
  1265. X#define        BOX_HSTRETCH    3
  1266. X#define        BOX_VSTRETCH    4
  1267. X
  1268. X#define        MSG_RADIUS    0
  1269. X#define        MSG_DIAM    1
  1270. X#define        MSG_LENGTH    2
  1271. X
  1272. Xextern int    constrained;
  1273. Xextern int    fix_x, fix_y, work_numsides;
  1274. Xextern float    cur_angle;
  1275. Xextern int    x1off, x2off, y1off, y2off;
  1276. Xextern Cursor    cur_latexcursor;
  1277. Xextern int    from_x, from_y;
  1278. Xextern double    cosa, sina;
  1279. Xextern int    movedpoint_num;
  1280. Xextern int    latex_fix_x, latex_fix_y;
  1281. Xextern F_point *left_point, *right_point;
  1282. X
  1283. Xextern        elastic_box();
  1284. Xextern        elastic_movebox();
  1285. Xextern        resizing_box();
  1286. Xextern        elastic_box_constrained();
  1287. Xextern        constrained_resizing_box();
  1288. Xextern        moving_box();
  1289. Xextern        elastic_poly();
  1290. Xextern        resizing_poly();
  1291. Xextern        scaling_compound();
  1292. Xextern        elastic_scalecompound();
  1293. X
  1294. Xextern        resizing_ebr(), resizing_ebd();
  1295. Xextern        constrained_resizing_ebr(), constrained_resizing_ebd();
  1296. Xextern        constrained_resizing_cbd(), resizing_cbr(), resizing_cbd();
  1297. Xextern        elastic_moveellipse();
  1298. Xextern        moving_ellipse();
  1299. Xextern        elastic_scaleellipse();
  1300. Xextern        scaling_ellipse();
  1301. X
  1302. Xextern        freehand_line();
  1303. Xextern        latex_line();
  1304. Xextern        constrainedangle_line();
  1305. Xextern        elastic_moveline();
  1306. Xextern        elastic_line();
  1307. Xextern        moving_line();
  1308. Xextern        reshaping_line();
  1309. Xextern        reshaping_latexline();
  1310. Xextern        elastic_linelink();
  1311. Xextern        elastic_scalepts();
  1312. Xextern        scaling_line();
  1313. X
  1314. Xextern        moving_arc();
  1315. Xextern        elastic_movearc();
  1316. Xextern        reshaping_arc();
  1317. Xextern        elastic_arclink();
  1318. Xextern        scaling_arc();
  1319. Xextern        elastic_scalearc();
  1320. X
  1321. Xextern        moving_text();
  1322. Xextern        draw_movingtext();
  1323. X
  1324. Xextern        moving_spline();
  1325. Xextern        scaling_spline();
  1326. X
  1327. Xextern        adjust_box_pos();
  1328. Xextern        adjust_pos();
  1329. END_OF_FILE
  1330. if test 2240 -ne `wc -c <'u_elastic.h'`; then
  1331.     echo shar: \"'u_elastic.h'\" unpacked with wrong size!
  1332. fi
  1333. # end of 'u_elastic.h'
  1334. fi
  1335. if test -f 'u_fonts.h' -a "${1}" != "-c" ; then 
  1336.   echo shar: Will not clobber existing file \"'u_fonts.h'\"
  1337. else
  1338. echo shar: Extracting \"'u_fonts.h'\" \(1824 characters\)
  1339. sed "s/^X//" >'u_fonts.h' <<'END_OF_FILE'
  1340. X/*
  1341. X * FIG : Facility for Interactive Generation of figures
  1342. X * Copyright (c) 1991 by Brian V. Smith
  1343. X *
  1344. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1345. X * documentation for any purpose is hereby granted without fee, provided that
  1346. X * the above copyright notice appear in all copies and that both the copyright
  1347. X * notice and this permission notice appear in supporting documentation. 
  1348. X * No representations are made about the suitability of this software for 
  1349. X * any purpose.  It is provided "as is" without express or implied warranty."
  1350. X */
  1351. X
  1352. X#define MIN_P_SIZE 6
  1353. X#define MAX_P_SIZE 30
  1354. X
  1355. X#define DEF_FONTSIZE 12        /* default font size in pts */
  1356. X#define DEF_PS_FONT 0
  1357. X#define DEF_LATEX_FONT 0
  1358. X#define PS_FONTPANE_WD 290
  1359. X#define LATEX_FONTPANE_WD 112
  1360. X#define PS_FONTPANE_HT 20
  1361. X#define LATEX_FONTPANE_HT 20
  1362. X#define NUM_X_FONTS 27
  1363. X#define NUM_PS_FONTS 35
  1364. X#define NUM_LATEX_FONTS 6
  1365. X
  1366. X/* element of linked list for each font
  1367. X   The head of list is for the different font NAMES,
  1368. X   and the elements of this list are for each different
  1369. X   point size of that font */
  1370. X
  1371. Xstruct xfont {
  1372. X    int            size;    /* size in points */
  1373. X    Font        fid;    /* X font id */
  1374. X    char       *fname;    /* actual name of X font found */
  1375. X    struct flist   *list;    /* list of fonts by angle */
  1376. X    struct xfont   *next;    /* next in the list */
  1377. X};
  1378. X
  1379. Xstruct flist {
  1380. X    int            dir;    /* direction (0=0 degrees, 1=90, 2=180, 3=270) */
  1381. X    XRotFontStruct *fstruct;    /* X font structure */
  1382. X    struct flist   *next;
  1383. X    };
  1384. X
  1385. Xstruct _fstruct {
  1386. X    char       *name;    /* Postscript font name */
  1387. X    int            xfontnum;    /* template for locating X fonts */
  1388. X};
  1389. X
  1390. Xstruct _xfstruct {
  1391. X    char       *template;    /* template for locating X fonts */
  1392. X    struct xfont   *xfontlist;    /* linked list of X fonts for different point
  1393. X                 * sizes */
  1394. X};
  1395. X
  1396. Xint        x_fontnum();
  1397. END_OF_FILE
  1398. if test 1824 -ne `wc -c <'u_fonts.h'`; then
  1399.     echo shar: \"'u_fonts.h'\" unpacked with wrong size!
  1400. fi
  1401. # end of 'u_fonts.h'
  1402. fi
  1403. if test -f 'u_list.h' -a "${1}" != "-c" ; then 
  1404.   echo shar: Will not clobber existing file \"'u_list.h'\"
  1405. else
  1406. echo shar: Extracting \"'u_list.h'\" \(1734 characters\)
  1407. sed "s/^X//" >'u_list.h' <<'END_OF_FILE'
  1408. X/*
  1409. X * FIG : Facility for Interactive Generation of figures
  1410. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1411. X *
  1412. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1413. X * documentation for any purpose is hereby granted without fee, provided that
  1414. X * the above copyright notice appear in all copies and that both the copyright
  1415. X * notice and this permission notice appear in supporting documentation. 
  1416. X * No representations are made about the suitability of this software for 
  1417. X * any purpose.  It is provided "as is" without express or implied warranty."
  1418. X */
  1419. X
  1420. Xvoid        list_delete_arc();
  1421. Xvoid        list_delete_ellipse();
  1422. Xvoid        list_delete_line();
  1423. Xvoid        list_delete_spline();
  1424. Xvoid        list_delete_text();
  1425. Xvoid        list_delete_compound();
  1426. X
  1427. Xvoid        list_add_arc();
  1428. Xvoid        list_add_ellipse();
  1429. Xvoid        list_add_line();
  1430. Xvoid        list_add_spline();
  1431. Xvoid        list_add_text();
  1432. Xvoid        list_add_compound();
  1433. X
  1434. XF_line           *last_line();
  1435. XF_arc           *last_arc();
  1436. XF_ellipse      *last_ellipse();
  1437. XF_text           *last_text();
  1438. XF_spline       *last_spline();
  1439. XF_compound     *last_compound();
  1440. XF_point           *last_point();
  1441. X
  1442. XF_line           *prev_line();
  1443. XF_arc           *prev_arc();
  1444. XF_ellipse      *prev_ellipse();
  1445. XF_text           *prev_text();
  1446. XF_spline       *prev_spline();
  1447. XF_compound     *prev_compound();
  1448. XF_point           *prev_point();
  1449. X
  1450. Xvoid        delete_line();
  1451. Xvoid        delete_arc();
  1452. Xvoid        delete_ellipse();
  1453. Xvoid        delete_text();
  1454. Xvoid        delete_spline();
  1455. Xvoid        delete_compound();
  1456. X
  1457. Xvoid        add_line();
  1458. Xvoid        add_arc();
  1459. Xvoid        add_ellipse();
  1460. Xvoid        add_text();
  1461. Xvoid        add_spline();
  1462. Xvoid        add_compound();
  1463. X
  1464. Xvoid        change_line();
  1465. Xvoid        change_arc();
  1466. Xvoid        change_ellipse();
  1467. Xvoid        change_text();
  1468. Xvoid        change_spline();
  1469. Xvoid        change_compound();
  1470. X
  1471. Xvoid        get_links();
  1472. Xvoid        adjust_links();
  1473. END_OF_FILE
  1474. if test 1734 -ne `wc -c <'u_list.h'`; then
  1475.     echo shar: \"'u_list.h'\" unpacked with wrong size!
  1476. fi
  1477. # end of 'u_list.h'
  1478. fi
  1479. if test -f 'u_pan.c' -a "${1}" != "-c" ; then 
  1480.   echo shar: Will not clobber existing file \"'u_pan.c'\"
  1481. else
  1482. echo shar: Extracting \"'u_pan.c'\" \(1581 characters\)
  1483. sed "s/^X//" >'u_pan.c' <<'END_OF_FILE'
  1484. X/*
  1485. X * FIG : Facility for Interactive Generation of figures
  1486. X * Copyright (c) 1991 by Henning Spruth
  1487. X *
  1488. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1489. X * documentation for any purpose is hereby granted without fee, provided that
  1490. X * the above copyright notice appear in all copies and that both the copyright
  1491. X * notice and this permission notice appear in supporting documentation. 
  1492. X * No representations are made about the suitability of this software for 
  1493. X * any purpose.  It is provided "as is" without express or implied warranty."
  1494. X */
  1495. X
  1496. X#include "fig.h"
  1497. X#include "resources.h"
  1498. X#include "mode.h"
  1499. X#include "w_zoom.h"
  1500. X
  1501. Xpan_left()
  1502. X{
  1503. X    zoomxoff += posn_rnd[P_GRID2];
  1504. X    reset_topruler();
  1505. X    redisplay_topruler();
  1506. X    setup_grid(cur_gridmode);
  1507. X}
  1508. X
  1509. Xpan_right()
  1510. X{
  1511. X    if (zoomxoff == 0)
  1512. X    return;
  1513. X    zoomxoff -= posn_rnd[P_GRID2];
  1514. X    if (zoomxoff < 0)
  1515. X    zoomxoff = 0;
  1516. X    reset_topruler();
  1517. X    redisplay_topruler();
  1518. X    setup_grid(cur_gridmode);
  1519. X}
  1520. X
  1521. Xpan_up()
  1522. X{
  1523. X    zoomyoff += posn_rnd[P_GRID2];
  1524. X    reset_sideruler();
  1525. X    redisplay_sideruler();
  1526. X    setup_grid(cur_gridmode);
  1527. X}
  1528. X
  1529. Xpan_down()
  1530. X{
  1531. X    if (zoomyoff == 0)
  1532. X    return;
  1533. X    zoomyoff -= posn_rnd[P_GRID2];
  1534. X    if (zoomyoff < 0)
  1535. X    zoomyoff = 0;
  1536. X    reset_sideruler();
  1537. X    redisplay_sideruler();
  1538. X    setup_grid(cur_gridmode);
  1539. X}
  1540. X
  1541. Xpan_origin()
  1542. X{
  1543. X    if (zoomxoff == 0 && zoomyoff == 0)
  1544. X    return;
  1545. X    if (zoomyoff != 0) {
  1546. X    zoomyoff = 0;
  1547. X    setup_sideruler();
  1548. X    redisplay_sideruler();
  1549. X    }
  1550. X    if (zoomxoff != 0) {
  1551. X    zoomxoff = 0;
  1552. X    reset_topruler();
  1553. X    redisplay_topruler();
  1554. X    }
  1555. X    setup_grid(cur_gridmode);
  1556. X}
  1557. END_OF_FILE
  1558. if test 1581 -ne `wc -c <'u_pan.c'`; then
  1559.     echo shar: \"'u_pan.c'\" unpacked with wrong size!
  1560. fi
  1561. # end of 'u_pan.c'
  1562. fi
  1563. if test -f 'u_search.h' -a "${1}" != "-c" ; then 
  1564.   echo shar: Will not clobber existing file \"'u_search.h'\"
  1565. else
  1566. echo shar: Extracting \"'u_search.h'\" \(943 characters\)
  1567. sed "s/^X//" >'u_search.h' <<'END_OF_FILE'
  1568. X/*
  1569. X * FIG : Facility for Interactive Generation of figures
  1570. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1571. X *
  1572. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1573. X * documentation for any purpose is hereby granted without fee, provided that
  1574. X * the above copyright notice appear in all copies and that both the copyright
  1575. X * notice and this permission notice appear in supporting documentation. 
  1576. X * No representations are made about the suitability of this software for 
  1577. X * any purpose.  It is provided "as is" without express or implied warranty."
  1578. X */
  1579. X
  1580. Xvoid        init_searchproc_left();
  1581. Xvoid        init_searchproc_middle();
  1582. Xvoid        init_searchproc_right();
  1583. X
  1584. Xint        point_search_left();
  1585. Xint        point_search_middle();
  1586. Xint        point_search_right();
  1587. X
  1588. Xint        object_search_left();
  1589. Xint        object_search_middle();
  1590. Xint        object_search_right();
  1591. X
  1592. XF_text           *text_search();
  1593. XF_compound     *compound_search();
  1594. XF_compound     *compound_point_search();
  1595. END_OF_FILE
  1596. if test 943 -ne `wc -c <'u_search.h'`; then
  1597.     echo shar: \"'u_search.h'\" unpacked with wrong size!
  1598. fi
  1599. # end of 'u_search.h'
  1600. fi
  1601. if test -f 'u_undo.h' -a "${1}" != "-c" ; then 
  1602.   echo shar: Will not clobber existing file \"'u_undo.h'\"
  1603. else
  1604. echo shar: Extracting \"'u_undo.h'\" \(703 characters\)
  1605. sed "s/^X//" >'u_undo.h' <<'END_OF_FILE'
  1606. X/*
  1607. X * FIG : Facility for Interactive Generation of figures
  1608. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1609. X *
  1610. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1611. X * documentation for any purpose is hereby granted without fee, provided that
  1612. X * the above copyright notice appear in all copies and that both the copyright
  1613. X * notice and this permission notice appear in supporting documentation. 
  1614. X * No representations are made about the suitability of this software for 
  1615. X * any purpose.  It is provided "as is" without express or implied warranty."
  1616. X */
  1617. X
  1618. X/*******************  DECLARE EXPORTS  ********************/
  1619. X
  1620. Xextern F_compound saved_objects;
  1621. Xextern F_compound object_tails;
  1622. END_OF_FILE
  1623. if test 703 -ne `wc -c <'u_undo.h'`; then
  1624.     echo shar: \"'u_undo.h'\" unpacked with wrong size!
  1625. fi
  1626. # end of 'u_undo.h'
  1627. fi
  1628. if test -f 'version.h' -a "${1}" != "-c" ; then 
  1629.   echo shar: Will not clobber existing file \"'version.h'\"
  1630. else
  1631. echo shar: Extracting \"'version.h'\" \(656 characters\)
  1632. sed "s/^X//" >'version.h' <<'END_OF_FILE'
  1633. X/*
  1634. X * FIG : Facility for Interactive Generation of figures
  1635. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1636. X *
  1637. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1638. X * documentation for any purpose is hereby granted without fee, provided that
  1639. X * the above copyright notice appear in all copies and that both the copyright
  1640. X * notice and this permission notice appear in supporting documentation. 
  1641. X * No representations are made about the suitability of this software for 
  1642. X * any purpose.  It is provided "as is" without express or implied warranty."
  1643. X */
  1644. X
  1645. X#define            FIG_VERSION        "2.1"
  1646. X#define            PROTOCOL_VERSION    "2.1"    /* file format */
  1647. END_OF_FILE
  1648. if test 656 -ne `wc -c <'version.h'`; then
  1649.     echo shar: \"'version.h'\" unpacked with wrong size!
  1650. fi
  1651. # end of 'version.h'
  1652. fi
  1653. if test -f 'w_canvas.h' -a "${1}" != "-c" ; then 
  1654.   echo shar: Will not clobber existing file \"'w_canvas.h'\"
  1655. else
  1656. echo shar: Extracting \"'w_canvas.h'\" \(1513 characters\)
  1657. sed "s/^X//" >'w_canvas.h' <<'END_OF_FILE'
  1658. X/*
  1659. X * FIG : Facility for Interactive Generation of figures
  1660. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1661. X *
  1662. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1663. X * documentation for any purpose is hereby granted without fee, provided that
  1664. X * the above copyright notice appear in all copies and that both the copyright
  1665. X * notice and this permission notice appear in supporting documentation. 
  1666. X * No representations are made about the suitability of this software for 
  1667. X * any purpose.  It is provided "as is" without express or implied warranty."
  1668. X */
  1669. X
  1670. X/************** DECLARE EXPORTS ***************/
  1671. X
  1672. Xextern int    (*canvas_kbd_proc) ();
  1673. Xextern int    (*canvas_locmove_proc) ();
  1674. Xextern int    (*canvas_leftbut_proc) ();
  1675. Xextern int    (*canvas_middlebut_proc) ();
  1676. Xextern int    (*canvas_middlebut_save) ();
  1677. Xextern int    (*canvas_rightbut_proc) ();
  1678. Xextern int    (*return_proc) ();
  1679. Xextern int    null_proc();
  1680. Xextern int    clip_xmin, clip_ymin, clip_xmax, clip_ymax;
  1681. Xextern int    clip_width, clip_height;
  1682. Xextern int    cur_x, cur_y;
  1683. X
  1684. Xextern String    local_translations;
  1685. X
  1686. X/* macro which rounds coordinates depending on point positioning mode */
  1687. X#define        round_coords(x, y) \
  1688. X    if (cur_pointposn != P_ANY) \
  1689. X    if (!anypointposn) { \
  1690. X        int _txx; \
  1691. X        x = ((_txx = x%posn_rnd[cur_pointposn]) < posn_hlf[cur_pointposn]) \
  1692. X        ? x - _txx - 1 : x + posn_rnd[cur_pointposn] - _txx - 1; \
  1693. X        y = ((_txx = y%posn_rnd[cur_pointposn]) < posn_hlf[cur_pointposn]) \
  1694. X        ? y - _txx - 1 : y + posn_rnd[cur_pointposn] - _txx - 1; \
  1695. X    }
  1696. X
  1697. END_OF_FILE
  1698. if test 1513 -ne `wc -c <'w_canvas.h'`; then
  1699.     echo shar: \"'w_canvas.h'\" unpacked with wrong size!
  1700. fi
  1701. # end of 'w_canvas.h'
  1702. fi
  1703. if test -f 'w_dir.h' -a "${1}" != "-c" ; then 
  1704.   echo shar: Will not clobber existing file \"'w_dir.h'\"
  1705. else
  1706. echo shar: Extracting \"'w_dir.h'\" \(1800 characters\)
  1707. sed "s/^X//" >'w_dir.h' <<'END_OF_FILE'
  1708. X/* This file is part of xdir, an X-based directory browser.
  1709. X *
  1710. X *    Created: 13 Aug 88
  1711. X *
  1712. X *    Win Treese
  1713. X *    Cambridge Research Lab
  1714. X *    Digital Equipment Corporation
  1715. X *    treese@crl.dec.com
  1716. X *
  1717. X *        COPYRIGHT 1990
  1718. X *      DIGITAL EQUIPMENT CORPORATION
  1719. X *       MAYNARD, MASSACHUSETTS
  1720. X *      ALL RIGHTS RESERVED.
  1721. X *
  1722. X * THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND
  1723. X * SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
  1724. X * DIGITAL MAKES NO REPRESENTATIONS ABOUT THE SUITABILITY OF THIS SOFTWARE
  1725. X * FOR ANY PURPOSE.  IT IS SUPPLIED "AS IS" WITHOUT EXPRESS OR IMPLIED
  1726. X * WARRANTY.
  1727. X *
  1728. X * IF THE SOFTWARE IS MODIFIED IN A MANNER CREATING DERIVATIVE COPYRIGHT
  1729. X * RIGHTS, APPROPRIATE LEGENDS MAY BE PLACED ON THE DERIVATIVE WORK IN
  1730. X * ADDITION TO THAT SET FORTH ABOVE.
  1731. X *
  1732. X * Permission to use, copy, modify, and distribute this software and its
  1733. X * documentation for any purpose and without fee is hereby granted, provided
  1734. X * that the above copyright notice appear in all copies and that both that
  1735. X * copyright notice and this permission notice appear in supporting
  1736. X * documentation, and that the name of Digital Equipment Corporation not be
  1737. X * used in advertising or publicity pertaining to distribution of the
  1738. X * software without specific, written prior permission.
  1739. X *
  1740. X *    Modified: 4 Dec 91 - Paul King (king@cs.uq.oz.au)
  1741. X */
  1742. X
  1743. X/* From the C library. */
  1744. X
  1745. Xchar           *re_comp();
  1746. X
  1747. X/* Useful constants. */
  1748. X
  1749. X#define EOS    '\0'        /* End-of-string. */
  1750. X
  1751. X#define NENTRIES    100    /* chunk size for allocating filename space */
  1752. X
  1753. X/* Useful macros. */
  1754. X
  1755. X#define streq(a, b)    (! strcmp((a), (b)))
  1756. X
  1757. Xextern Widget    popup_dir_text;
  1758. Xextern void    create_dirinfo();
  1759. X
  1760. X/* Xdir function declarations. */
  1761. X
  1762. XBoolean        MakeFileList();
  1763. Xchar           *SaveString();
  1764. Xvoid        MakeFullPath();
  1765. XBoolean        IsDirectory();
  1766. END_OF_FILE
  1767. if test 1800 -ne `wc -c <'w_dir.h'`; then
  1768.     echo shar: \"'w_dir.h'\" unpacked with wrong size!
  1769. fi
  1770. # end of 'w_dir.h'
  1771. fi
  1772. if test -f 'w_drawprim.h' -a "${1}" != "-c" ; then 
  1773.   echo shar: Will not clobber existing file \"'w_drawprim.h'\"
  1774. else
  1775. echo shar: Extracting \"'w_drawprim.h'\" \(1618 characters\)
  1776. sed "s/^X//" >'w_drawprim.h' <<'END_OF_FILE'
  1777. X/*
  1778. X * FIG : Facility for Interactive Generation of figures
  1779. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1780. X *
  1781. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1782. X * documentation for any purpose is hereby granted without fee, provided that
  1783. X * the above copyright notice appear in all copies and that both the copyright
  1784. X * notice and this permission notice appear in supporting documentation. 
  1785. X * No representations are made about the suitability of this software for 
  1786. X * any purpose.  It is provided "as is" without express or implied warranty."
  1787. X */
  1788. X
  1789. Xextern pr_size    pf_textwidth();
  1790. Xextern PIX_FONT bold_font;
  1791. Xextern PIX_FONT roman_font;
  1792. Xextern PIX_FONT button_font;
  1793. Xextern PIX_ROT_FONT canvas_font;
  1794. X
  1795. X/* Maximum number of points for polygons etc */
  1796. X#define        MAXNUMPTS    10000
  1797. X
  1798. X#define        NORMAL_FONT    "fixed"
  1799. X#define        BOLD_FONT    "8x13bold"
  1800. X#define        BUTTON_FONT    "6x13"
  1801. X
  1802. X#define        char_height(font) \
  1803. X        ((font)->max_bounds.ascent + (font)->max_bounds.descent)
  1804. X
  1805. X#define        rot_char_width(rotfont)    ((rotfont)->width)
  1806. X#define        rot_char_height(rotfont) \
  1807. X        ((rotfont)->max_ascent + (rotfont)->max_descent)
  1808. X
  1809. X#define        rot_char_advance(font,char) \
  1810. X            (((font)->per_char)?\
  1811. X            ((font)->per_char[(char)-(font)->min_char].width):\
  1812. X            ((font)->width))
  1813. X
  1814. X#define set_x_color(gc,col) XSetForeground(tool_d,gc,\
  1815. X    (!all_colors_available? (col==WHITE?x_bg_color.pixel:x_fg_color.pixel): \
  1816. X    (col<0||col>=NUMCOLORS)? x_fg_color.pixel:appres.color[col]))
  1817. X
  1818. X#define x_color(col)\
  1819. X    (!all_colors_available? (col==WHITE?x_bg_color.pixel:x_fg_color.pixel): \
  1820. X    (col<0||col>=NUMCOLORS)? x_fg_color.pixel:appres.color[col])
  1821. END_OF_FILE
  1822. if test 1618 -ne `wc -c <'w_drawprim.h'`; then
  1823.     echo shar: \"'w_drawprim.h'\" unpacked with wrong size!
  1824. fi
  1825. # end of 'w_drawprim.h'
  1826. fi
  1827. if test -f 'w_mousefun.h' -a "${1}" != "-c" ; then 
  1828.   echo shar: Will not clobber existing file \"'w_mousefun.h'\"
  1829. else
  1830. echo shar: Extracting \"'w_mousefun.h'\" \(953 characters\)
  1831. sed "s/^X//" >'w_mousefun.h' <<'END_OF_FILE'
  1832. X/*
  1833. X * FIG : Facility for Interactive Generation of figures
  1834. X * Copyright (c) 1991 by Paul King
  1835. X *
  1836. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1837. X * documentation for any purpose is hereby granted without fee, provided that
  1838. X * the above copyright notice appear in all copies and that both the copyright
  1839. X * notice and this permission notice appear in supporting documentation. 
  1840. X * No representations are made about the suitability of this software for 
  1841. X * any purpose.  It is provided "as is" without express or implied warranty."
  1842. X */
  1843. X
  1844. Xvoid        init_mousefun();
  1845. Xvoid        setup_mousefun();
  1846. Xvoid        set_mousefun();
  1847. Xvoid        draw_mousefun_mode();
  1848. Xvoid        draw_mousefun_ind();
  1849. Xvoid        draw_mousefun_unitbox();
  1850. Xvoid        draw_mousefun_topruler();
  1851. Xvoid        draw_mousefun_sideruler();
  1852. Xvoid        draw_mousefun_canvas();
  1853. Xvoid        draw_mousefun();
  1854. Xvoid        clear_mousefun();
  1855. Xvoid        notused_middle();
  1856. Xvoid        clear_middle();
  1857. Xvoid        notused_right();
  1858. Xvoid        clear_right();
  1859. END_OF_FILE
  1860. if test 953 -ne `wc -c <'w_mousefun.h'`; then
  1861.     echo shar: \"'w_mousefun.h'\" unpacked with wrong size!
  1862. fi
  1863. # end of 'w_mousefun.h'
  1864. fi
  1865. if test -f 'w_rottext.h' -a "${1}" != "-c" ; then 
  1866.   echo shar: Will not clobber existing file \"'w_rottext.h'\"
  1867. else
  1868. echo shar: Extracting \"'w_rottext.h'\" \(1886 characters\)
  1869. sed "s/^X//" >'w_rottext.h' <<'END_OF_FILE'
  1870. X/*
  1871. X * FIG : Facility for Interactive Generation of figures
  1872. X * Copyright (c) 1992 by Alan Richardson
  1873. X *
  1874. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1875. X * documentation for any purpose is hereby granted without fee, provided that
  1876. X * the above copyright notice appear in all copies and that both the copyright
  1877. X * notice and this permission notice appear in supporting documentation. 
  1878. X * No representations are made about the suitability of this software for 
  1879. X * any purpose.  It is provided "as is" without express or implied warranty."
  1880. X */
  1881. X
  1882. X#define TLEFT     1
  1883. X#define TCENTRE     2
  1884. X#define TRIGHT     3
  1885. X#define MLEFT     4
  1886. X#define MCENTRE     5
  1887. X#define MRIGHT     6
  1888. X#define BLEFT     7
  1889. X#define BCENTRE     8
  1890. X#define BRIGHT     9
  1891. X
  1892. X
  1893. X/* ---------------------------------------------------------------------- */
  1894. X
  1895. X
  1896. X/* *** The font structures *** */
  1897. X
  1898. Xtypedef struct
  1899. X{ int         bit_w;
  1900. X  int         bit_h;
  1901. X
  1902. X  Pixmap     bm;         } BitmapStruct;
  1903. X
  1904. Xtypedef struct
  1905. X{ int         ascent;
  1906. X  int         descent;
  1907. X  int          lbearing;
  1908. X  int         rbearing;
  1909. X  int         width;
  1910. X
  1911. X  BitmapStruct     glyph;        } XRotCharStruct;
  1912. X
  1913. Xtypedef struct
  1914. X{ int         dir;
  1915. X  int         height;    /* max_ascent+max_descent */
  1916. X  int         width;        /* max_bounds.width from XFontStruct */
  1917. X  int         max_ascent;
  1918. X  int         max_descent;
  1919. X  int         max_char;
  1920. X  int         min_char;
  1921. X  char        *name;
  1922. X
  1923. X  XFontStruct    *xfontstruct;
  1924. X
  1925. X  XRotCharStruct per_char[95];    } XRotFontStruct;
  1926. X
  1927. X
  1928. X/* ---------------------------------------------------------------------- */
  1929. X
  1930. X
  1931. Xextern XRotFontStruct         *XRotLoadFont();
  1932. Xextern void                       XRotUnloadFont();
  1933. Xextern int                        XRotTextWidth();
  1934. Xextern int                        XRotTextHeight();
  1935. Xextern void                       XRotDrawString();
  1936. Xextern void                       XRotDrawImageString();
  1937. Xextern void                       XRotDrawAlignedString();
  1938. Xextern void                       XRotDrawAlignedImageString();
  1939. X
  1940. X
  1941. X
  1942. X
  1943. END_OF_FILE
  1944. if test 1886 -ne `wc -c <'w_rottext.h'`; then
  1945.     echo shar: \"'w_rottext.h'\" unpacked with wrong size!
  1946. fi
  1947. # end of 'w_rottext.h'
  1948. fi
  1949. if test -f 'w_setup.h' -a "${1}" != "-c" ; then 
  1950.   echo shar: Will not clobber existing file \"'w_setup.h'\"
  1951. else
  1952. echo shar: Extracting \"'w_setup.h'\" \(1871 characters\)
  1953. sed "s/^X//" >'w_setup.h' <<'END_OF_FILE'
  1954. X/*
  1955. X * FIG : Facility for Interactive Generation of figures
  1956. X * Copyright (c) 1985 by Supoj Sutanthavibul
  1957. X *
  1958. X * "Permission to use, copy, modify, distribute, and sell this software and its
  1959. X * documentation for any purpose is hereby granted without fee, provided that
  1960. X * the above copyright notice appear in all copies and that both the copyright
  1961. X * notice and this permission notice appear in supporting documentation. 
  1962. X * No representations are made about the suitability of this software for 
  1963. X * any purpose.  It is provided "as is" without express or implied warranty."
  1964. X */
  1965. X
  1966. X#define        PIX_PER_INCH        80
  1967. X#define        PIX_PER_CM        30    /* ((int)(PIX_PER_INCH / 2.54
  1968. X                         * + (5.0/2))) */
  1969. X
  1970. X/* Portrait dimensions */
  1971. X#define        DEF_CANVAS_HT_PORT    9*PIX_PER_INCH
  1972. X#define        DEF_CANVAS_WD_PORT    8*PIX_PER_INCH
  1973. X
  1974. X/* Landscape dimensions */
  1975. X#define        DEF_CANVAS_HT_LAND    8*PIX_PER_INCH
  1976. X#define        DEF_CANVAS_WD_LAND    10*PIX_PER_INCH
  1977. X
  1978. X#define        RULER_WD        24
  1979. X#ifndef MAX_TOPRULER_WD
  1980. X#define        MAX_TOPRULER_WD        1020
  1981. X#endif
  1982. X#ifndef MAX_SIDERULER_HT
  1983. X#define        MAX_SIDERULER_HT    860
  1984. X#endif
  1985. X#define        MIN_MOUSEFUN_WD        240
  1986. X
  1987. X#define        MAXDEPTH        999
  1988. X
  1989. X#define        SW_PER_ROW_PORT 2    /* switches/row in mode panel */
  1990. X#define        SW_PER_ROW_LAND 2    /* same for landscape mode */
  1991. X#define        SW_PER_COL_PORT 17
  1992. X#define        SW_PER_COL_LAND 17
  1993. X
  1994. X#define        MODE_SW_HT    32    /* height of a mode switch icon */
  1995. X#define        MODE_SW_WD    36    /* width of a mode switch icon */
  1996. X
  1997. X#define        DEF_INTERNAL_BW        1
  1998. X#define        POPUP_BW        2
  1999. X
  2000. Xextern int    TOOL_WD, TOOL_HT;
  2001. Xextern int    CMDPANEL_WD, CMDPANEL_HT;
  2002. Xextern int    MODEPANEL_WD, MODEPANEL_HT;
  2003. Xextern int    MODEPANEL_SPACE;
  2004. Xextern int    MSGFORM_WD, MSGFORM_HT;
  2005. Xextern int    MSGPANEL_WD;
  2006. Xextern int    MOUSEFUN_WD, MOUSEFUN_HT;
  2007. Xextern int    INDPANEL_WD;
  2008. Xextern int    CANVAS_WD, CANVAS_HT;
  2009. Xextern int    INTERNAL_BW;
  2010. Xextern int    TOPRULER_WD, TOPRULER_HT;
  2011. Xextern int    SIDERULER_WD, SIDERULER_HT;
  2012. Xextern int    SW_PER_ROW, SW_PER_COL;
  2013. END_OF_FILE
  2014. if test 1871 -ne `wc -c <'w_setup.h'`; then
  2015.     echo shar: \"'w_setup.h'\" unpacked with wrong size!
  2016. fi
  2017. # end of 'w_setup.h'
  2018. fi
  2019. if test -f 'w_util.h' -a "${1}" != "-c" ; then 
  2020.   echo shar: Will not clobber existing file \"'w_util.h'\"
  2021. else
  2022. echo shar: Extracting \"'w_util.h'\" \(1748 characters\)
  2023. sed "s/^X//" >'w_util.h' <<'END_OF_FILE'
  2024. X/*
  2025. X * FIG : Facility for Interactive Generation of figures
  2026. X * Copyright (c) 1985 by Supoj Sutanthavibul
  2027. X *
  2028. X * "Permission to use, copy, modify, distribute, and sell this software and its
  2029. X * documentation for any purpose is hereby granted without fee, provided that
  2030. X * the above copyright notice appear in all copies and that both the copyright
  2031. X * notice and this permission notice appear in supporting documentation. 
  2032. X * No representations are made about the suitability of this software for 
  2033. X * any purpose.  It is provided "as is" without express or implied warranty."
  2034. X */
  2035. X
  2036. X/* constant values used for popup_query */
  2037. X
  2038. X#define QUERY_YES    0
  2039. X#define QUERY_YESNO    1
  2040. X#define RESULT_NO    -1
  2041. X#define RESULT_YES    1
  2042. X#define RESULT_CANCEL    0
  2043. X
  2044. X/*
  2045. X * Author:    Doyle C. Davidson
  2046. X *        Intergraph Corporation
  2047. X *        One Madison Industrial Park
  2048. X *        Huntsville, Al.     35894-0001
  2049. X *
  2050. X * Modification history:
  2051. X *        11 May 91 - added SetValues and GetValues - Paul King
  2052. X *
  2053. X * My macros for using XtSetArg easily:
  2054. X * Usage:
  2055. X *
  2056. X *    blah()
  2057. X *    {
  2058. X *    DeclareArgs(2);
  2059. X *        ...
  2060. X *        FirstArg(XmNx, 100);
  2061. X *        NextArg(XmNy, 80);
  2062. X *        button = XmCreatePushButton(parent, name, Args, ArgCount);
  2063. X *    }
  2064. X */
  2065. X
  2066. X#include "assert.h"
  2067. X
  2068. X#define ArgCount    _fooArgCount
  2069. X#define Args        _fooArgList
  2070. X#define ArgCountMax    _fooArgCountMax
  2071. X
  2072. X#define DeclareArgs(n)    Arg Args[n]; int ArgCountMax = n; int ArgCount
  2073. X
  2074. X#define DeclareStaticArgs(n)  static Arg Args[n]; static int ArgCountMax = n; static int ArgCount
  2075. X
  2076. X#define FirstArg(name, val) \
  2077. X    { XtSetArg(Args[0], (name), (val)); ArgCount=1;}
  2078. X#define NextArg(name, val) \
  2079. X    { assert(ArgCount < ArgCountMax); \
  2080. X      XtSetArg(Args[ArgCount], (name), (val)); ArgCount++;}
  2081. X#define GetValues(n)    XtGetValues(n, Args, ArgCount)
  2082. X#define SetValues(n)    XtSetValues(n, Args, ArgCount)
  2083. END_OF_FILE
  2084. if test 1748 -ne `wc -c <'w_util.h'`; then
  2085.     echo shar: \"'w_util.h'\" unpacked with wrong size!
  2086. fi
  2087. # end of 'w_util.h'
  2088. fi
  2089. if test -f 'w_zoom.h' -a "${1}" != "-c" ; then 
  2090.   echo shar: Will not clobber existing file \"'w_zoom.h'\"
  2091. else
  2092. echo shar: Extracting \"'w_zoom.h'\" \(2112 characters\)
  2093. sed "s/^X//" >'w_zoom.h' <<'END_OF_FILE'
  2094. X/*
  2095. X * FIG : Facility for Interactive Generation of figures
  2096. X * Copyright (c) 1991 by Henning Spruth
  2097. X *
  2098. X * "Permission to use, copy, modify, distribute, and sell this software and its
  2099. X * documentation for any purpose is hereby granted without fee, provided that
  2100. X * the above copyright notice appear in all copies and that both the copyright
  2101. X * notice and this permission notice appear in supporting documentation. 
  2102. X * No representations are made about the suitability of this software for 
  2103. X * any purpose.  It is provided "as is" without express or implied warranty."
  2104. X */
  2105. X
  2106. Xextern float    zoomscale;
  2107. Xextern int    zoomxoff;
  2108. Xextern int    zoomyoff;
  2109. X
  2110. X#define ZOOMX(x) round(zoomscale*((x)-zoomxoff))
  2111. X#define ZOOMY(y) round(zoomscale*((y)-zoomyoff))
  2112. X#define BACKX(x) round((x)/zoomscale+zoomxoff)
  2113. X#define BACKY(y) round((y)/zoomscale+zoomyoff)
  2114. X
  2115. X#define zXDrawPoint(d,w,gc,x,y) XDrawPoint(d,w,gc,ZOOMX(x),ZOOMY(y))
  2116. X#define zXDrawArc(d,w,gc,x,y,d1,d2,a1,a2)\
  2117. X    XDrawArc(d,w,gc,ZOOMX(x),ZOOMY(y),round(zoomscale*(d1)),round(zoomscale*(d2)),\
  2118. X          a1,a2)
  2119. X#define zXFillArc(d,w,gc,x,y,d1,d2,a1,a2)\
  2120. X    XFillArc(d,w,gc,ZOOMX(x),ZOOMY(y),round(zoomscale*(d1)),round(zoomscale*(d2)),\
  2121. X          a1,a2)
  2122. X#define zXDrawLine(d,w,gc,x1,y1,x2,y2)\
  2123. X    XDrawLine(d,w,gc,ZOOMX(x1),ZOOMY(y1),ZOOMX(x2),ZOOMY(y2))
  2124. X#define zXRotDrawString(d,w,font,gc,x,y,s,l)\
  2125. X    XRotDrawString(d,w,font,gc,ZOOMX(x),ZOOMY(y),s,l)
  2126. X#define zXFillRectangle(d,w,gc,x1,y1,x2,y2)\
  2127. X    XFillRectangle(d,w,gc,ZOOMX(x1),ZOOMY(y1),\
  2128. X        round(zoomscale*(x2)),round(zoomscale*(y2)))
  2129. X#define zXDrawRectangle(d,w,gc,x1,y1,x2,y2)\
  2130. X    XDrawRectangle(d,w,gc,ZOOMX(x1),ZOOMY(y1),\
  2131. X        round(zoomscale*(x2)),round(zoomscale*(y2)))
  2132. X#define zXDrawLines(d,w,gc,p,n,m)\
  2133. X    {int i;\
  2134. X     for(i=0;i<n;i++){p[i].x=ZOOMX(p[i].x);p[i].y=ZOOMY(p[i].y);}\
  2135. X     XDrawLines(d,w,gc,p,n,m);\
  2136. X     for(i=0;i<n;i++){p[i].x=BACKX(p[i].x);p[i].y=BACKY(p[i].y);}\
  2137. X    }
  2138. X#define zXFillPolygon(d,w,gc,p,n,m,o)\
  2139. X    {int i;\
  2140. X     for(i=0;i<n;i++){p[i].x=ZOOMX(p[i].x);p[i].y=ZOOMY(p[i].y);}\
  2141. X     XFillPolygon(d,w,gc,p,n,m,o);\
  2142. X     for(i=0;i<n;i++){p[i].x=BACKX(p[i].x);p[i].y=BACKY(p[i].y);}\
  2143. X    }
  2144. END_OF_FILE
  2145. if test 2112 -ne `wc -c <'w_zoom.h'`; then
  2146.     echo shar: \"'w_zoom.h'\" unpacked with wrong size!
  2147. fi
  2148. # end of 'w_zoom.h'
  2149. fi
  2150. echo shar: End of archive 1 \(of 27\).
  2151. cp /dev/null ark1isdone
  2152. MISSING=""
  2153. 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
  2154.     if test ! -f ark${I}isdone ; then
  2155.     MISSING="${MISSING} ${I}"
  2156.     fi
  2157. done
  2158. if test "${MISSING}" = "" ; then
  2159.     echo You have unpacked all 27 archives.
  2160.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  2161. else
  2162.     echo You still need to unpack the following archives:
  2163.     echo "        " ${MISSING}
  2164. fi
  2165. ##  End of shell archive.
  2166. exit 0
  2167.  
  2168. exit 0 # Just in case...
  2169. -- 
  2170.   // chris@IMD.Sterling.COM       | Send comp.sources.x submissions to:
  2171. \X/  Amiga - The only way to fly! |    sources-x@imd.sterling.com
  2172.  "It's intuitively obvious to the |
  2173.   most casual observer..."        | GCS d+/-- p+ c++ l+ m+ s++/+ g+ w+ t+ r+ x+
  2174.