aboutsummaryrefslogtreecommitdiff
path: root/src/doc/ps/2DOptSc.ps
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
committerdos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
commitab8cc85adde879fb963c94d15675783f2cf4b183 (patch)
treec202482327f474583b750b2c45dedfc4e4312b1d /src/doc/ps/2DOptSc.ps
downloadopen-axiom-ab8cc85adde879fb963c94d15675783f2cf4b183.tar.gz
Initial population.
Diffstat (limited to 'src/doc/ps/2DOptSc.ps')
-rw-r--r--src/doc/ps/2DOptSc.ps436
1 files changed, 436 insertions, 0 deletions
diff --git a/src/doc/ps/2DOptSc.ps b/src/doc/ps/2DOptSc.ps
new file mode 100644
index 00000000..9e81b7b0
--- /dev/null
+++ b/src/doc/ps/2DOptSc.ps
@@ -0,0 +1,436 @@
+%!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 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
+
+ 1.000000 1.000000 scale
+
+ 24 303 300 setDim
+ maxX maxY 0 0 rectangle clip % set clip path
+
+ globalGC1 300 151 0 151 psDrawLine
+ globalGC1 154 303 154 0 psDrawLine
+ unitGC 198 153 198 149 psDrawLine
+ unitGC 186 166 (1.00) (window) psDrawIStr
+ unitGC 242 153 242 149 psDrawLine
+ unitGC 230 166 (2.00) (window) psDrawIStr
+ unitGC 286 153 286 149 psDrawLine
+ unitGC 274 166 (3.00) (window) psDrawIStr
+ unitGC 108 153 108 149 psDrawLine
+ unitGC 93 166 (-1.00) (window) psDrawIStr
+ unitGC 62 153 62 149 psDrawLine
+ unitGC 47 166 (-2.00) (window) psDrawIStr
+ unitGC 16 153 16 149 psDrawLine
+ unitGC 1 166 (-3.00) (window) psDrawIStr
+ unitGC 156 106 152 106 psDrawLine
+ unitGC 118 111 (1.00) (window) psDrawIStr
+ unitGC 156 61 152 61 psDrawLine
+ unitGC 118 66 (2.00) (window) psDrawIStr
+ unitGC 156 16 152 16 psDrawLine
+ unitGC 118 21 (3.00) (window) psDrawIStr
+ unitGC 156 195 152 195 psDrawLine
+ unitGC 109 200 (-1.00) (window) psDrawIStr
+ unitGC 156 239 152 239 psDrawLine
+ unitGC 109 244 (-2.00) (window) psDrawIStr
+ unitGC 156 283 152 283 psDrawLine
+ unitGC 109 288 (-3.00) (window) psDrawIStr
+ globalGC1 13 150 3 3 0 360 14 151 psFillArc
+ globalGC1 14 151 14 151 psDrawLine
+ globalGC1 13 150 3 3 0 360 14 151 psFillArc
+ globalGC1 20 157 14 151 psDrawLine
+ globalGC1 19 156 3 3 0 360 20 157 psFillArc
+ globalGC1 26 162 20 157 psDrawLine
+ globalGC1 25 161 3 3 0 360 26 162 psFillArc
+ globalGC1 32 168 26 162 psDrawLine
+ globalGC1 31 167 3 3 0 360 32 168 psFillArc
+ globalGC1 37 173 32 168 psDrawLine
+ globalGC1 36 172 3 3 0 360 37 173 psFillArc
+ globalGC1 43 178 37 173 psDrawLine
+ globalGC1 42 177 3 3 0 360 43 178 psFillArc
+ globalGC1 49 182 43 178 psDrawLine
+ globalGC1 48 181 3 3 0 360 49 182 psFillArc
+ globalGC1 55 186 49 182 psDrawLine
+ globalGC1 54 185 3 3 0 360 55 186 psFillArc
+ globalGC1 61 189 55 186 psDrawLine
+ globalGC1 60 188 3 3 0 360 61 189 psFillArc
+ globalGC1 66 192 61 189 psDrawLine
+ globalGC1 65 191 3 3 0 360 66 192 psFillArc
+ globalGC1 72 194 66 192 psDrawLine
+ globalGC1 71 193 3 3 0 360 72 194 psFillArc
+ globalGC1 75 195 72 194 psDrawLine
+ globalGC1 74 194 3 3 0 360 75 195 psFillArc
+ globalGC1 78 195 75 195 psDrawLine
+ globalGC1 77 194 3 3 0 360 78 195 psFillArc
+ globalGC1 81 195 78 195 psDrawLine
+ globalGC1 80 194 3 3 0 360 81 195 psFillArc
+ globalGC1 84 195 81 195 psDrawLine
+ globalGC1 83 194 3 3 0 360 84 195 psFillArc
+ globalGC1 87 195 84 195 psDrawLine
+ globalGC1 86 194 3 3 0 360 87 195 psFillArc
+ globalGC1 90 195 87 195 psDrawLine
+ globalGC1 89 194 3 3 0 360 90 195 psFillArc
+ globalGC1 93 195 90 195 psDrawLine
+ globalGC1 92 194 3 3 0 360 93 195 psFillArc
+ globalGC1 96 194 93 195 psDrawLine
+ globalGC1 95 193 3 3 0 360 96 194 psFillArc
+ globalGC1 101 192 96 194 psDrawLine
+ globalGC1 100 191 3 3 0 360 101 192 psFillArc
+ globalGC1 107 189 101 192 psDrawLine
+ globalGC1 106 188 3 3 0 360 107 189 psFillArc
+ globalGC1 113 186 107 189 psDrawLine
+ globalGC1 112 185 3 3 0 360 113 186 psFillArc
+ globalGC1 119 182 113 186 psDrawLine
+ globalGC1 118 181 3 3 0 360 119 182 psFillArc
+ globalGC1 125 178 119 182 psDrawLine
+ globalGC1 124 177 3 3 0 360 125 178 psFillArc
+ globalGC1 130 173 125 178 psDrawLine
+ globalGC1 129 172 3 3 0 360 130 173 psFillArc
+ globalGC1 136 168 130 173 psDrawLine
+ globalGC1 135 167 3 3 0 360 136 168 psFillArc
+ globalGC1 142 162 136 168 psDrawLine
+ globalGC1 141 161 3 3 0 360 142 162 psFillArc
+ globalGC1 148 157 142 162 psDrawLine
+ globalGC1 147 156 3 3 0 360 148 157 psFillArc
+ globalGC1 154 151 148 157 psDrawLine
+ globalGC1 153 150 3 3 0 360 154 151 psFillArc
+ globalGC1 159 145 154 151 psDrawLine
+ globalGC1 158 144 3 3 0 360 159 145 psFillArc
+ globalGC1 165 139 159 145 psDrawLine
+ globalGC1 164 138 3 3 0 360 165 139 psFillArc
+ globalGC1 171 134 165 139 psDrawLine
+ globalGC1 170 133 3 3 0 360 171 134 psFillArc
+ globalGC1 177 129 171 134 psDrawLine
+ globalGC1 176 128 3 3 0 360 177 129 psFillArc
+ globalGC1 183 124 177 129 psDrawLine
+ globalGC1 182 123 3 3 0 360 183 124 psFillArc
+ globalGC1 189 120 183 124 psDrawLine
+ globalGC1 188 119 3 3 0 360 189 120 psFillArc
+ globalGC1 194 116 189 120 psDrawLine
+ globalGC1 193 115 3 3 0 360 194 116 psFillArc
+ globalGC1 200 113 194 116 psDrawLine
+ globalGC1 199 112 3 3 0 360 200 113 psFillArc
+ globalGC1 206 110 200 113 psDrawLine
+ globalGC1 205 109 3 3 0 360 206 110 psFillArc
+ globalGC1 212 108 206 110 psDrawLine
+ globalGC1 211 107 3 3 0 360 212 108 psFillArc
+ globalGC1 215 107 212 108 psDrawLine
+ globalGC1 214 106 3 3 0 360 215 107 psFillArc
+ globalGC1 218 107 215 107 psDrawLine
+ globalGC1 217 106 3 3 0 360 218 107 psFillArc
+ globalGC1 221 107 218 107 psDrawLine
+ globalGC1 220 106 3 3 0 360 221 107 psFillArc
+ globalGC1 223 107 221 107 psDrawLine
+ globalGC1 222 106 3 3 0 360 223 107 psFillArc
+ globalGC1 226 107 223 107 psDrawLine
+ globalGC1 225 106 3 3 0 360 226 107 psFillArc
+ globalGC1 229 107 226 107 psDrawLine
+ globalGC1 228 106 3 3 0 360 229 107 psFillArc
+ globalGC1 232 107 229 107 psDrawLine
+ globalGC1 231 106 3 3 0 360 232 107 psFillArc
+ globalGC1 235 108 232 107 psDrawLine
+ globalGC1 234 107 3 3 0 360 235 108 psFillArc
+ globalGC1 241 110 235 108 psDrawLine
+ globalGC1 240 109 3 3 0 360 241 110 psFillArc
+ globalGC1 247 113 241 110 psDrawLine
+ globalGC1 246 112 3 3 0 360 247 113 psFillArc
+ globalGC1 252 116 247 113 psDrawLine
+ globalGC1 251 115 3 3 0 360 252 116 psFillArc
+ globalGC1 258 120 252 116 psDrawLine
+ globalGC1 257 119 3 3 0 360 258 120 psFillArc
+ globalGC1 264 124 258 120 psDrawLine
+ globalGC1 263 123 3 3 0 360 264 124 psFillArc
+ globalGC1 270 129 264 124 psDrawLine
+ globalGC1 269 128 3 3 0 360 270 129 psFillArc
+ globalGC1 276 134 270 129 psDrawLine
+ globalGC1 275 133 3 3 0 360 276 134 psFillArc
+ globalGC1 282 139 276 134 psDrawLine
+ globalGC1 281 138 3 3 0 360 282 139 psFillArc
+ globalGC1 287 145 282 139 psDrawLine
+ globalGC1 286 144 3 3 0 360 287 145 psFillArc
+ globalGC1 293 151 287 145 psDrawLine
+ globalGC1 292 150 3 3 0 360 293 151 psFillArc
+
+ grestore % restore graphics state
+
+
+ cleartomark %% clearing operand stack
+
+end %% pops mainDict from dictionary stack
+
+showpage
+
+%-------------------------- end --------------------------%