SilDisplay.Mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Created By Tracy Larrabee, March 29, 1984 1:03:52 pm PST
Last Edited by Ken Pier, August 16, 1985 6:15:39 pm PDT
This module contains the definitions for procedures which are used in the SilKernel implementation module (these procedures will either be registered with the window manager by SilKernel or called directly by SilKernel).
DIRECTORY
Icons USING [IconFlavor],
Rope USING [ROPE],
ViewerClasses USING [PaintProc, SaveProc, Viewer],
Imager USING [Context],
SilKernel USING [SilData, SilDisplayData]
;
SilDisplay: CEDAR DEFINITIONS = BEGIN
ROPE: TYPE = Rope.ROPE;
SilDisplayData: TYPE = SilKernel.SilDisplayData;
The first four procs are called by SilKernel to initialize things, start a new Sil display, find out the state of a display, or force the blinking of the Sil Carets.
InitSil: PROC[];
This procedure will initialize all of Sil's internal structure related to the display by creating the correct font references.
InitSilDisplayInstance: PROC [data: SilKernel.SilData, name: ROPENIL, instance: NAT] RETURNS [viewer: ViewerClasses.Viewer];
Get the display on the screen and initialize all pertinent structures.
NeedRebuild: PROC[displayData: SilDisplayData] RETURNS [rebuild: BOOL];
TRUE if the display should be rebuilt.
CancelRebuild: PROC[displayData: SilDisplayData];
May be called to cancel a rebuild IF the viewer has gone iconic.
CaretBlink: PROC[];
Make sure that all the appropriate Sil Instances know to blink their carets.
GetIcon: PROC [dirtyIcon: BOOLFALSE] RETURNS [Icons.IconFlavor];
Returns either of the two Sil icons, the clean or the dirty, depending on the BOOL
The next two procs are registered with Viewers.
SilSaveProc: ViewerClasses.SaveProc;
[self: Viewer, force: BOOLFALSE]
Save the contents of the viewer.
SilPaintProc: ViewerClasses.PaintProc;
[self: Viewer, context: Graphics.Context, whatChanged: REF, clear: BOOL.
SilUIPaint: PROC [data: SilKernel.SilData, viewer: ViewerClasses.Viewer, ctx: Imager.Context];
END.