home *** CD-ROM | disk | FTP | other *** search
/ Jason Aller Floppy Collection / 128.img / WS6#06.LZH / BOX.PS < prev    next >
Text File  |  1990-02-18  |  1KB  |  53 lines

  1. %! BOX.PS
  2. % A variable-size box: user can set width, height and line thickness.  If a
  3. % gap is set, then a second box is drawn inside the first; its sides will be
  4. % the distance of the gap from the outer box.
  5. %
  6. save
  7.  
  8. % box width
  9. %
  10. /bw where not
  11.     { /bw 2 72 mul def } { pop } ifelse
  12.  
  13. % box height
  14. %
  15. /bh where not
  16.     { /bh 7 72 mul def } { pop } ifelse
  17.  
  18. % box thickness
  19. %
  20. /bt where not
  21.     { /bt 1.5 def } { pop } ifelse
  22.  
  23. % box gap
  24. %
  25. /bg where not
  26.     { /bg 3 def } { pop } ifelse
  27.  
  28. % set line width and box color
  29. %
  30. bt setlinewidth                    % set line thickness for edges
  31. 0 setgray                    % set shade of gray
  32.  
  33. % draw outer box
  34. %
  35. 0 bh neg rlineto                % down
  36. bw 0 rlineto                    % across
  37. 0 bh rlineto                    % up
  38. closepath                    % back
  39.  
  40. %% draw inner box if gap set
  41. %
  42. bg 0 gt {
  43.     bg bg neg rmoveto            % starting point of inner box
  44.     0 bh neg bg dup add add rlineto    % down
  45.     bw bg dup add sub 0 rlineto        % across
  46.     0 bh bg dup add sub rlineto        % up
  47.     closepath                % back
  48. } if
  49. stroke
  50.  
  51. restore
  52. 
  53.