aboutsummaryrefslogtreecommitdiff
path: root/src/doc/ps/ribbon2r.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/ribbon2r.ps
downloadopen-axiom-ab8cc85adde879fb963c94d15675783f2cf4b183.tar.gz
Initial population.
Diffstat (limited to 'src/doc/ps/ribbon2r.ps')
-rw-r--r--src/doc/ps/ribbon2r.ps418
1 files changed, 418 insertions, 0 deletions
diff --git a/src/doc/ps/ribbon2r.ps b/src/doc/ps/ribbon2r.ps
new file mode 100644
index 00000000..d198150e
--- /dev/null
+++ b/src/doc/ps/ribbon2r.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 12 196 287 196 psDrawLine
+ globGC (X) 7 201 psDrawStr
+ globalGC1 106.000000 setForeground
+ globGC 106.000000 setForeground
+ globalGC1 0.000000 setForeground
+ globGC 0.000000 setForeground
+ globalGC1 150 212 150 186 psDrawLine
+ globGC (Y) 155 217 psDrawStr
+ globalGC1 106.000000 setForeground
+ globGC 106.000000 setForeground
+ globalGC1 0.000000 setForeground
+ globGC 0.000000 setForeground
+ globalGC1 150 59 150 334 psDrawLine
+ globGC (Z) 155 54 psDrawStr
+ globalGC1 106.000000 setForeground
+ globGC 106.000000 setForeground
+ 1 0 0 componentGC setLineAttributes
+ componentGC 0.000000 setForeground
+ componentGC
+ 32 79
+ 40 95
+ 49 111
+ 58 125
+ 67 138
+ 75 150
+ 84 160
+ 93 169
+ 102 177
+ 110 183
+ 119 189
+ 128 192
+ 136 195
+ 145 196
+ 154 196
+ 163 195
+ 171 192
+ 180 189
+ 189 183
+ 197 177
+ 206 169
+ 215 160
+ 224 150
+ 232 138
+ 241 125
+ 250 111
+ 259 95
+ 28 267 79 psDrawLines
+ componentGC
+ 6 66
+ 16 86
+ 27 105
+ 38 122
+ 48 138
+ 59 153
+ 70 165
+ 80 176
+ 91 186
+ 102 194
+ 112 200
+ 123 205
+ 134 208
+ 144 209
+ 155 209
+ 165 208
+ 176 205
+ 187 200
+ 197 194
+ 208 186
+ 219 176
+ 229 165
+ 240 153
+ 251 138
+ 261 122
+ 272 105
+ 283 86
+ 28 293 66 psDrawLines
+ componentGC
+ 293 66
+ 2 267 79 psDrawLines
+ componentGC
+ 283 86
+ 2 259 95 psDrawLines
+ componentGC
+ 272 105
+ 2 250 111 psDrawLines
+ componentGC
+ 261 122
+ 2 241 125 psDrawLines
+ componentGC
+ 251 138
+ 2 232 138 psDrawLines
+ componentGC
+ 240 153
+ 2 224 150 psDrawLines
+ componentGC
+ 229 165
+ 2 215 160 psDrawLines
+ componentGC
+ 219 176
+ 2 206 169 psDrawLines
+ componentGC
+ 208 186
+ 2 197 177 psDrawLines
+ componentGC
+ 197 194
+ 2 189 183 psDrawLines
+ componentGC
+ 187 200
+ 2 180 189 psDrawLines
+ componentGC
+ 176 205
+ 2 171 192 psDrawLines
+ componentGC
+ 165 208
+ 2 163 195 psDrawLines
+ componentGC
+ 155 209
+ 2 154 196 psDrawLines
+ componentGC
+ 144 209
+ 2 145 196 psDrawLines
+ componentGC
+ 134 208
+ 2 136 195 psDrawLines
+ componentGC
+ 123 205
+ 2 128 192 psDrawLines
+ componentGC
+ 112 200
+ 2 119 189 psDrawLines
+ componentGC
+ 102 194
+ 2 110 183 psDrawLines
+ componentGC
+ 91 186
+ 2 102 177 psDrawLines
+ componentGC
+ 80 176
+ 2 93 169 psDrawLines
+ componentGC
+ 70 165
+ 2 84 160 psDrawLines
+ componentGC
+ 59 153
+ 2 75 150 psDrawLines
+ componentGC
+ 48 138
+ 2 67 138 psDrawLines
+ componentGC
+ 38 122
+ 2 58 125 psDrawLines
+ componentGC
+ 27 105
+ 2 49 111 psDrawLines
+ componentGC
+ 16 86
+ 2 40 95 psDrawLines
+ componentGC
+ 6 66
+ 2 32 79 psDrawLines
+
+ grestore % restore graphics state
+
+
+ cleartomark %% clearing operand stack
+
+end %% pops mainDict from dictionary stack
+
+showpage
+
+%-------------------------- end --------------------------%