h33345
s 00063/00000/00000
d D 1.1 83/03/23 16:19:22 bog 1 0
c date and time created 83/03/23 16:19:22 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 EmOLf ()					    #
#		    Display a Line Feed					    #
#									    #
#	Called By:							    #
#		Subroutine EmCntl (Ch)					    #
#			Input	Ch:	Character in [NUL..US]		    #
#		    Emulate all control characters.  LCE may be set.	    #
#									    #
#	Routines Called:						    #
#									    #
#############################################################################
 
Subroutine EmOLf
 
BEGINCOMMON
COMMON(BEAMSTATE)
COMMON(DRIVER)
COMMON(SWITCHES)
ENDCOMMON
 
Y = Y-YCh
 
If (Y < 0) {
  Y = YHome
  If (PFMar1) {			# Page is full on Margin 1
    Call EmPFul			# Handle PageFull
    }
   Else {			# Page not full until Margin 2 full
    If (Margn2) {
      Margn2 = FALSE
      If (NOT(Mr2Wrp)) {
	X = X-XMarg2
	}
      Call EmPFul		# Handle PageFull
      }
     Else {			# Wrap to Margin 2 without PageFull
      Mr2Wrp = TRUE
      If (X < XMarg2) {
	Mr2Wrp = FALSE
	X = X+XMarg2
	}
      Margn2 = TRUE
      }
    }
  }
 
MOVE(X,Y)
 
Return
End
E 1
