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 >
Wrap
Text File
|
1989-06-20
|
1KB
|
48 lines
SUBROUTINE GSGIN(X,Y,BCHAR,IERR)
INTEGER*1 BCHAR
C
C THIS DIGLIB SUBROUTINE TRIES TO GET GRAPHIC INPUT (GIN) FROM
C THE CURRENTLY SELECTED DEVICE. IF THE DEVICE IS NOT CAPABLE
C OF GIN, IERR=-1. FOR GIN DEVICES, IERR=0 AND:
C X = X POSITION OF CURSOR IN ABSOLUTE SCREEN CM.
C Y = Y POSITION OF CURSOR IN ABSOLUTE SCREEN CM.
C BCHAR = CHARACTER STUCK AT TERMINAL TO SIGNAL CURSOR HAS
C BEEN POSITIONED (BYTE).
C
INCLUDE GCDCHR.PRM
INCLUDE GCDPRM.PRM
DIMENSION ARRAY(3)
INTEGER*1 SPACE
DATA SPACE /' '/
C
C SEE IF DEVICE SUPPORTS GIN
C
IF (IAND(IDVBTS,128) .EQ. 0) GO TO 900
C
C NOW ASK FOR GIN FROM DEVICE DRIVER
C
CALL GSDRVR(9,ARRAY,DUMMY)
C
C CONVERT ABSOLUTE CM. COORD. TO VIRTUAL CM. COORDINATES
C
CALL GSIRST(ARRAY(2),ARRAY(3),X,Y)
C
C GET CHARACTER AS 7 BIT ASCII
C
IF (ARRAY(1) .LT. 0.0 .OR. ARRAY(1) .GT. 127.0) GOTO 110
BCHAR = CHAR(INT(ARRAY(1)))
GOTO 120
C ELSE
110 CONTINUE
BCHAR = SPACE
C ENDIF
120 CONTINUE
IERR = 0
RETURN
C
C DEVICE DOESN'T SUPPORT GIN
C
900 IERR = -1
RETURN
END