Text preview for : WManagerDefs.mesa_Oct77.pdf part of xerox WManagerDefs.mesa Oct77 xerox mesa 3.0_1977 listing WManagerDefs.mesa_Oct77.pdf



Back to : WManagerDefs.mesa_Oct77.p | Home

WManagerDefs.mesa 25-0CT-77 16:24:43 Page 1


--File: wmanagerdefs.mesa
--Edited by Sandman October 7, 1977 9:15 AM
DIRECTORY
MenuDefs: FROM "menudefs",
KeyDefs: FROM "keydefs",
StreamDefs: FROM "streamdefs",
RectangleDefs: FROM "rectangledefs",
WindowDefs: FROM "windowdefs";
DEFINITIONS FROM MenuDefs, StreamDefs, RectangleDefs, WindowDefs;
WManagerDefs: DEFINITIONS =
BEGIN
-- some TYPE'S and POINTERS
WMDataHandle: TYPE = POINTER TO WMDataObject;
AMouseButton: TYPE = KeyDefs.MouseButton;
KeySet: TYPE = [0 .. 37B];
ButtonProc: PUBLIC TYPE", PROCEDURE[WindowHandle, xCoord, yCoord];
ProcArray: PUBLIC TYPE", ARRAY AMouseButton OF ButtonProc;
CursorType: TYPE = {textpointer, arrow, bullseye, leftbutton,
uparrow, downarrow, botharrow, hourglass, norm};
-- programs implementing the WindowManager
WManPosition: PROGRAM [WMState: WMDataHandle];
WManSelection: PROGRAM [WMState: WMDataHandle];
WManWindows: PROGRAM [WMState: WMDataHandle];
WManControl: PROGRAM; -- Control Module
Double: PROGRAM;
-- procedures implementing the WindowManager
GetMouseButton: PROCEDURE RETURNS[AMouseButton];
GetKeySet: PROCEDURE RETURNS[KeySet];
CursorToRectang:~Coords: PROCEDURE [Rptr, xCoord, yCoord]
RETURNS[xCoord, yCoord]:
SetCursor: PROCEDURE [CursorType];
SetJumpStripe: PROCEDURE [WindowHandle, BOOLEAN];
NullProc: PROCEDURE [WindowHandle. xCoord. yCoord];
NoteNameError: PROCEDURE [WindowHandle. STRING];
WriteMessageString: PROCEDURE [WindowHandle. STRING];
AssignScratchFile: PROCEDURE RETURNS[STRING. INTEGER];
LoadWindow: PROCEDURE [w: WindowHandle. x: xCoord, y: yCoord];
GrowWindow: PROCEDURE [w: Windowlfandle. x: xCoord, y: yCoord];
MoveWindow: PROCEDURE [w: WindowHandle. x: xCoord. y: yCoord] ;
DestroyWindow: PROCEDURE [w: WindowHandle. x: xCoord, y: yCoord];
CreateWindow: PROCEDURE [w: WindowHandle. x: xCoord. y: yCoord] ;
PutSelect: PROCEDURE [w: WindowHandle. x: xCoord. y: yCoord];
WordSelect: PROCEDURE [w: WindowHandle. x: xCoord. y: yCoord];
TextSelect: PROCEDURE [w: WindowHandle. x: xCoord. y: yCoord];
MenuSelect: PROCEDURE [w: WindowHandle, x: xCoord. y: yCoord];
Positionrile: PROCEDURE[w: WindowHandle. x: xCoord. y: yCoord];
ScrollUpFile: PROCEDURE[w: WindowHandle, x: xCoord. y: yCoord]:
ScrollDownFile: PROCfDURE[w: Windowlfandle. x: xCoord, y: yCoord]:
NormalizeSelection: PROCEDURE[w: Windowlfandle. x: xCoord. y: yCoord]:
CursorXAdjust: PROCEDURE RETURNS[INTEGER] ;
-- constants
maxlines: INTEGER", 50;
JumpStrip: INTEGER = leftmargin;
slop: INTEGER", 10;
maxscratch: INTFGER '" 4;
commands: !NTEGER = 8:
-- magic memory locations and contents
DCBcllainllead: DCBptr = LOOPIIOI E[420B];
xmouseloc: POINHR = IOOPIIOLF[424B];
ymouseloc: POINHR = LOOPIIOL[[425B]:
xcursorloc: POINTER = LOOPIIOI