Cloned SEACAS for EXODUS library with extra build files for internal package management.
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.

119 lines
4.2 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 SHODEV (SHOTYP)
C=======================================================================
C --*** SHODEV *** (BLOT) Display device dependent options
C -- Written by Amy Gilkey - revised 04/26/88
C --
C --SHODEV displays the device dependent options requested by the
C --option type:
C -- SOFTCHAR - software versus hardware characters
C -- FONT - font to use
C -- COLOR - number of standard colors to use and maximum on device
C -- SPECTRUM - number of spectrum colors and maximum on device
C -- SNAP - number of frames to snap
C -- AUTO - automatic versus user-directed plotting
C --
C --Parameters:
C -- SHOTYP - IN - the show option (see above)
C --Routines Called:
C -- GRGPAR - (GRPLIB) Get graphics device parameters
C -- INTSTR - (STRLIB) Convert integers to strings
C -- LENSTR - (STRLIB) Find string length
C -- SQZSTR - (STRLIB) Delete extra blanks from string
CHARACTER*(*) SHOTYP
LOGICAL ONEDEV, TWODEV
CHARACTER*3 DEVNAM(2)
INTEGER IPARMS(3)
CHARACTER*80 STRING
CHARACTER*20 STR20
CALL GRGPARD ('DEVICE', 1, ONEDEV, DEVNAM(1))
CALL GRGPARD ('DEVICE', 2, TWODEV, DEVNAM(2))
ISDEV = 1
IF (.NOT. ONEDEV) ISDEV = 2
IEDEV = 2
IF (.NOT. TWODEV) IEDEV = 1
TWODEV = (ONEDEV .AND. TWODEV)
IF (SHOTYP .EQ. 'SOFTCHAR') THEN
DO 100 I = ISDEV, IEDEV
CALL GRGPAR (SHOTYP, I, IPARMS, STR20)
L = LENSTR (STR20)
STRING = 'Plot in ' // STR20(:L) // ' characters$'
CALL PRTDEV (STRING, DEVNAM(I), TWODEV)
100 CONTINUE
ELSE IF (SHOTYP .EQ. 'FONT') THEN
DO 110 I = ISDEV, IEDEV
CALL GRGPAR (SHOTYP, I, IPARMS, STR20)
L = LENSTR(STR20)
STRING = 'Plot in ' // STR20(:L) // ' font$'
CALL PRTDEV (STRING, DEVNAM(I), TWODEV)
110 CONTINUE
ELSE IF ((SHOTYP .EQ. 'COLOR') .OR. (SHOTYP .EQ. 'SPECTRUM')) THEN
DO 120 I = ISDEV, IEDEV
CALL GRGPAR ('COLOR', I, IPARMS, STR20)
WRITE (STR20, 10000, IOSTAT=IDUM) IPARMS(1), IPARMS(2)
10000 FORMAT (I6, ' of ', I6)
CALL SQZSTR (STR20, L)
IF (IPARMS(2) .EQ. 0) THEN
STRING = 'Number of colors to use$: single color device'
CALL PRTDEV (STRING, DEVNAM(I), TWODEV)
ELSE
STRING = 'Number of standard colors to use$: '
& // STR20(:L)
CALL PRTDEV (STRING, DEVNAM(I), TWODEV)
END IF
CALL GRGPAR ('SPECTRUM', I, IPARMS, STR20)
IF (IPARMS(3) .GT. 0) THEN
WRITE (STR20, 10000, IOSTAT=IDUM) IPARMS(1), IPARMS(2)
CALL SQZSTR (STR20, L)
IF (IPARMS(3) .EQ. 1) THEN
STRING = 'Number of spectrum colors to use$: '
& // STR20(:L)
CALL PRTDEV (STRING, DEVNAM(I), TWODEV)
ELSE
STRING = '***$: ' // STR20(:L)
CALL PRTDEV (STRING, DEVNAM(I), TWODEV)
END IF
END IF
120 CONTINUE
ELSE IF (SHOTYP .EQ. 'SNAP') THEN
I = ISDEV
CALL GRGPAR (SHOTYP, I, IPARMS, STR20)
IF (IPARMS(1) .LT. 0) THEN
STRING = 'Cannot snap frames$'
CALL PRTDEV (STRING, DEVNAM(I), .TRUE.)
ELSE IF (IPARMS(1) .LE. 0) THEN
STRING = 'Do not snap frames$'
CALL PRTDEV (STRING, DEVNAM(I), TWODEV)
ELSE
CALL INTSTR (1, 0, IPARMS(1), STR20, L)
STRING = 'Snap ' // STR20(:L) // ' frames for each plot$'
CALL PRTDEV (STRING, DEVNAM(I), TWODEV)
END IF
ELSE IF (SHOTYP .EQ. 'AUTO') THEN
I = ISDEV
CALL GRGPAR (SHOTYP, I, IPARMS, STR20)
L = LENSTR (STR20)
STRING = 'Plot in ' // STR20(:L) // ' mode$'
CALL PRTDEV (STRING, DEVNAM(I), TWODEV)
END IF
RETURN
END