home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 1 / GoldFishApril1994_CD2.img / d4xx / d499 / diglib / diglib.lzh / source / gsgin.for < prev    next >
Text File  |  1991-05-01  |  1KB  |  52 lines

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