|
|
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.