--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.