Compiler Cursors/n
stone November 10, 1980 5:18 PM
Maureen Stone February 2, 1983 3:17 pm
DIRECTORY
Cursors USING [CursorType, CursorArray, NewCursor, SetCursor],
CursorDefs;
GriffinCursors: CEDAR PROGRAM IMPORTS Cursors EXPORTS CursorDefs =
BEGIN
pointingCursor, busyCursor, abortCursor, menuCursor: Cursors.CursorType;
pointingCursorBits: Cursors.CursorArray ←
[400B,400B,400B,400B,
400B,400B,0B,176576B,
0B,400B,400B,400B,
400B,400B,400B,0B];
abortCursorBits: Cursors.CursorArray ←
[100002B,40004B,20010B,10020B,
4040B,2100B,1200B,400B,
1200B,2100B,4040B,10020B,
20010B,40004B,100002B,0];
busyCursorBits: Cursors.CursorArray ←
[160020B, 57430B, 100244B, 40146B,
110050B, 62010B, 150411B, 36006B,
70111B, 111610B, 110520B, 44520B,
42460B, 145020B, 46020B, 13054B];
menuCursorBits: Cursors.CursorArray ←
[177777B,100001B,100001B,100001B,
100001B,100001B,100001B,100001B,
100001B,100001B,100001B,100001B,
100001B,100001B,100001B,177777B];
SetCursor:
PUBLIC
PROCEDURE[cursor: CursorDefs.Cursor] = {
SELECT cursor
FROM
pointingCursor => Cursors.SetCursor[pointingCursor];
abortCursor => Cursors.SetCursor[abortCursor];
busyCursor => Cursors.SetCursor[busyCursor];
menuCursor => Cursors.SetCursor[menuCursor];
ENDCASE => ERROR;
};
GetPointingCursor:
PUBLIC
PROCEDURE
RETURNS [Cursors.CursorType] = {
RETURN[pointingCursor]};
pointingCursor ← Cursors.NewCursor[pointingCursorBits,-7,-7];
abortCursor ← Cursors.NewCursor[abortCursorBits,-7,-7];
busyCursor ← Cursors.NewCursor[busyCursorBits,-7,-7];
menuCursor ← Cursors.NewCursor[menuCursorBits,-7,-7];
END.