* * $Id: ipdef.F,v 1.7 2005/10/28 12:45:45 couet Exp $ * * $Log: ipdef.F,v $ * Revision 1.7 2005/10/28 12:45:45 couet * - Mods to make CUPS version 1.1.22 happy * * Revision 1.6 2005/10/28 12:38:13 couet * - SVG driver, workstation type -779 * * Revision 1.5 2003/03/20 09:14:10 couet * - Enclose the PS code between %%EndProlog and the fist %%Page in %%BeginSetup * and %EndSetup. That way the CUPS printing package is happy ! * * Revision 1.4 2003/03/18 13:37:01 couet * - %%Page 1 moved just after %%EndProlog to be compliant with CUPS * printing software which seems to become the standard on Linux. * * Revision 1.3 2000/04/03 14:53:14 couet * - "newpath" has been added at the beginning of the PS and EPS file to close * some graphics path which may have been left opened by the application in * which the HIGZ PS or EPS file is included. * * Revision 1.2 1999/07/20 14:09:03 couet * - New version of the pattern polygon filling. It now uses the Pattern * functionality provided by PostScript level 2. This allows to have * colored pattern and a better drawing of the pattern. * * Revision 1.1.1.1 1996/02/14 13:11:06 mclareni * Higz * * #include "higz/pilot.h" *CMZ : 1.23/02 07/06/95 17.36.12 by O.Couet *-- Author : O.Couet SUBROUTINE IPDEF *.===========> *. *. This routine initialise the following PostScript procedures: *. *. +------------+------------------+-----------------------------------+ *. | Macro Name | Input parameters | Explanation | *. +------------+------------------+-----------------------------------+ *. | l | x y | Draw a line to the x y position | *. +------------+------------------+-----------------------------------+ *. | m | x y | Move to the position x y | *. +------------+------------------+-----------------------------------+ *. | box | dx dy x y | Define a box | *. +------------+------------------+-----------------------------------+ *. | bl | dx dy x y | Draw a line box | *. +------------+------------------+-----------------------------------+ *. | bf | dx dy x y | Draw a filled box | *. +------------+------------------+-----------------------------------+ *. | sw | text | Return string width of text | *. +------------+------------------+-----------------------------------+ *. | t | x y | Translate | *. +------------+------------------+-----------------------------------+ *. | r | angle | Rotate | *. +------------+------------------+-----------------------------------+ *. | rl | i j | Roll the stack | *. +------------+------------------+-----------------------------------+ *. | d | x y | Draw a relative line to x y | *. +------------+------------------+-----------------------------------+ *. | X | x | Draw a relative line to x (y=0) | *. +------------+------------------+-----------------------------------+ *. | Y | y | Draw a relative line to y (x=0) | *. +------------+------------------+-----------------------------------+ *. | rm | x y | Move relatively to x y | *. +------------+------------------+-----------------------------------+ *. | gr | | Restore the graphic context | *. +------------+------------------+-----------------------------------+ *. | lw | lwidth | Set line width to lwidth | *. +------------+------------------+-----------------------------------+ *. | sd | [] 0 | Set dash line define by [] | *. +------------+------------------+-----------------------------------+ *. | s | | Stroke mode | *. +------------+------------------+-----------------------------------+ *. | c | r g b | Set rgb color to r g b | *. +------------+------------------+-----------------------------------+ *. | cl | | Close path | *. +------------+------------------+-----------------------------------+ *. | f | | Fill the last describe path | *. +------------+------------------+-----------------------------------+ *. | mXX | x y | Draw the marker type XX at (x,y) | *. +------------+------------------+-----------------------------------+ *. | Zone | ix iy | Define the current zone | *. +------------+------------------+-----------------------------------+ *. | black | | The color is black | *. +------------+------------------+-----------------------------------+ *. | C | dx dy x y | Clipping on | *. +------------+------------------+-----------------------------------+ *. | NC | | Clipping off | *. +------------+------------------+-----------------------------------+ *. | R | | repeat | *. +------------+------------------+-----------------------------------+ *. *..==========> (O.Couet) #include "higz/hiatt.inc" #include "higz/hipost.inc" #include "higz/hiflag.inc" CHARACTER*80 CHPS1,CHPS2 #include "higz/hivers.inc" *.______________________________________ * #include "higz/icmtop.inc" NPAGES=1 * * Mode is last digit of Postscript Workstation type * mode=1,2 for portrait/landscape black and white * mode=3 for Encapsulated PostScript File * mode=4 for portrait colour * mode=5 for lanscape colour * MODE=MOD(ABS(IPSWTY),10) IF(MODE.LE.0.OR.MODE.GT.5)GOTO 20 * * NX (NY) is the total number of windows in x (y) * NX=MOD(ABS(IPSWTY),1000)/100 NY=MOD(ABS(IPSWTY),100)/10 IF(NX.LE.0.OR.NY.LE.0)GOTO 20 IXZ=1 IYZ=1 * * IFMT = 0-99 is the European page format (A4,A3 ...) * IFMT = 100 is the US format 8.5x11.0 inch * IFMT = 200 is the US format 8.5x14.0 inch * IFMT = 300 is the US format 11.0x17.0 inch * IFMT=ABS(IPSWTY/1000) IF(IFMT.EQ.0)IFMT=4 IF(IFMT.EQ.99)IFMT=0 * IF(TFLAG)GOTO 10 * IF(VFLAG)THEN INQUIRE(UNIT=LUNPS,NAME=CHPS2) ILEN=MIN(LENOCC(CHPS2),60) CALL IPPSTR('