--File IntPhase2AccessDefs.mesa
--This version uses extended memory on an D* machines
--MUST be compiled with /l switch
--Last changed: March 26, 1981 8:18 PM
DIRECTORY
IntStorageDefs: FROM "IntStorageDefs" USING [ObjectName, ObjectType],
IntPhase2Defs: FROM "IntPhase2Defs" USING[Item],
OutputDefs: FROM "OutputDefs" USING[VisibleType];
IntPhase2AccessDefs: DEFINITIONS =
BEGIN OPEN IntPhase2Defs;
CopyItem: PROCEDURE [src,dest: Item] = INLINE {dest↑ ← src↑;};
SetItemLeft: PROCEDURE [arg: Item, val: LONG INTEGER] = INLINE {arg.left ← val;};
SetItemRight: PROCEDURE [arg: Item, val: LONG INTEGER] = INLINE {arg.right ← val;};
SetItemBottom: PROCEDURE [arg: Item, val: LONG INTEGER] = INLINE {arg.bottom ← val;};
SetItemTop: PROCEDURE [arg: Item, val: LONG INTEGER] = INLINE {arg.top ← val;};
GetItemLeft: PROCEDURE [arg: Item] RETURNS [left: LONG INTEGER] = INLINE {RETURN[arg.left];};
GetItemRight: PROCEDURE [arg: Item] RETURNS [right: LONG INTEGER] = INLINE {RETURN[arg.right];};
GetItemBottom: PROCEDURE [arg: Item] RETURNS [bottom: LONG INTEGER] = INLINE {RETURN[arg.bottom];};
GetItemTop: PROCEDURE [arg: Item] RETURNS [top: LONG INTEGER] = INLINE {RETURN[arg.top];};
SetItemLevel: PROCEDURE [arg: Item, val: CARDINAL] = INLINE {arg.level ← val;};
SetItemContext: PROCEDURE [arg: Item, val: CARDINAL] = INLINE {arg.context ← val;};
GetItemLevel: PROCEDURE [arg: Item] RETURNS [level: CARDINAL] = INLINE {RETURN[arg.level];};
GetItemContext: PROCEDURE [arg: Item] RETURNS [context: CARDINAL] = INLINE {RETURN[arg.context];};
SetItemRel: PROCEDURE [iname, value: Item] = INLINE {iname.rel ← value;};
SetItemNoRel: PROCEDURE [iname, value: Item] = INLINE {iname.norel ← value;};
SetItemSame: PROCEDURE [iname, value: Item] = INLINE {iname.same ← value;};
GetItemRel: PROCEDURE [iname: Item] RETURNS [rel: Item] = INLINE {RETURN[iname.rel];};
GetItemNoRel: PROCEDURE [iname: Item] RETURNS [norel: Item] = INLINE {RETURN[iname.norel];};
GetItemSame: PROCEDURE [iname: Item] RETURNS [same: Item] = INLINE {RETURN[iname.same];};
SetItemWhat: PROCEDURE [arg: Item, val: IntStorageDefs.ObjectName] = INLINE {arg.what ← val;};
GetItemWhat: PROCEDURE [arg: Item] RETURNS [what: IntStorageDefs.ObjectName] = INLINE {RETURN[arg.what];};
SetItemVisible: PROCEDURE [arg: Item, val: OutputDefs.VisibleType] = INLINE {arg.visible ← val;};
SetItemKind: PROCEDURE [arg: Item, val: IntStorageDefs.ObjectType] = INLINE {arg.kind ← val;};
GetItemVisible: PROCEDURE [arg: Item] RETURNS [OutputDefs.VisibleType] = INLINE {RETURN[arg.visible];};
GetItemKind: PROCEDURE [arg: Item] RETURNS [IntStorageDefs.ObjectType] = INLINE {RETURN[arg.kind];};
END.