IMPLEMENTATION MODULE ScreenDisplay; (* * REPERTOIRE * Release 1.6 * By Charles Bradford and Cole Brecheen * (c) Copyright 1985-1992 PMI * Green Bay, Wisconsin * All rights reserved * (414) 468-6040 * * $Header: D:/logfiles/mods/screendi.mov 1.5 10 Mar 1991 15:31:48 coleb $ * *) IMPORT DspFiles; IMPORT ErrorManager; IMPORT FramePainter; IMPORT M2Strings; IMPORT ScrnTypes; IMPORT ScrnUtl2; IMPORT StrConv; IMPORT StrEdit; VAR Initialized : BOOLEAN; PROCEDURE Init(); BEGIN IF Initialized THEN RETURN; ELSE Initialized := TRUE; END; DspFiles.Init(); ErrorManager.Init(); FramePainter.Init(); M2Strings.Init(); ScrnTypes.Init(); ScrnUtl2.Init(); StrConv.Init(); StrEdit.Init(); END Init; PROCEDURE CloseDisplayFile(VAR dfile : ScrnTypes.DisplayFile); BEGIN DspFiles.CloseDisplayFile( dfile ); END CloseDisplayFile; PROCEDURE OpenDisplayFile(VAR dfile : ScrnTypes.DisplayFile; fname : ARRAY OF CHAR); VAR tmp: ARRAY [0..79] OF CHAR; BEGIN IF NOT DspFiles.OpenDisplayFile( dfile, fname ) THEN M2Strings.Assign( fname, tmp ); StrEdit.Append( tmp, ' not found' ); ErrorManager.WARN(tmp); END; END OpenDisplayFile; PROCEDURE ReadDisplayFrame(VAR dfile : ScrnTypes.DisplayFile; VAR FrameRec : ScrnTypes.DisplayFrame; FrameNum : ScrnTypes.FrameKey); VAR FrameName: ScrnTypes.AFrameName; BEGIN StrConv.IntegerToStr( FrameNum, 0, FrameName ); DspFiles.ReadDisplayFrame( dfile, FrameRec, FrameName ); END ReadDisplayFrame; PROCEDURE ReadFrame(VAR dfile : ScrnTypes.DisplayFile; VAR FrameRec : ScrnTypes.DisplayFrame; FrameNum : ScrnTypes.FrameKey); VAR FrameName: ScrnTypes.AFrameName; BEGIN StrConv.IntegerToStr( FrameNum, 0, FrameName ); DspFiles.ReadFrame( dfile, FrameRec, FrameName ); END ReadFrame; PROCEDURE ShowDisplayFrame(VAR FrameRec : ScrnTypes.DisplayFrame; Col1, Row1, ColX, RowX : CARDINAL); BEGIN FramePainter.ShowDisplayFrame( FrameRec, Col1, Row1, ColX, RowX ); END ShowDisplayFrame; PROCEDURE WriteToFrame( FrameRec: ScrnTypes.DisplayFrame; col, row: CARDINAL; text: ARRAY OF CHAR ); BEGIN ScrnUtl2.WriteToFrame( FrameRec, col, row, text ); END WriteToFrame; PROCEDURE Display( FrameNum : ScrnTypes.FrameKey ); VAR FrameName: ScrnTypes.AFrameName; BEGIN StrConv.IntegerToStr( FrameNum, 0, FrameName ); ScrnUtl2.Display( DspFiles.MainFrame, FrameName ); END Display; PROCEDURE CloseDisplayFrame(VAR FrameRec : ScrnTypes.DisplayFrame); BEGIN ScrnUtl2.CloseDisplayFrame( FrameRec ); END CloseDisplayFrame; PROCEDURE PushFrame(VAR FrameRec : ScrnTypes.DisplayFrame); BEGIN ScrnUtl2.PushFrame( FrameRec ); END PushFrame; PROCEDURE PopFrame(VAR FrameRec : ScrnTypes.DisplayFrame); BEGIN ScrnUtl2.PopFrame( FrameRec ); END PopFrame; PROCEDURE PopZapFrame(VAR FrameRec : ScrnTypes.DisplayFrame); BEGIN ScrnUtl2.PopZapFrame( FrameRec ); END PopZapFrame; PROCEDURE ClearFrameStack(VAR FrameRec : ScrnTypes.DisplayFrame); BEGIN ScrnUtl2.ClearFrameStack( FrameRec ); END ClearFrameStack; PROCEDURE RedrawArea( TheFrame: ScrnTypes.DisplayFrame; col1, row1, col2, row2: CARDINAL ); BEGIN FramePainter.RedrawArea( TheFrame, col1, row1, col2, row2 ); END RedrawArea; BEGIN Initialized := FALSE; Init(); END ScreenDisplay.