h44732
s 00072/00000/00000
d D 1.1 83/03/23 16:16:42 bog 1 0
c date and time created 83/03/23 16:16:42 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 EmGrph (Ch)					    #
#			Input	Ch:	Character in [SPACE..DEL])	    #
#		    Graph, Point Plot and Special Point Plot modes	    #
#									    #
#	Called By:							    #
#		Subroutine EmAlGr (Ch)					    #
#			Input	Ch:	Character in [SPACE..DEL]	    #
#									    #
#	Routines Called:						    #
#									    #
#############################################################################
 
Subroutine EmGrph(Ch)
CHARACTER Ch
 
BEGINCOMMON
COMMON(BEAMSTATE)
COMMON(DRIVER)
ENDCOMMON
 
If (Ch < 64) {				# HiX or HiY
    If (NOT(GotLoY)) {
	HiY = CAND(Ch,31)
	}
    Else {
	HiX = CAND(Ch,31)
	}
    }
Else If (Ch < 96) {			# LoX
    LoX = CAND(Ch,31)
    X = XSCREEN(ISHIFT(HiX,7)+ISHIFT(LoX,2)+ExtraX)
    Y = YSCREEN(ISHIFT(HiY,7)+ISHIFT(LoY,2)+ExtraY)
    If (Mode == GRAPH) {
	If (IsDraw) {
	    DRAW(X,Y)
	    }
	Else {
	    MOVE(X,Y)
	    }
	}
    Else {
	POINT(X,Y)			# First point is drawn
	}
    GotLoY = FALSE
    Bypass = FALSE
    Margn2 = FALSE
    IsDraw = TRUE
    GotInt = FALSE
    }
Else {					# Extra or LoY
    If (GotLoY) {
	ExtraX = IAND(LoY,3)
	ExtraY = IAND(ISHIFT(LoY,-2),3)
	}
    LoY = CAND(Ch,31)
    GotLoY = TRUE
    }
Return
End
E 1
