GGHistoryTypesOpaque.mesa
Contents: The Change TYPE.
Copyright Ó 1986, 1988 by Xerox Corporation. All rights reserved.
Last edited by Bier on October 31, 1988 4:10:57 pm PST
Bier, October 31, 1988 5:10:06 pm PST
DIRECTORY
GGModelTypes, RefTab;
GGHistoryTypesOpaque: CEDAR DEFINITIONS =
BEGIN
Scene: TYPE = GGModelTypes.Scene;
Slice: TYPE = GGModelTypes.Slice;
SliceParts: TYPE = GGModelTypes.SliceParts;
There is one Change record for each subevent. A subevent is usually a single change on a single operand.
ChangeType: TYPE = {changingprops, changingstate, capture}; -- to be expanded
Change: TYPE = RECORD [ -- to be expanded
SELECT kind: ChangeType FROM
changingprops => [
op: ATOM, -- an atom, like $SetColor or $SetLineWidth, triggering this entry
slice: Slice, -- the slice being changed
parts: SliceParts, -- the slice parts being changed
oldValue: REF -- the old value of the changing property
],
changingstate => [
op: ATOM, -- an atom, like $SetScaleUnit
scene: Scene,
oldValue: REF -- the old value of the changing state variable
],
capture => [
scene: Scene,
virginData: LIST OF Slice, -- hiding place for data needed to undo a capture
virginMap: RefTab.Ref -- key: virginSlice, value: oldSlice. Used to restore captured data to the original storage occupied when a capture occurs.
],
ENDCASE
];
END.