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

  1.         SUBROUTINE GSGIN(X,Y,BCHAR,IERR)
  2.         INTEGER*1 BCHAR
  3. C
  4. C       THIS DIGLIB SUBROUTINE TRIES TO GET GRAPHIC INPUT (GIN) FROM
  5. C       THE CURRENTLY SELECTED DEVICE.   IF THE DEVICE IS NOT CAPABLE
  6. C       OF GIN, IERR=-1.   FOR GIN DEVICES, IERR=0 AND:
  7. C         X     = X POSITION OF CURSOR IN ABSOLUTE SCREEN CM.
  8. C         Y     = Y POSITION OF CURSOR IN ABSOLUTE SCREEN CM.
  9. C         BCHAR = CHARACTER STUCK AT TERMINAL TO SIGNAL CURSOR HAS
  10. C                       BEEN POSITIONED (BYTE).
  11. C
  12.         INCLUDE GCDCHR.PRM
  13.         INCLUDE GCDPRM.PRM
  14.         DIMENSION ARRAY(3)
  15.         INTEGER*1 SPACE
  16.         DATA SPACE /' '/
  17. C
  18. C       SEE IF DEVICE SUPPORTS GIN
  19. C
  20.         IF (IAND(IDVBTS,128) .EQ. 0) GO TO 900
  21. C
  22. C       NOW ASK FOR GIN FROM DEVICE DRIVER
  23. C
  24.         CALL GSDRVR(9,ARRAY,DUMMY)
  25. C
  26. C       CONVERT ABSOLUTE CM. COORD. TO VIRTUAL CM. COORDINATES
  27. C
  28.         CALL GSIRST(ARRAY(2),ARRAY(3),X,Y)
  29. C
  30. C       GET CHARACTER AS 7 BIT ASCII
  31. C
  32.         IF (ARRAY(1) .LT. 0.0 .OR. ARRAY(1) .GT. 127.0) GOTO 110
  33.                 BCHAR = CHAR(INT(ARRAY(1)))
  34.                 GOTO 120
  35. C           ELSE
  36. 110             CONTINUE
  37.                 BCHAR = SPACE
  38. C       ENDIF
  39. 120     CONTINUE
  40.         IERR = 0
  41.         RETURN
  42. C
  43. C       DEVICE DOESN'T SUPPORT GIN
  44. C
  45. 900     IERR = -1
  46.         RETURN
  47.         END
  48.