[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / includes / update-frame.ps
1 %!PS-Adobe-2.0 EPSF-1.2
2 %%DocumentFonts: Times-Roman
3 %%Pages: 1
4 %%BoundingBox: 233 491 369 578
5 %%EndComments
6
7 50 dict begin
8
9 /arrowHeight 8 def
10 /arrowWidth 4 def
11 /none null def
12 /numGraphicParameters 17 def
13 /stringLimit 65535 def
14
15 /Begin {
16 save
17 numGraphicParameters dict begin
18 } def
19
20 /End {
21 end
22 restore
23 } def
24
25 /SetB {
26 dup type /nulltype eq {
27 pop
28 false /brushRightArrow idef
29 false /brushLeftArrow idef
30 true /brushNone idef
31 } {
32 /brushDashOffset idef
33 /brushDashArray idef
34 0 ne /brushRightArrow idef
35 0 ne /brushLeftArrow idef
36 /brushWidth idef
37 false /brushNone idef
38 } ifelse
39 } def
40
41 /SetCFg {
42 /fgblue idef
43 /fggreen idef
44 /fgred idef
45 } def
46
47 /SetCBg {
48 /bgblue idef
49 /bggreen idef
50 /bgred idef
51 } def
52
53 /SetF {
54 /printSize idef
55 /printFont idef
56 } def
57
58 /SetP {
59 dup type /nulltype eq {
60 pop true /patternNone idef
61 } {
62 dup -1 eq {
63 /patternGrayLevel idef
64 /patternString idef
65 } {
66 /patternGrayLevel idef
67 } ifelse
68 false /patternNone idef
69 } ifelse
70 } def
71
72 /BSpl {
73 0 begin
74 storexyn
75 newpath
76 n 1 gt {
77 0 0 0 0 0 0 1 1 true subspline
78 n 2 gt {
79 0 0 0 0 1 1 2 2 false subspline
80 1 1 n 3 sub {
81 /i exch def
82 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
83 } for
84 n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
85 } if
86 n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
87 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
88 brushNone not { istroke } if
89 0 0 1 1 leftarrow
90 n 2 sub dup n 1 sub dup rightarrow
91 } if
92 end
93 } dup 0 4 dict put def
94
95 /Circ {
96 newpath
97 0 360 arc
98 patternNone not { ifill } if
99 brushNone not { istroke } if
100 } def
101
102 /CBSpl {
103 0 begin
104 dup 2 gt {
105 storexyn
106 newpath
107 n 1 sub dup 0 0 1 1 2 2 true subspline
108 1 1 n 3 sub {
109 /i exch def
110 i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
111 } for
112 n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
113 n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
114 patternNone not { ifill } if
115 brushNone not { istroke } if
116 } {
117 Poly
118 } ifelse
119 end
120 } dup 0 4 dict put def
121
122 /Elli {
123 0 begin
124 newpath
125 4 2 roll
126 translate
127 scale
128 0 0 1 0 360 arc
129 patternNone not { ifill } if
130 brushNone not { istroke } if
131 end
132 } dup 0 1 dict put def
133
134 /Line {
135 0 begin
136 2 storexyn
137 newpath
138 x 0 get y 0 get moveto
139 x 1 get y 1 get lineto
140 brushNone not { istroke } if
141 0 0 1 1 leftarrow
142 0 0 1 1 rightarrow
143 end
144 } dup 0 4 dict put def
145
146 /MLine {
147 0 begin
148 storexyn
149 newpath
150 n 1 gt {
151 x 0 get y 0 get moveto
152 1 1 n 1 sub {
153 /i exch def
154 x i get y i get lineto
155 } for
156 patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
157 brushNone not { istroke } if
158 0 0 1 1 leftarrow
159 n 2 sub dup n 1 sub dup rightarrow
160 } if
161 end
162 } dup 0 4 dict put def
163
164 /Poly {
165 3 1 roll
166 newpath
167 moveto
168 -1 add
169 { lineto } repeat
170 closepath
171 patternNone not { ifill } if
172 brushNone not { istroke } if
173 } def
174
175 /Rect {
176 0 begin
177 /t exch def
178 /r exch def
179 /b exch def
180 /l exch def
181 newpath
182 l b moveto
183 l t lineto
184 r t lineto
185 r b lineto
186 closepath
187 patternNone not { ifill } if
188 brushNone not { istroke } if
189 end
190 } dup 0 4 dict put def
191
192 /Text {
193 ishow
194 } def
195
196 /idef {
197 dup where { pop pop pop } { exch def } ifelse
198 } def
199
200 /ifill {
201 0 begin
202 gsave
203 patternGrayLevel -1 ne {
204 fgred bgred fgred sub patternGrayLevel mul add
205 fggreen bggreen fggreen sub patternGrayLevel mul add
206 fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
207 eofill
208 } {
209 eoclip
210 originalCTM setmatrix
211 pathbbox /t exch def /r exch def /b exch def /l exch def
212 /w r l sub ceiling cvi def
213 /h t b sub ceiling cvi def
214 /imageByteWidth w 8 div ceiling cvi def
215 /imageHeight h def
216 bgred bggreen bgblue setrgbcolor
217 eofill
218 fgred fggreen fgblue setrgbcolor
219 w 0 gt h 0 gt and {
220 l b translate w h scale
221 w h true [w 0 0 h neg 0 h] { patternproc } imagemask
222 } if
223 } ifelse
224 grestore
225 end
226 } dup 0 8 dict put def
227
228 /istroke {
229 gsave
230 brushDashOffset -1 eq {
231 [] 0 setdash
232 1 setgray
233 } {
234 brushDashArray brushDashOffset setdash
235 fgred fggreen fgblue setrgbcolor
236 } ifelse
237 brushWidth setlinewidth
238 originalCTM setmatrix
239 stroke
240 grestore
241 } def
242
243 /ishow {
244 0 begin
245 gsave
246 fgred fggreen fgblue setrgbcolor
247 /fontDict printFont findfont printSize scalefont dup setfont def
248 /descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
249 transform exch pop def
250 /vertoffset 0 descender sub printSize sub printFont /Courier ne
251 printFont /Courier-Bold ne and { 1 add } if def {
252 0 vertoffset moveto show
253 /vertoffset vertoffset printSize sub def
254 } forall
255 grestore
256 end
257 } dup 0 3 dict put def
258
259 /patternproc {
260 0 begin
261 /patternByteLength patternString length def
262 /patternHeight patternByteLength 8 mul sqrt cvi def
263 /patternWidth patternHeight def
264 /patternByteWidth patternWidth 8 idiv def
265 /imageByteMaxLength imageByteWidth imageHeight mul
266 stringLimit patternByteWidth sub min def
267 /imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
268 patternHeight mul patternHeight max def
269 /imageHeight imageHeight imageMaxHeight sub store
270 /imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
271 0 1 imageMaxHeight 1 sub {
272 /y exch def
273 /patternRow y patternByteWidth mul patternByteLength mod def
274 /patternRowString patternString patternRow patternByteWidth getinterval def
275 /imageRow y imageByteWidth mul def
276 0 patternByteWidth imageByteWidth 1 sub {
277 /x exch def
278 imageString imageRow x add patternRowString putinterval
279 } for
280 } for
281 imageString
282 end
283 } dup 0 12 dict put def
284
285 /min {
286 dup 3 2 roll dup 4 3 roll lt { exch } if pop
287 } def
288
289 /max {
290 dup 3 2 roll dup 4 3 roll gt { exch } if pop
291 } def
292
293 /arrowhead {
294 0 begin
295 transform originalCTM itransform
296 /taily exch def
297 /tailx exch def
298 transform originalCTM itransform
299 /tipy exch def
300 /tipx exch def
301 /dy tipy taily sub def
302 /dx tipx tailx sub def
303 /angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
304 gsave
305 originalCTM setmatrix
306 tipx tipy translate
307 angle rotate
308 newpath
309 0 0 moveto
310 arrowHeight neg arrowWidth 2 div lineto
311 arrowHeight neg arrowWidth 2 div neg lineto
312 closepath
313 patternNone not {
314 originalCTM setmatrix
315 /padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
316 arrowWidth div def
317 /padtail brushWidth 2 div def
318 tipx tipy translate
319 angle rotate
320 padtip 0 translate
321 arrowHeight padtip add padtail add arrowHeight div dup scale
322 arrowheadpath
323 ifill
324 } if
325 brushNone not {
326 originalCTM setmatrix
327 tipx tipy translate
328 angle rotate
329 arrowheadpath
330 istroke
331 } if
332 grestore
333 end
334 } dup 0 9 dict put def
335
336 /arrowheadpath {
337 newpath
338 0 0 moveto
339 arrowHeight neg arrowWidth 2 div lineto
340 arrowHeight neg arrowWidth 2 div neg lineto
341 closepath
342 } def
343
344 /leftarrow {
345 0 begin
346 y exch get /taily exch def
347 x exch get /tailx exch def
348 y exch get /tipy exch def
349 x exch get /tipx exch def
350 brushLeftArrow { tipx tipy tailx taily arrowhead } if
351 end
352 } dup 0 4 dict put def
353
354 /rightarrow {
355 0 begin
356 y exch get /tipy exch def
357 x exch get /tipx exch def
358 y exch get /taily exch def
359 x exch get /tailx exch def
360 brushRightArrow { tipx tipy tailx taily arrowhead } if
361 end
362 } dup 0 4 dict put def
363
364 /midpoint {
365 0 begin
366 /y1 exch def
367 /x1 exch def
368 /y0 exch def
369 /x0 exch def
370 x0 x1 add 2 div
371 y0 y1 add 2 div
372 end
373 } dup 0 4 dict put def
374
375 /thirdpoint {
376 0 begin
377 /y1 exch def
378 /x1 exch def
379 /y0 exch def
380 /x0 exch def
381 x0 2 mul x1 add 3 div
382 y0 2 mul y1 add 3 div
383 end
384 } dup 0 4 dict put def
385
386 /subspline {
387 0 begin
388 /movetoNeeded exch def
389 y exch get /y3 exch def
390 x exch get /x3 exch def
391 y exch get /y2 exch def
392 x exch get /x2 exch def
393 y exch get /y1 exch def
394 x exch get /x1 exch def
395 y exch get /y0 exch def
396 x exch get /x0 exch def
397 x1 y1 x2 y2 thirdpoint
398 /p1y exch def
399 /p1x exch def
400 x2 y2 x1 y1 thirdpoint
401 /p2y exch def
402 /p2x exch def
403 x1 y1 x0 y0 thirdpoint
404 p1x p1y midpoint
405 /p0y exch def
406 /p0x exch def
407 x2 y2 x3 y3 thirdpoint
408 p2x p2y midpoint
409 /p3y exch def
410 /p3x exch def
411 movetoNeeded { p0x p0y moveto } if
412 p1x p1y p2x p2y p3x p3y curveto
413 end
414 } dup 0 17 dict put def
415
416 /storexyn {
417 /n exch def
418 /y n array def
419 /x n array def
420 n 1 sub -1 0 {
421 /i exch def
422 y i 3 2 roll put
423 x i 3 2 roll put
424 } for
425 } def
426
427 %%EndProlog
428
429 %I Idraw 7 Grid 5 
430
431 %%Page: 1 1
432
433 Begin
434 %I b u
435 %I cfg u
436 %I cbg u
437 %I f u
438 %I p u
439 %I t
440 [ 0.8 0 0 0.8 0 0 ] concat
441 /originalCTM matrix currentmatrix def
442
443 Begin %I MLine
444 %I b 65535
445 1 0 0 [] 0 SetB
446 %I cfg Black
447 0 0 0 SetCFg
448 %I cbg White
449 1 1 1 SetCBg
450 %I p
451 1 SetP
452 %I t
453 [ 2.27341 0 0 1 -36.6448 228 ] concat
454 %I 4
455 145 413
456 145 388
457 219 388
458 219 413
459 4 MLine
460 End
461
462 Begin %I Text
463 %I cfg Black
464 0 0 0 SetCFg
465 %I f *-times-medium-r-*-120-*
466 /Times-Roman 12 SetF
467 %I t
468 [ 1 0 0 1 298.5 633 ] concat
469 %I
470 [
471 (Pointer to Update return vector)
472 ] Text
473 End
474
475 Begin %I MLine
476 %I b 65535
477 1 0 0 [] 0 SetB
478 %I cfg Black
479 0 0 0 SetCFg
480 %I cbg White
481 1 1 1 SetCBg
482 %I p
483 1 SetP
484 %I t
485 [ 2.27325 0 0 1 -36.6219 252 ] concat
486 %I 4
487 145 413
488 145 388
489 219 388
490 219 413
491 4 MLine
492 End
493
494 Begin %I Text
495 %I cfg Black
496 0 0 0 SetCFg
497 %I f *-times-medium-r-*-120-*
498 /Times-Roman 12 SetF
499 %I t
500 [ 1.00625 0 0 1 298.006 656 ] concat
501 %I
502 [
503 (Pointer to closure to be updated)
504 ] Text
505 End
506
507 Begin %I MLine
508 %I b 65535
509 1 0 0 [] 0 SetB
510 %I cfg Black
511 0 0 0 SetCFg
512 %I cbg White
513 1 1 1 SetCBg
514 %I p
515 1 SetP
516 %I t
517 [ 2.2731 0 0 1 -36.5992 276 ] concat
518 %I 4
519 145 413
520 145 388
521 219 388
522 219 413
523 4 MLine
524 End
525
526 Begin %I MLine
527 %I b 65535
528 1 0 0 [] 0 SetB
529 %I cfg Black
530 0 0 0 SetCFg
531 %I cbg White
532 1 1 1 SetCBg
533 %I p
534 1 SetP
535 %I t
536 [ 2.2731 0 0 1.35294 -36.5975 163.059 ] concat
537 %I 4
538 145 413
539 145 388
540 219 388
541 219 413
542 4 MLine
543 End
544
545 Begin %I Line
546 %I b 65535
547 1 0 0 [] 0 SetB
548 %I cfg Black
549 0 0 0 SetCFg
550 %I cbg White
551 1 1 1 SetCBg
552 %I p
553 1 SetP
554 %I t
555 [ 2.25503 0 0 17 -33.4799 -8109 ] concat
556 %I
557 145 519 219 519 Line
558 End
559
560 Begin %I Text
561 %I cfg Black
562 0 0 0 SetCFg
563 %I f *-times-medium-r-*-120-*
564 /Times-Roman 12 SetF
565 %I t
566 [ 1 0 0 1 300 682 ] concat
567 %I
568 [
569 (Saved SuB)
570 ] Text
571 End
572
573 Begin %I Text
574 %I cfg Black
575 0 0 0 SetCFg
576 %I f *-times-medium-r-*-120-*
577 /Times-Roman 12 SetF
578 %I t
579 [ 1 0 0 1 301 705 ] concat
580 %I
581 [
582 (Saved SuA)
583 ] Text
584 End
585
586 End %I eop
587
588 showpage
589
590 %%Trailer
591
592 end