GGSceneType.mesa
Copyright © 1986 by Xerox Corporation. All rights reserved.
Last edited by Bier on December 28, 1986 1:39:00 pm PST
Contents: The concrete Scene type (shared by GGScene and GGSelect).
Pier, August 27, 1987 1:37:48 pm PDT
Bier, June 20, 1989 10:45:08 pm PDT
DIRECTORY
GGModelTypes, GGInterfaceTypes, Imager;
GGSceneType: CEDAR DEFINITIONS = BEGIN
Slice: TYPE = GGModelTypes.Slice;
FeatureCycler: TYPE = GGInterfaceTypes.FeatureCycler;
SliceDescriptor: TYPE = GGModelTypes.SliceDescriptor;
SceneObj: TYPE = RECORD [
ptrValid: BOOLFALSE, -- TRUE when ptr accurately points to end of entities
ptr: LIST OF Slice ← NIL, -- finger pointer to end of entities list
entities: LIST OF Slice ← NIL, -- a list of slices
oldEntities: LIST OF LIST OF Slice ← NIL, -- lists of slices. Used by Undelete.
selected: SelectedData,
savedSelected: SelectedData, -- needed to recover from Abort operations
prioritiesValid: BOOL, -- TRUE if no top level entities have been added or deleted since priorities were last updated, Bier, March 10, 1987
currentColor: Imager.Color, -- used by GGParseImpl to read sampled colors from Interpress
lock: ATOM ← $NotLocked
];
SelectedData: TYPE = RECORD [
normal: LIST OF SliceDescriptor ← NIL, -- a list of selected SliceDescriptors
normalPtr: LIST OF SliceDescriptor ← NIL, -- finger pointer to end of normal
normalPtrValid: BOOLFALSE, -- TRUE when normalPtr accurately points to end of normal
normalLast: SliceDescriptor ← NIL, -- the last parts that were normal selected
hot: LIST OF SliceDescriptor ← NIL, -- a list of hot SliceDescriptors
hotPtr: LIST OF SliceDescriptor ← NIL, -- finger pointer to end of hot
hotPtrValid: BOOLFALSE, -- TRUE when hotPtr accurately points to end of normal
active: LIST OF SliceDescriptor ← NIL, -- a list of active SliceDescriptors
activePtr: LIST OF SliceDescriptor ← NIL, -- finger pointer to end of active
activePtrValid: BOOLFALSE, -- TRUE when activePtr accurately points to end of normal
match: LIST OF SliceDescriptor ← NIL, -- a list of match SliceDescriptors
matchPtr: LIST OF SliceDescriptor ← NIL, -- finger pointer to end of match
matchPtrValid: BOOLFALSE, -- TRUE when matchPtr accurately points to end of match,
featureCycler: FeatureCycler
];
END.