|
|
1.1 root 1:
2: /* Collection of PSwrap functions for animating sorting activity.
3: *
4: * Author: Julie Zelenski, NeXT Developer Support
5: * You may freely copy, distribute and reuse the code in this example.
6: * NeXT disclaims any warranty of any kind, expressed or implied, as to
7: * its fitness for any particular use.
8: */
9:
10:
11:
12: /* PSWswapRects sets the gray to white, fills the white rectangle, sets the
13: * gray to black, fills the black rectangle, and flushes the drawing to
14: * the screen immediately.
15: */
16: defineps PSWswapRects (float x1, y1, x2, y2, width, height)
17: 0.0 setgray
18: x1 y1 width height rectfill
19: 1.0 setgray
20: x2 y2 width height rectfill
21: flushgraphics
22: endps
23:
24:
25: /* PSWmoveRects sets the gray appropriately (gray value is passed as parameter)
26: * fills the rectangle and flushes the drawing to the screen immediately.
27: */
28: defineps PSWmoveRect (float x, y, width, height, gray)
29: gray setgray
30: x y width height rectfill
31: flushgraphics
32: endps
33:
34:
35: /* PSWcompareRects turns on instance drawing, sets the gray to light gray,
36: * fills the two rectangles being compared and turns off instance drawing.
37: */
38: defineps PSWcompareRects (float x1,y1,width,height1,x2,y2,height2)
39: true setinstance
40: .667 setgray
41: x1 y1 width height1 rectfill
42: x2 y2 width height2 rectfill
43: false setinstance
44: endps
45:
46:
47: /* PSWfade simply sovers a semi-transparent white rectangle onto the view to
48: * "fade" the background.
49: */
50: defineps PSWfade(float width, height)
51: 1.0 setgray
52: .75 setalpha
53: 0 0 width height Sover compositerect
54: endps
55:
56:
57: /* PSWdrawBorder strokes the rectangle border in black.
58: */
59: defineps PSWdrawBorder(float width, height)
60: 0.0 setgray
61: 1.0 setalpha
62: 1.0 setlinewidth
63: 0.0 0.0 width height rectstroke
64: endps
65:
66:
67: /* PSWdrawName shows the sort name at the specified location.
68: */
69: defineps PSWdrawName(float x, y; char *name)
70: 0.0 setgray
71: 1.0 setalpha
72: x y moveto
73: (name) show
74: endps
75:
76:
77: /* PSWdrawStrings is used to draw four right-aligned strings at a
78: * specific height.
79: */
80: defineps PSWdrawStrings (char *s1, *s2, *s3, *s4; float height)
81: /rightShow {dup stringwidth pop neg 0 rmoveto show} def
82: 0.0 setgray
83: 1.0 setalpha
84: 140.0 height moveto
85: (s1) rightShow
86: 270.0 height moveto
87: (s2) rightShow
88: 370.0 height moveto
89: (s3) rightShow
90: 480.0 height moveto
91: (s4) rightShow
92: endps
93:
94:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.