You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
4.5 KiB
133 lines
4.5 KiB
2 years ago
|
C Copyright(C) 1999-2020 National Technology & Engineering Solutions
|
||
|
C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
|
||
|
C NTESS, the U.S. Government retains certain rights in this software.
|
||
|
C
|
||
|
C See packages/seacas/LICENSE for details
|
||
|
|
||
|
C=======================================================================
|
||
|
SUBROUTINE GRGPAR (PARTYP, INDEV, IPARMS, IPSTR)
|
||
|
C=======================================================================
|
||
|
|
||
|
C --*** GRGPAR *** (GRPLIB) Get graphics parameters
|
||
|
C -- Written by Amy Gilkey - revised 04/11/88
|
||
|
C --
|
||
|
C --GRGPAR gets information specified by PARTYP about a graphics device.
|
||
|
C -- DEVICE - select current device
|
||
|
C -- SNAP - set the number of frame snaps
|
||
|
C -- FONT - select font to use
|
||
|
C -- SOFTCHAR - select software or hardware characters
|
||
|
C -- COLOR - select number of standard colors to use
|
||
|
C -- SPECTRUM - select number of spectrum colors to use
|
||
|
C -- AUTO - set automatic plotting
|
||
|
C --
|
||
|
C --Parameters:
|
||
|
C -- INDEV - IN - the device for which information is requested;
|
||
|
C -- 0 for current device
|
||
|
C -- PARTYP - IN - the parameter type (as above)
|
||
|
C -- IPARMS - OUT - the parameter values (dependent on PARTYP)
|
||
|
C -- for DEVICE - true iff device exists
|
||
|
C -- for SNAP - the number of frames to snap
|
||
|
C -- for FONT - the font to use
|
||
|
C -- for SOFTCHAR - true iff software characters
|
||
|
C -- for COLOR - the number of standard colors to use and the
|
||
|
C -- maximum number of colors
|
||
|
C -- for SPECTRUM - the number of alternate colors to use and the
|
||
|
C -- maximum number of colors and the map type
|
||
|
C -- for AUTO - true iff automatic plotting
|
||
|
C -- IPARMS - OUT - the parameter string (dependent on PARTYP)
|
||
|
C -- for DEVICE - device name
|
||
|
C -- for SNAP - not set
|
||
|
C -- for FONT - the font type
|
||
|
C -- for SOFTCHAR - "software" or "hardware"
|
||
|
C -- for COLOR, SPECTRUM - the color map type "standard" or "spectrum"
|
||
|
C -- for AUTO - "automatic" or "user-directed"
|
||
|
C --
|
||
|
C --Common Variables:
|
||
|
C -- Uses ICURDV, DEVOK, DEVNAM, NSNAP, IFONT, SOFTCH, AUTOPL,
|
||
|
C -- MAXCOL, NUMCOL, MAPALT of /GRPCOM/
|
||
|
|
||
|
COMMON /GRPCOC/ DEVNAM(2), DEVCOD(2)
|
||
|
CHARACTER*3 DEVNAM
|
||
|
CHARACTER*8 DEVCOD
|
||
|
COMMON /GRPCOM/ ICURDV, ISHARD, DEVOK(2), TALKOK(2),
|
||
|
& NSNAP(2), IFONT(2), SOFTCH(2), AUTOPL(2),
|
||
|
& MAXCOL(2), NUMCOL(0:1,2), MAPALT(2), MAPUSE(2)
|
||
|
LOGICAL ISHARD, DEVOK, TALKOK, SOFTCH, AUTOPL
|
||
|
|
||
|
CHARACTER*(*) PARTYP
|
||
|
INTEGER INDEV
|
||
|
INTEGER IPARMS(*)
|
||
|
CHARACTER*(*) IPSTR
|
||
|
|
||
|
IF ((INDEV .NE. 1) .AND. (INDEV .NE. 2)) THEN
|
||
|
IDEV = ICURDV
|
||
|
ELSE
|
||
|
IDEV = INDEV
|
||
|
END IF
|
||
|
|
||
|
IF (PARTYP .EQ. 'DEVICE') THEN
|
||
|
IF (DEVOK(IDEV)) THEN
|
||
|
CALL CPYLOG (1, .TRUE., IPARMS(1))
|
||
|
IPSTR = DEVNAM(IDEV)
|
||
|
ELSE
|
||
|
CALL CPYLOG (1, .FALSE., IPARMS(1))
|
||
|
IPSTR = ' '
|
||
|
END IF
|
||
|
|
||
|
ELSE IF (PARTYP .EQ. 'SNAP') THEN
|
||
|
IPARMS(1) = NSNAP(IDEV)
|
||
|
|
||
|
ELSE IF (PARTYP .EQ. 'FONT') THEN
|
||
|
IPARMS(1) = IFONT(IDEV)
|
||
|
IF (IFONT(IDEV) .EQ. 1) THEN
|
||
|
IPSTR = 'stick'
|
||
|
ELSE IF (IFONT(IDEV) .EQ. 2) THEN
|
||
|
IPSTR = 'sanserif'
|
||
|
ELSE IF (IFONT(IDEV) .EQ. 3) THEN
|
||
|
IPSTR = 'Roman'
|
||
|
ELSE
|
||
|
IPSTR = ' '
|
||
|
END IF
|
||
|
|
||
|
ELSE IF (PARTYP .EQ. 'SOFTCHAR') THEN
|
||
|
CALL CPYLOG (1, SOFTCH(IDEV), IPARMS(1))
|
||
|
IF (SOFTCH(IDEV)) THEN
|
||
|
IPSTR = 'software'
|
||
|
ELSE
|
||
|
IPSTR = 'hardware'
|
||
|
END IF
|
||
|
|
||
|
ELSE IF (PARTYP .EQ. 'COLOR') THEN
|
||
|
IPARMS(1) = NUMCOL(0,IDEV)
|
||
|
IPARMS(2) = MIN (6, MAXCOL(IDEV))
|
||
|
IPARMS(3) = 0
|
||
|
IPSTR = 'standard'
|
||
|
|
||
|
ELSE IF (PARTYP .EQ. 'SPECTRUM') THEN
|
||
|
IPARMS(3) = MAPALT(IDEV)
|
||
|
IF (MAPALT(IDEV) .EQ. 0) THEN
|
||
|
IPARMS(1) = NUMCOL(0,IDEV)
|
||
|
IPARMS(2) = MIN (6, MAXCOL(IDEV))
|
||
|
IPSTR = 'standard'
|
||
|
ELSE IF (MAPALT(IDEV) .EQ. 1) THEN
|
||
|
IPARMS(1) = NUMCOL(1,IDEV)
|
||
|
IPARMS(2) = MAXCOL(IDEV) - 6
|
||
|
IPSTR = 'spectrum'
|
||
|
ELSE
|
||
|
IPARMS(1) = 0
|
||
|
IPARMS(2) = MAXCOL(IDEV)
|
||
|
IPSTR = 'invalid'
|
||
|
END IF
|
||
|
|
||
|
ELSE IF (PARTYP .EQ. 'AUTO') THEN
|
||
|
CALL CPYLOG (1, AUTOPL(IDEV), IPARMS(1))
|
||
|
IF (AUTOPL(IDEV)) THEN
|
||
|
IPSTR = 'automatic'
|
||
|
ELSE
|
||
|
IPSTR = 'user-directed'
|
||
|
END IF
|
||
|
END IF
|
||
|
|
||
|
RETURN
|
||
|
END
|