From ab8cc85adde879fb963c94d15675783f2cf4b183 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Tue, 14 Aug 2007 05:14:52 +0000 Subject: Initial population. --- src/doc/ps/ribbon2.ps | 418 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 418 insertions(+) create mode 100644 src/doc/ps/ribbon2.ps (limited to 'src/doc/ps/ribbon2.ps') diff --git a/src/doc/ps/ribbon2.ps b/src/doc/ps/ribbon2.ps new file mode 100644 index 00000000..203629d1 --- /dev/null +++ b/src/doc/ps/ribbon2.ps @@ -0,0 +1,418 @@ +%!PS-Adobe-2.0 +%%DocumentFonts: Times-Roman +%%Creator: Axiom +%%CreationDate: today +%%Pages: 1 +%%processing (hard) limit: 250 pts or 500 values for the operand stack. +%%EndComments + +%------------------------------- prologue -------------------------------% +%-------------------------- support procedures --------------------------% + +%--------- first create user dictionary with 100 entries max ------------% +% (number can be changed to accomodate definitions) % + +100 dict begin %% using 100 entries in top level dictionary + +/FontHeight 12 def + +/inch + { 72 mul } + def + +% yVal and hVal are necessary because the Xwindow display origin +% is at the upper left corner, while the postscript display +% origin is at the lower left hand corner. + +/yVal %% get Y value -- make upper left corner origin + { maxY sub abs } %% maxY is viewWindow height + def + +/hVal %% get H value -- used for displaying title text + { maxH sub abs } %% maxH is viewWindow height+titleWindow height + def + +% loads in the font + +/loadFont + { /Times-Roman findfont FontHeight scalefont setfont } + def + +% draws a rectangle with input operand: +% height +% width +% notice that this function does not "draw" or ink the rectangle. +/drawRect + { 1 index 1 add 0 rlineto %% draw first side + 0 exch 1 add neg rlineto %% draw second side + 1 add neg 0 rlineto %% draw third side + closepath } %% draw fourth side + def + +% create a rectangle with input operand in the view window: +% y +% x +% height +% width +% notice that this function does not "draw" or ink the rectangle. +/rectangle + { yVal moveto %% set currentpoint for line + drawRect } %% draws the rectangle + def + +% These are global variables that every draw procedure uses +% THe operand should be as follows: +% viewWindow width +% viewWindow height +% title height +/setDim + { /maxX exch def %% width of display + /maxY exch def %% height of display + /titleH exch def %% height of title + /maxH maxY titleH add def %% height of display + title + } def + +%-------------------------- major procedures --------------------------% + +/title %% draws a rectangle around the title of picture + { gsave + newpath + moveto %% lower left of title + titleH 1 add 0 exch rlineto %% draw first side + 1 add 0 rlineto %% draw second side + 1 add neg 0 exch rlineto + begin installGC stroke end %% draw third side + grestore } + def + +/drawFrame %% draw display frame + { gsave + newpath + maxX maxY 0 0 rectangle + begin installGC stroke end + grestore } + def + +% updates the foreground color of existing graphics-context dictionary: +% foreground color +% dictionary name +/setForeground + { /FGcolor exch put } + def + +% updates the background color of existing graphics-context dictionary: +% background color +% dictionary name +/setBackground + { /BGcolor exch put } + def + +% updates the line width, line style, cap style, join style of +% existing graphics-context dictionary: +% dictionary name +% join style +% cap style +% line width +/setLineAttributes + { begin + /JoinStyle exch def + /CapStyle exch def + /LineWidth exch def + end } + def + +% creates a graphics context dictionary with the following information: +% /dictionary name +% foreground color +% background color +% line width +% cap style +% join style +% this creates different graphical contexts for different drawing functions. +/makeDict + { 5 dict 2 copy def begin pop %% with dict name on top of stack + /FGcolor exch def %% define drawing attributes + /BGcolor exch def %% not heavily used + /LineWidth exch def + /CapStyle exch def + /JoinStyle exch def + end } + def + +% makes the current dictionary attributes effective +% this function takes the values in the current dictionary to set the context +% these are the values currently being used: foreground, cap, join, and width +/installGC + { + FGcolor currentgray ne + {FGcolor setgray} if %% foreground color + CapStyle currentlinecap ne + {CapStyle setlinecap} if %% cap style + JoinStyle currentlinejoin ne + {JoinStyle setlinejoin} if %% join style + LineWidth currentlinewidth ne + {LineWidth setlinewidth} if } %% line width + def + +% operand stack configuration in order to use psDrawLine: +% psDrawLine +% y0 +% x0 +% y1 +% x1 +% graphics-context dictionary +% this draws a line from (x0, y0) to (x1, y1). + +/psDrawLine + { gsave + newpath + yVal moveto + yVal lineto + begin installGC stroke end + grestore } + def + +% operand stack configuration in order to use psDrawLines: +% psDrawLines +% points[0].y +% points[0].x +% n +% ... +% points[n].y +% points[n].x +% graphics-context dictionary +% this draws lines connecting all the points. + +/psDrawLines + { gsave + newpath + yVal moveto + 1 sub { + yVal lineto + } repeat + begin installGC stroke end + grestore } + def + +% operand stack configuration in order to use psDrawStr: +% psDrawStr +% y +% x +% string +% graphics-context dictionary +% this function draws a text string at (x,y). + +/psDrawStr + { gsave + newpath + loadFont + yVal moveto + exch begin installGC show end + grestore } + def + +%-------------------------- script --------------------------% + +% 1 inch 1 inch translate + + mark %% mark bottom of our stack + + 0 0 1 + 1072693248 0 /globalGC1 makeDict + 0 0 1 + 1072693248 0 /globalGC2 makeDict + 0 0 1 + 1072693248 0 /trashGC makeDict + 0 0 1 + 1072693248 0 /componentGC makeDict + 0 0 1 + 1072693248 0 /opaqueGC makeDict + 0 0 1 + 1072693248 0 /renderGC makeDict + 0 0 1 + 1072693248 0 /globGC makeDict + 0 0 1 + 1072693248 0 /anotherGC makeDict + 1 0 1 + 1072693248 0 /renderGC makeDict + + gsave % save graphics state for clipping path + + 1.000000 1.000000 scale + + 24 276 300 setDim + maxX maxY 0 0 rectangle clip % set clip path + + globalGC1 0.000000 setForeground + globGC 0.000000 setForeground + globalGC1 17 215 192 94 psDrawLine + globGC (X) 12 220 psDrawStr + globalGC1 106.000000 setForeground + globGC 106.000000 setForeground + globalGC1 0.000000 setForeground + globGC 0.000000 setForeground + globalGC1 202 215 42 94 psDrawLine + globGC (Y) 207 220 psDrawStr + globalGC1 106.000000 setForeground + globGC 106.000000 setForeground + globalGC1 0.000000 setForeground + globGC 0.000000 setForeground + globalGC1 108 53 119 219 psDrawLine + globGC (Z) 103 48 psDrawStr + globalGC1 106.000000 setForeground + globGC 106.000000 setForeground + 1 0 0 componentGC setLineAttributes + componentGC 0.000000 setForeground + componentGC + 14 124 + 25 133 + 34 140 + 44 145 + 52 150 + 60 153 + 67 155 + 75 157 + 81 158 + 88 158 + 94 157 + 100 155 + 106 153 + 111 150 + 117 146 + 122 141 + 127 136 + 133 130 + 138 124 + 143 116 + 148 108 + 153 99 + 159 89 + 164 78 + 169 66 + 175 53 + 180 38 + 28 186 23 psDrawLines + componentGC + 99 195 + 108 202 + 116 207 + 124 211 + 131 215 + 138 217 + 145 218 + 151 219 + 157 219 + 163 217 + 169 216 + 175 213 + 180 210 + 186 206 + 191 202 + 197 196 + 202 190 + 208 184 + 213 176 + 219 168 + 225 159 + 231 149 + 237 138 + 243 127 + 250 114 + 256 100 + 264 85 + 28 271 68 psDrawLines + componentGC + 271 68 + 2 186 23 psDrawLines + componentGC + 264 85 + 2 180 38 psDrawLines + componentGC + 256 100 + 2 175 53 psDrawLines + componentGC + 250 114 + 2 169 66 psDrawLines + componentGC + 243 127 + 2 164 78 psDrawLines + componentGC + 237 138 + 2 159 89 psDrawLines + componentGC + 231 149 + 2 153 99 psDrawLines + componentGC + 225 159 + 2 148 108 psDrawLines + componentGC + 219 168 + 2 143 116 psDrawLines + componentGC + 213 176 + 2 138 124 psDrawLines + componentGC + 208 184 + 2 133 130 psDrawLines + componentGC + 202 190 + 2 127 136 psDrawLines + componentGC + 197 196 + 2 122 141 psDrawLines + componentGC + 191 202 + 2 117 146 psDrawLines + componentGC + 186 206 + 2 111 150 psDrawLines + componentGC + 180 210 + 2 106 153 psDrawLines + componentGC + 175 213 + 2 100 155 psDrawLines + componentGC + 169 216 + 2 94 157 psDrawLines + componentGC + 163 217 + 2 88 158 psDrawLines + componentGC + 157 219 + 2 81 158 psDrawLines + componentGC + 151 219 + 2 75 157 psDrawLines + componentGC + 145 218 + 2 67 155 psDrawLines + componentGC + 138 217 + 2 60 153 psDrawLines + componentGC + 131 215 + 2 52 150 psDrawLines + componentGC + 124 211 + 2 44 145 psDrawLines + componentGC + 116 207 + 2 34 140 psDrawLines + componentGC + 108 202 + 2 25 133 psDrawLines + componentGC + 99 195 + 2 14 124 psDrawLines + + grestore % restore graphics state + + + cleartomark %% clearing operand stack + +end %% pops mainDict from dictionary stack + +showpage + +%-------------------------- end --------------------------% -- cgit v1.2.3