<<>> <> <> <> <> <> <<>> DIRECTORY BufferedRefresh, CardTab, GGBasicTypes, GGCoreTypes, GGModelTypes, GGRefresh, ImagerTransformation; GGRefreshTypes: CEDAR DEFINITIONS = BEGIN BoundBox: TYPE = GGCoreTypes.BoundBox; FeatureData: TYPE = GGModelTypes.FeatureData; Point: TYPE = GGBasicTypes.Point; Sandwich: TYPE = GGRefresh.Sandwich; Slice: TYPE = GGModelTypes.Slice; SliceDescriptor: TYPE = GGModelTypes.SliceDescriptor; RefreshDataObj: TYPE = RECORD [ oldTransform: ImagerTransformation.Transformation, suppressRefresh: BOOL _ FALSE, suppressScreen: BOOL _ FALSE, -- allows painting layer update but no screen refresh paintAction: ATOM, sandwich: Sandwich, clientToViewer: ImagerTransformation.Transformation, -- remembers BiScroller to allow reuse of sandwich when window opens anew lineCache: CardTab.Ref, -- remembers which lines have been drawn in Foreground savedLineTable: CardTab.Ref, dragInProgress: BOOL _ FALSE, caretIsMoving: BOOL _ FALSE, spotPoint: Point _ [0.0, 0.0], -- For Gravity Testing hitPoint: Point _ [0.0, 0.0], -- For Gravity Testing overlayList: LIST OF SliceDescriptor, orderedOverlayList: LIST OF SliceDescriptor, -- maintained by routines in GGRefreshImpl. NIL => must rebuild ordered list addedObject: Slice, -- used to implement GGRefresh.FinishedAdding recentFeature: FeatureData, -- maintained by DuringSelect routines. Most recently hit feature. Could be used for refresh optimization of ExtendSelection. startBoundBox: BoundBox, -- being phased out paintBox: BoundBox, -- aggregate bound box for the latest refresh call beforeBox: BoundBox, -- old selections, attractor feedback, caret, or anchor are within this box totalBox: BoundBox, -- accumulated bounding boxes since refresh was turned off. textInProgress: Slice, -- text slice to be updated by AddChar if nonNil. Any mouse click makes this NIL, completing typein. A character typed when isNIL starts a new textInProgress areaFollowColorTool: BOOL _ FALSE, lineFollowColorTool: BOOL _ FALSE, other: REF ANY -- for extensibility ]; END.