diff options
author | dos-reis <gdr@axiomatics.org> | 2007-08-14 05:14:52 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2007-08-14 05:14:52 +0000 |
commit | ab8cc85adde879fb963c94d15675783f2cf4b183 (patch) | |
tree | c202482327f474583b750b2c45dedfc4e4312b1d /src/doc/ps/2DOptRgB.ps | |
download | open-axiom-ab8cc85adde879fb963c94d15675783f2cf4b183.tar.gz |
Initial population.
Diffstat (limited to 'src/doc/ps/2DOptRgB.ps')
-rw-r--r-- | src/doc/ps/2DOptRgB.ps | 420 |
1 files changed, 420 insertions, 0 deletions
diff --git a/src/doc/ps/2DOptRgB.ps b/src/doc/ps/2DOptRgB.ps new file mode 100644 index 00000000..21850e8e --- /dev/null +++ b/src/doc/ps/2DOptRgB.ps @@ -0,0 +1,420 @@ +%!IBM Personal Pageprinter (4216) Adapter Program V1.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 psDrawIStr: +% psDrawIStr +% window type: title or window +% string +% y +% x +% graphics-context dictionary +% it draws a text string in foreground color on top of bounding box of +% string, which is in background color. + +/psDrawIStr + { gsave + newpath %% for rectangle + loadFont + + /window exch def %% get window type + + %% draw bounding box with background color + /str exch def %% get text string + str stringwidth pop 1 sub %% width + FontHeight 1 sub %% height + currentfont begin %% get font height + FontBBox + end + /ypos exch def pop %% define ypos + neg ypos add /offset exch def pop + /offset ypos offset div FontHeight mul def %% define offset + /h exch def /w exch def %% define h + /y0 exch def %% define y0 + /x0 exch def %% define x0 + w h x0 y0 offset sub + window (title) eq + {hVal moveto drawRect} %% draws in title window + {rectangle} ifelse %% draws in view window + begin + BGcolor setgray fill %% set background box color + + x0 y0 + window (title) eq + {hVal} %% print title text + {yVal} ifelse %% print window text + moveto str + FGcolor setgray show %% set text color + end + grestore } + def + +% operand stack configuration in order to use psFillArc: +% psFillArc +% y center of rectangle +% x center of rectangle +% angle2 +% angle1 +% width +% height +% y +% x +% graphics-context dictionary +% this draws and fills an arc whose origin is at x, y, and whose width +% and height specifies the rectangle which encases the arc. +% Origin is at upper left corner of rectangle. +% This function uses "scale" to make cricles and ellipses. +/psFillArc + { gsave + newpath + yVal moveto + /sfactor 4 index 4 index div def + 1 sfactor scale + 6 5 roll %% x on top of stack + 3 index 2 div add %% define x origin + 6 5 roll %% y on top of stack + 6 5 roll %% h on top of stack + 2 div add yVal sfactor div %% define y origin + 5 4 roll %% w on top of stack + 2 div %% define radius + 5 3 roll %% a1 a2 now on top + 1 index add + arcn %% draw clockwise arc + begin installGC fill end %% fills with foreground color + 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 /globGC makeDict + 0 0 1 + 1072693248 0 /anotherGC makeDict + 0 0 1 + 1072693248 0 /graphGC makeDict + 0 0 1 + 1072693248 0 /unitGC makeDict + + gsave % save graphics state for clipping path + + 24 259 256 setDim + maxX maxY 0 0 rectangle clip % set clip path + + globalGC1 256 129 0 129 psDrawLine + globalGC1 128 259 128 0 psDrawLine + unitGC 128 131 128 127 psDrawLine + unitGC 116 144 (0.00) (window) psDrawIStr + unitGC 166 131 166 127 psDrawLine + unitGC 154 144 (0.50) (window) psDrawIStr + unitGC 204 131 204 127 psDrawLine + unitGC 192 144 (1.00) (window) psDrawIStr + unitGC 242 131 242 127 psDrawLine + unitGC 230 144 (1.50) (window) psDrawIStr + unitGC 89 131 89 127 psDrawLine + unitGC 74 144 (-0.50) (window) psDrawIStr + unitGC 50 131 50 127 psDrawLine + unitGC 35 144 (-1.00) (window) psDrawIStr + unitGC 11 131 11 127 psDrawLine + unitGC -4 144 (-1.50) (window) psDrawIStr + unitGC 130 90 126 90 psDrawLine + unitGC 92 95 (0.50) (window) psDrawIStr + unitGC 130 51 126 51 psDrawLine + unitGC 92 56 (1.00) (window) psDrawIStr + unitGC 130 12 126 12 psDrawLine + unitGC 92 17 (1.50) (window) psDrawIStr + unitGC 130 167 126 167 psDrawLine + unitGC 83 172 (-0.50) (window) psDrawIStr + unitGC 130 205 126 205 psDrawLine + unitGC 83 210 (-1.00) (window) psDrawIStr + unitGC 130 243 126 243 psDrawLine + unitGC 83 248 (-1.50) (window) psDrawIStr + globalGC1 127 51 3 3 0 360 128 52 psFillArc + globalGC1 128 52 128 52 psDrawLine + globalGC1 127 51 3 3 0 360 128 52 psFillArc + globalGC1 120 53 128 52 psDrawLine + globalGC1 119 52 3 3 0 360 120 53 psFillArc + globalGC1 111 54 120 53 psDrawLine + globalGC1 110 53 3 3 0 360 111 54 psFillArc + globalGC1 102 57 111 54 psDrawLine + globalGC1 101 56 3 3 0 360 102 57 psFillArc + globalGC1 93 61 102 57 psDrawLine + globalGC1 92 60 3 3 0 360 93 61 psFillArc + globalGC1 83 66 93 61 psDrawLine + globalGC1 82 65 3 3 0 360 83 66 psFillArc + globalGC1 74 74 83 66 psDrawLine + globalGC1 73 73 3 3 0 360 74 74 psFillArc + globalGC1 66 83 74 74 psDrawLine + globalGC1 65 82 3 3 0 360 66 83 psFillArc + globalGC1 60 92 66 83 psDrawLine + globalGC1 59 91 3 3 0 360 60 92 psFillArc + globalGC1 56 101 60 92 psDrawLine + globalGC1 55 100 3 3 0 360 56 101 psFillArc + globalGC1 53 111 56 101 psDrawLine + globalGC1 52 110 3 3 0 360 53 111 psFillArc + globalGC1 51 120 53 111 psDrawLine + globalGC1 50 119 3 3 0 360 51 120 psFillArc + globalGC1 51 129 51 120 psDrawLine + globalGC1 50 128 3 3 0 360 51 129 psFillArc + globalGC1 51 136 51 129 psDrawLine + globalGC1 50 135 3 3 0 360 51 136 psFillArc + globalGC1 52 145 51 136 psDrawLine + globalGC1 51 144 3 3 0 360 52 145 psFillArc + globalGC1 55 155 52 145 psDrawLine + globalGC1 54 154 3 3 0 360 55 155 psFillArc + globalGC1 59 164 55 155 psDrawLine + globalGC1 58 163 3 3 0 360 59 164 psFillArc + globalGC1 65 173 59 164 psDrawLine + globalGC1 64 172 3 3 0 360 65 173 psFillArc + globalGC1 72 182 65 173 psDrawLine + globalGC1 71 181 3 3 0 360 72 182 psFillArc + globalGC1 81 190 72 182 psDrawLine + globalGC1 80 189 3 3 0 360 81 190 psFillArc + globalGC1 91 196 81 190 psDrawLine + globalGC1 90 195 3 3 0 360 91 196 psFillArc + globalGC1 100 201 91 196 psDrawLine + globalGC1 99 200 3 3 0 360 100 201 psFillArc + globalGC1 109 204 100 201 psDrawLine + globalGC1 108 203 3 3 0 360 109 204 psFillArc + globalGC1 118 205 109 204 psDrawLine + globalGC1 117 204 3 3 0 360 118 205 psFillArc + globalGC1 128 206 118 205 psDrawLine + globalGC1 127 205 3 3 0 360 128 206 psFillArc + globalGC1 135 205 128 206 psDrawLine + globalGC1 134 204 3 3 0 360 135 205 psFillArc + globalGC1 144 204 135 205 psDrawLine + globalGC1 143 203 3 3 0 360 144 204 psFillArc + globalGC1 153 201 144 204 psDrawLine + globalGC1 152 200 3 3 0 360 153 201 psFillArc + globalGC1 162 197 153 201 psDrawLine + globalGC1 161 196 3 3 0 360 162 197 psFillArc + globalGC1 172 192 162 197 psDrawLine + globalGC1 171 191 3 3 0 360 172 192 psFillArc + globalGC1 181 184 172 192 psDrawLine + globalGC1 180 183 3 3 0 360 181 184 psFillArc + globalGC1 189 175 181 184 psDrawLine + globalGC1 188 174 3 3 0 360 189 175 psFillArc + globalGC1 195 166 189 175 psDrawLine + globalGC1 194 165 3 3 0 360 195 166 psFillArc + globalGC1 199 157 195 166 psDrawLine + globalGC1 198 156 3 3 0 360 199 157 psFillArc + globalGC1 202 147 199 157 psDrawLine + globalGC1 201 146 3 3 0 360 202 147 psFillArc + globalGC1 204 138 202 147 psDrawLine + globalGC1 203 137 3 3 0 360 204 138 psFillArc + globalGC1 204 129 204 138 psDrawLine + globalGC1 203 128 3 3 0 360 204 129 psFillArc + globalGC1 204 122 204 129 psDrawLine + globalGC1 203 121 3 3 0 360 204 122 psFillArc + globalGC1 203 113 204 122 psDrawLine + globalGC1 202 112 3 3 0 360 203 113 psFillArc + globalGC1 200 103 203 113 psDrawLine + globalGC1 199 102 3 3 0 360 200 103 psFillArc + globalGC1 196 94 200 103 psDrawLine + globalGC1 195 93 3 3 0 360 196 94 psFillArc + globalGC1 190 85 196 94 psDrawLine + globalGC1 189 84 3 3 0 360 190 85 psFillArc + globalGC1 183 76 190 85 psDrawLine + globalGC1 182 75 3 3 0 360 183 76 psFillArc + globalGC1 174 68 183 76 psDrawLine + globalGC1 173 67 3 3 0 360 174 68 psFillArc + globalGC1 164 62 174 68 psDrawLine + globalGC1 163 61 3 3 0 360 164 62 psFillArc + globalGC1 155 57 164 62 psDrawLine + globalGC1 154 56 3 3 0 360 155 57 psFillArc + globalGC1 146 54 155 57 psDrawLine + globalGC1 145 53 3 3 0 360 146 54 psFillArc + globalGC1 137 53 146 54 psDrawLine + globalGC1 136 52 3 3 0 360 137 53 psFillArc + globalGC1 128 52 137 53 psDrawLine + globalGC1 127 51 3 3 0 360 128 52 psFillArc + + grestore % restore graphics state + + + cleartomark %% clearing operand stack + +end %% pops mainDict from dictionary stack + +showpage + +%-------------------------- end --------------------------% |