diff options
-rwxr-xr-x | configure | 18 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | configure.ac.pamphlet | 2 | ||||
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/boot/parser.boot | 6 | ||||
-rw-r--r-- | src/boot/tokens.boot | 1 | ||||
-rw-r--r-- | src/graph/Makefile.in | 9 | ||||
-rw-r--r-- | src/graph/PS/colorpoly.ps | 24 | ||||
-rw-r--r-- | src/graph/PS/colorwol.ps | 24 | ||||
-rw-r--r-- | src/graph/PS/draw.ps | 22 | ||||
-rw-r--r-- | src/graph/PS/drawIstr.ps | 47 | ||||
-rw-r--r-- | src/graph/PS/drawarc.ps | 33 | ||||
-rw-r--r-- | src/graph/PS/drawcolor.ps | 22 | ||||
-rw-r--r-- | src/graph/PS/drawline.ps | 18 | ||||
-rw-r--r-- | src/graph/PS/drawlines.ps | 22 | ||||
-rw-r--r-- | src/graph/PS/drawpoint.ps | 16 | ||||
-rw-r--r-- | src/graph/PS/drawrect.ps | 18 | ||||
-rw-r--r-- | src/graph/PS/drawstr.ps | 17 | ||||
-rw-r--r-- | src/graph/PS/drwfilled.ps | 23 | ||||
-rw-r--r-- | src/graph/PS/end.ps | 8 | ||||
-rw-r--r-- | src/graph/PS/fillarc.ps | 35 | ||||
-rw-r--r-- | src/graph/PS/fillpoly.ps | 24 | ||||
-rw-r--r-- | src/graph/PS/fillwol.ps | 25 | ||||
-rw-r--r-- | src/graph/PS/header.ps | 156 | ||||
-rw-r--r-- | src/graph/PS/setup.ps | 6 |
25 files changed, 570 insertions, 13 deletions
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for OpenAxiom 1.4.0-2009-09-24. +# Generated by GNU Autoconf 2.63 for OpenAxiom 1.4.0-2009-09-26. # # Report bugs to <open-axiom-bugs@lists.sf.net>. # @@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='OpenAxiom' PACKAGE_TARNAME='openaxiom' -PACKAGE_VERSION='1.4.0-2009-09-24' -PACKAGE_STRING='OpenAxiom 1.4.0-2009-09-24' +PACKAGE_VERSION='1.4.0-2009-09-26' +PACKAGE_STRING='OpenAxiom 1.4.0-2009-09-26' PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net' ac_unique_file="src/Makefile.pamphlet" @@ -1498,7 +1498,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OpenAxiom 1.4.0-2009-09-24 to adapt to many kinds of systems. +\`configure' configures OpenAxiom 1.4.0-2009-09-26 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1568,7 +1568,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OpenAxiom 1.4.0-2009-09-24:";; + short | recursive ) echo "Configuration of OpenAxiom 1.4.0-2009-09-26:";; esac cat <<\_ACEOF @@ -1671,7 +1671,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -OpenAxiom configure 1.4.0-2009-09-24 +OpenAxiom configure 1.4.0-2009-09-26 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1685,7 +1685,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenAxiom $as_me 1.4.0-2009-09-24, which was +It was created by OpenAxiom $as_me 1.4.0-2009-09-26, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -17062,7 +17062,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by OpenAxiom $as_me 1.4.0-2009-09-24, which was +This file was extended by OpenAxiom $as_me 1.4.0-2009-09-26, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17125,7 +17125,7 @@ Report bugs to <bug-autoconf@gnu.org>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -OpenAxiom config.status 1.4.0-2009-09-24 +OpenAxiom config.status 1.4.0-2009-09-26 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 50f731a1..7394acaa 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ sinclude(config/open-axiom.m4) sinclude(config/aclocal.m4) -AC_INIT([OpenAxiom], [1.4.0-2009-09-24], +AC_INIT([OpenAxiom], [1.4.0-2009-09-26], [open-axiom-bugs@lists.sf.net]) AC_CONFIG_AUX_DIR(config) diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet index 5d27766a..da453355 100644 --- a/configure.ac.pamphlet +++ b/configure.ac.pamphlet @@ -1151,7 +1151,7 @@ information: <<Autoconf init>>= sinclude(config/open-axiom.m4) sinclude(config/aclocal.m4) -AC_INIT([OpenAxiom], [1.4.0-2009-09-24], +AC_INIT([OpenAxiom], [1.4.0-2009-09-26], [open-axiom-bugs@lists.sf.net]) @ diff --git a/src/ChangeLog b/src/ChangeLog index 2c61282d..06a1e318 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2009-09-26 Gabriel Dos Reis <gdr@cse.tamu.edu> + + Fix SF/2854105 + * graph/PS/*.ps: New. + 2009-09-26 Gabriel Dos Reis <gdr@cs.tamu.edu> * algebra/free.spad.pamphlet (FreeMonoidCategory): New. diff --git a/src/boot/parser.boot b/src/boot/parser.boot index fbe8724c..56bd4d73 100644 --- a/src/boot/parser.boot +++ b/src/boot/parser.boot @@ -722,6 +722,12 @@ bpCatchItem() == (bpException() or bpTrap()) and bpPush %Catch bpPop1() +++ Leave: +++ LEAVE Logical +bpLeave() == + bpEqKey "LEAVE" and (bpLogical() or bpTrap()) and + bpPush %LeaveAst bpPop1() + ++ Return: ++ RETURN Assign bpReturn()== diff --git a/src/boot/tokens.boot b/src/boot/tokens.boot index c5990f0e..ef860684 100644 --- a/src/boot/tokens.boot +++ b/src/boot/tokens.boot @@ -51,6 +51,7 @@ shoeKeyWords == [ _ ['"in", "IN" ], _ ['"is", "IS"], _ ['"isnt", "ISNT"] , _ + ['"leave", "LEAVE"], _ ['"module", "MODULE"], _ ['"namespace", "NAMESPACE"], _ ['"of", "OF"] , _ diff --git a/src/graph/Makefile.in b/src/graph/Makefile.in index ec2f3372..6ffecf3c 100644 --- a/src/graph/Makefile.in +++ b/src/graph/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2008, Gabriel Dos Reis. +# Copyright (C) 2007-2009, Gabriel Dos Reis. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -49,6 +49,11 @@ stamp: all-subdirs parabola/data parabola/graph0 .PHONY: all-subdirs all-subdirs: all-subdirs.pre all-subdirs.rest + +.PHONY: all-PS +all-PS: all-Gdraws $(srcdir)/PS/*.ps + cp -p $(srcdir)/PS/*.ps $(axiom_target_libdir)/graph/ + .PHONY: all-subdirs.pre all-subdirs.pre: -rm -f stamp @@ -56,7 +61,7 @@ all-subdirs.pre: .PHONY: all-subdirs.rest all-subdirs.rest: all-subdirs.pre all-Gdraws all-viewman \ - all-view2D all-view3D all-viewAlone + all-view2D all-view3D all-viewAlone all-PS all-viewman: all-Gdraws diff --git a/src/graph/PS/colorpoly.ps b/src/graph/PS/colorpoly.ps new file mode 100644 index 00000000..c4e5da72 --- /dev/null +++ b/src/graph/PS/colorpoly.ps @@ -0,0 +1,24 @@ +% operand stack configuration in order to use psColorPoly: +% psFillPoly +% XPoint[0].y +% XPoint[0].x +% n +% ... +% XPoint[n].y +% XPoint[n].x +% graphics-context dictionary +% this draws a polygon by connecting all the points and fills the +% region with foreground color + +/psColorPoly + { gsave + newpath + yVal moveto + 1 sub { + yVal lineto + } repeat + closepath + fill %% fills with foreground color + grestore } + def + diff --git a/src/graph/PS/colorwol.ps b/src/graph/PS/colorwol.ps new file mode 100644 index 00000000..3e9cd30f --- /dev/null +++ b/src/graph/PS/colorwol.ps @@ -0,0 +1,24 @@ +% operand stack configuration in order to use psDrawFilled: +% psFillwOL +% XPoint[0].y +% XPoint[0].x +% n +% ... +% XPoint[n].y +% XPoint[n].x +% graphics-context dictionary +% this draws lines connecting all the points and fills the +% region with background color (default: 1, or white). + +/psColorwOutline + { gsave + newpath + yVal moveto + 1 sub { + yVal lineto + } repeat + closepath + begin gsave fill grestore %% fills with foreground color + 0 setgray stroke grestore end } %% outline it with black + def + diff --git a/src/graph/PS/draw.ps b/src/graph/PS/draw.ps new file mode 100644 index 00000000..1d3b5080 --- /dev/null +++ b/src/graph/PS/draw.ps @@ -0,0 +1,22 @@ +% operand stack configuration in order to use psDraw: +% psDraw +% vlist[0].y +% vlist[0].x +% n +% ... +% vlist[n].y +% vlist[n].x +% graphics-context dictionary +% to draw lines connecting points in vlist[0] to vlist[n] + +/psDraw + { gsave + newpath + yVal moveto %% set currentpoint + 1 sub { %% loop to draw lines. + yVal lineto + } repeat + begin installGC stroke end %% draw in foreground color + grestore } + def + diff --git a/src/graph/PS/drawIstr.ps b/src/graph/PS/drawIstr.ps new file mode 100644 index 00000000..c9234c0c --- /dev/null +++ b/src/graph/PS/drawIstr.ps @@ -0,0 +1,47 @@ +% 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 + diff --git a/src/graph/PS/drawarc.ps b/src/graph/PS/drawarc.ps new file mode 100644 index 00000000..408ed3dc --- /dev/null +++ b/src/graph/PS/drawarc.ps @@ -0,0 +1,33 @@ +% operand stack configuration in order to use psDrawArc: +% psDrawArc +% angle2 +% angle1 +% width +% height +% y +% x +% graphics-context dictionary +% this draws 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. + +/psDrawArc + { gsave + newpath + /sfactor 4 index 4 index div def %% scale factor + 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 on top of stack + 1 index add + arcn %% draw clockwise arc + begin installGC stroke end + grestore } + def + diff --git a/src/graph/PS/drawcolor.ps b/src/graph/PS/drawcolor.ps new file mode 100644 index 00000000..415edf34 --- /dev/null +++ b/src/graph/PS/drawcolor.ps @@ -0,0 +1,22 @@ +% operand stack configuration in order to use psDrawColor: +% psDraw +% vlist[0].y +% vlist[0].x +% n +% ... +% vlist[n].y +% vlist[n].x +% graphics-context dictionary +% to draw lines connecting points in vlist[0] to vlist[n] + +/psDrawColor + { gsave + newpath + yVal moveto %% set currentpoint + 1 sub { %% loop to draw lines. + yVal lineto + } repeat + stroke %% draw in foreground color + grestore } + def + diff --git a/src/graph/PS/drawline.ps b/src/graph/PS/drawline.ps new file mode 100644 index 00000000..8294f15a --- /dev/null +++ b/src/graph/PS/drawline.ps @@ -0,0 +1,18 @@ +% 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 + diff --git a/src/graph/PS/drawlines.ps b/src/graph/PS/drawlines.ps new file mode 100644 index 00000000..84d20894 --- /dev/null +++ b/src/graph/PS/drawlines.ps @@ -0,0 +1,22 @@ +% 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 + diff --git a/src/graph/PS/drawpoint.ps b/src/graph/PS/drawpoint.ps new file mode 100644 index 00000000..4283ebaa --- /dev/null +++ b/src/graph/PS/drawpoint.ps @@ -0,0 +1,16 @@ +% operand stack configuration in order to use psDrawPoint: +% psDrawPoint +% y0 +% x0 +% graphics-context dictionary +% this draws a point at (x0, y0). + +/psDrawPoint + { gsave + newpath + yVal moveto + yVal lineto + begin installGC stroke end %%fills with foreground color + grestore } + def + diff --git a/src/graph/PS/drawrect.ps b/src/graph/PS/drawrect.ps new file mode 100644 index 00000000..ed955acb --- /dev/null +++ b/src/graph/PS/drawrect.ps @@ -0,0 +1,18 @@ +% operand stack configuration in order to use psDrawRect: +% psDrawRect +% y +% x +% height +% width +% graphics-context dictionary +% this draws an outline of a rectangle whose origin is at (x,y) and is width +% + 1 wide and height + 1 tall. + +/psDrawRect + { gsave + newpath + rectangle + begin installGC stroke end + grestore } + def + diff --git a/src/graph/PS/drawstr.ps b/src/graph/PS/drawstr.ps new file mode 100644 index 00000000..232db858 --- /dev/null +++ b/src/graph/PS/drawstr.ps @@ -0,0 +1,17 @@ +% 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 + diff --git a/src/graph/PS/drwfilled.ps b/src/graph/PS/drwfilled.ps new file mode 100644 index 00000000..9fc41634 --- /dev/null +++ b/src/graph/PS/drwfilled.ps @@ -0,0 +1,23 @@ +% operand stack configuration in order to use psDrawFilled: +% psDrawFilled +% vlist[0].y +% vlist[0].x +% n +% ... +% vlist[n].y +% vlist[n].x +% graphics-context dictionary +% this draws lines connecting all the points and fills the +% region with background color (default: 1, or white). + +/psDrawFilled + { gsave + newpath + yVal moveto + 1 sub { + yVal lineto + } repeat + begin installGC fill end %% fills with foreground color + grestore } + def + diff --git a/src/graph/PS/end.ps b/src/graph/PS/end.ps new file mode 100644 index 00000000..b7dc5ef8 --- /dev/null +++ b/src/graph/PS/end.ps @@ -0,0 +1,8 @@ + + cleartomark %% clearing operand stack + +end %% pops mainDict from dictionary stack + +showpage + +%-------------------------- end --------------------------% diff --git a/src/graph/PS/fillarc.ps b/src/graph/PS/fillarc.ps new file mode 100644 index 00000000..e0e62133 --- /dev/null +++ b/src/graph/PS/fillarc.ps @@ -0,0 +1,35 @@ +% 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 + yVal moveto + newpath + /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 + arc %% draw clockwise arc + begin installGC fill end %% fills with foreground color + grestore } + def + diff --git a/src/graph/PS/fillpoly.ps b/src/graph/PS/fillpoly.ps new file mode 100644 index 00000000..5d387fa5 --- /dev/null +++ b/src/graph/PS/fillpoly.ps @@ -0,0 +1,24 @@ +% operand stack configuration in order to use psDrawFilled: +% psFillPoly +% XPoint[0].y +% XPoint[0].x +% n +% ... +% XPoint[n].y +% XPoint[n].x +% graphics-context dictionary +% this draws a polygon by connecting all the points and fills the +% region with foreground color + +/psFillPoly + { gsave + newpath + yVal moveto + 1 sub { + yVal lineto + } repeat + closepath + begin installGC fill end %% fills with foreground color + grestore } + def + diff --git a/src/graph/PS/fillwol.ps b/src/graph/PS/fillwol.ps new file mode 100644 index 00000000..4980732b --- /dev/null +++ b/src/graph/PS/fillwol.ps @@ -0,0 +1,25 @@ +% operand stack configuration in order to use psDrawFilled: +% psFillwOL +% XPoint[0].y +% XPoint[0].x +% n +% ... +% XPoint[n].y +% XPoint[n].x +% graphics-context dictionary +% this draws lines connecting all the points and fills the +% region with background color (default: 1, or white). + +/psFillwOutline + { gsave + newpath + yVal moveto + 1 sub { + yVal lineto + } repeat + closepath + begin installGC + gsave fill grestore %% fills with foreground color + 0 setgray stroke grestore end } %% outline it with black + def + diff --git a/src/graph/PS/header.ps b/src/graph/PS/header.ps new file mode 100644 index 00000000..1c450133 --- /dev/null +++ b/src/graph/PS/header.ps @@ -0,0 +1,156 @@ +%!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 exch sub } %% 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 + diff --git a/src/graph/PS/setup.ps b/src/graph/PS/setup.ps new file mode 100644 index 00000000..b16eba1d --- /dev/null +++ b/src/graph/PS/setup.ps @@ -0,0 +1,6 @@ +%-------------------------- script --------------------------% + +% 1 inch 1 inch translate + + mark %% mark bottom of our stack + |