h38892
s 00073/00000/00000
d D 1.1 83/03/23 16:17:24 bog 1 0
c date and time created 83/03/23 16:17:24 by bog
e
u
4
U
t
T
I 1
#############################################################################
#									    #
#	This material is confidential and is furnished under		    #
#	a written license agreement.  It may not be used,		    #
#	copied or disclosed to others except in accordance		    #
#	with the terms of that agreement.				    #
#									    #
#	Copyright (C) 1982 Graphic Software Systems, Inc.		    #
#	All rights reserved.						    #
#									    #
#############################################################################
#									    #
#	Function:  							    #
#		Subroutine EmIncr (Ch)					    #
#			Input	Ch:	Character in [SPACE..DEL])	    #
#		    Emulate Incremental Point Plot mode			    #
#									    #
#	Called By:							    #
#		Subroutine EmAlGr (Ch)					    #
#			Input	Ch:	Character in [SPACE..DEL]	    #
#									    #
#	Routines Called:						    #
#									    #
#############################################################################
 
Subroutine EmIncr(Ch)
CHARACTER Ch
 
CHARACTER Char			# Local value
 
BEGINCOMMON
COMMON(BEAMSTATE)
COMMON(DRIVER)
ENDCOMMON
 
Bypass = FALSE
 
# Note that IsDraw must be important for incremental p p mode.
 
Char = Ch
 
If (CAND(Char,32) != 0) {
    IsDraw = FALSE
    }
If (CAND(Char,16) != 0) {
    IsDraw = TRUE
    }
If (CAND(Char,8) != 0) {
    IncrY = IncrY-1
    }
If (CAND(Char,4) != 0) {
    IncrY = IncrY+1
    }
If (CAND(Char,2) != 0) {
    IncrX = IncrX-1
    }
If (CAND(Char,1) != 0) {
    IncrX = IncrX+1
    }
 
 
X = XSCREEN(IAND(IncrX,4095))
Y = YSCREEN(IAND(IncrY,4095))
 
If (IsDraw) {
    POINT(X,Y)
    }
Else {
    MOVE(X,Y)
    }
 
Return
End
E 1
