home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Fish 1
/
GoldFishApril1994_CD2.img
/
d4xx
/
d499
/
diglib
/
diglib.lzh
/
source
/
gsgin.for
< prev
next >
Wrap
Text File
|
1991-05-01
|
1KB
|
52 lines
SUBROUTINE GSGIN(X,Y,BCHAR,IERR)
IMPLICIT NONE
REAL X,Y,DUMMY
INTEGER IERR
INTEGER*1 IAND
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 DIGLIB$KOM:GCDCHR.PRM
INCLUDE DIGLIB$KOM:GCDPRM.PRM
REAL*4 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