home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d2xx / d267 / diglib.lha / Diglib / diglib.zoo / diglib / DEVSEL.FOR < prev    next >
Text File  |  1989-06-20  |  2KB  |  96 lines

  1.         SUBROUTINE DEVSEL(NEWDEV,LUN,IERR)
  2. C
  3. C
  4.         INCLUDE GCDSEL.PRM
  5.         INCLUDE GCDPRM.PRM
  6.         INCLUDE GCCPAR.PRM
  7.         INCLUDE GCVPOS.PRM
  8.         INCLUDE GCAPOS.PRM
  9.         INCLUDE GCCLIP.PRM
  10.         INCLUDE GCDCHR.PRM
  11.         INCLUDE GCLTYP.PRM
  12.         DIMENSION DEVCHR(8), GDCOMN(5)
  13.         DIMENSION DFDIST(4,3)
  14. C
  15. C       DEFINE DEFAULT LINE STYLES
  16. C
  17.         EQUIVALENCE (DEVID,GDCOMN(1))
  18.         DATA DFDIST /
  19.      1    0.5,  0.5,  0.5,  0.5,
  20.      2   0.25, 0.25, 0.25, 0.25,
  21.      3    0.5, 0.25, 0.25, 0.25/
  22. C
  23. C       RELEASE CURRENT DEVICE
  24. C
  25.         IF (IDEV .NE. 0) CALL GSDRVR(6,DUMMY,DUMMY)
  26. C
  27. C       NOW INIT. THE NEW DEVICE
  28. C
  29.         IF (NEWDEV .LE. 0) GO TO 900
  30.         IDEV = NEWDEV
  31.  
  32. C
  33. C       INITIALIZE THE DEVICE FOR DIGLIB GRAPHICS
  34. C
  35.         CALL GSDRVR(1,FLOAT(LUN),DUMMY)
  36.         IERR = DUMMY
  37.         IF (IERR .NE. 0) GO TO 910
  38. C
  39. C       GET THE DEVICE CHARACTERISTICS 
  40. C
  41.         DEVCHR(8) = 1.0
  42.         CALL GSDRVR(7,DEVCHR,DUMMY)
  43.         IF (DEVCHR(1) .EQ. 0.0) GO TO 900
  44. C
  45. C       SET DEVICE CHARACTERISTICS FOR LATER USE
  46. C
  47.         DO 100 I=1,5
  48. 100     GDCOMN(I) = DEVCHR(I)
  49.     XLENCM = DEVCHR(2)
  50.     YLENCM = DEVCHR(3)
  51.     XRES   = DEVCHR(4)
  52.     YRES   = DEVCHR(5)
  53.         NDCLRS = DEVCHR(6)
  54.         IDVBTS = DEVCHR(7)
  55.         NFLINE = DEVCHR(8)
  56.         XCLIPD = XLENCM + 0.499/DEVCHR(4)
  57.         YCLIPD = YLENCM + 0.499/DEVCHR(5)
  58. C
  59. C       NOW INIT THE PARAMETERS
  60. C
  61.         XS = 1.0
  62.         YS = 1.0
  63.         XT = 0.0
  64.         YT = 0.0
  65.         RCOS = 1.0
  66.         RSIN = 0.0
  67.         CSIZE = GOODCS(0.3)
  68.         CCOS = 1.0
  69.         CSIN = 0.0
  70.         XCUR = 0.0
  71.         YCUR = 0.0
  72.         IVIS = 0
  73.         XCM0 = 0.0
  74.         YCM0 = 0.0
  75.         XCM1 = XCLIPD
  76.         YCM1 = YCLIPD
  77.         ILNTYP = 1
  78.                 DO 120 I=1,3
  79.                         DO 110 J=1,4
  80.                         DIST(J,I) = DFDIST(J,I)
  81. 110                     CONTINUE
  82. 120             CONTINUE
  83.         LCURNT = .FALSE.
  84.         RETURN
  85. C
  86. C       NON-EXISTANT DEVICE SELECTED, REPORT ERROR AND DESELECT DEVICE
  87. C
  88. 900     IERR = -1
  89. C
  90. C       DEVICE INITIALIZATION FAILED, DESELCT DEVICE
  91. C
  92. 910     IDEV = 0
  93.         RETURN
  94.         END
  95.  
  96.