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
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
|