<<>> <> <> <> <> <> <<>> DIRECTORY <> CardTab, GGBasicTypes, GGCoreTypes, GGInterfaceTypes, GGModelTypes, Imager, ImagerTransformation; GGRefreshTypes: CEDAR DEFINITIONS = BEGIN BoundBox: TYPE = GGCoreTypes.BoundBox; FeatureData: TYPE = GGModelTypes.FeatureData; GGData: TYPE = GGInterfaceTypes.GGData; Point: TYPE = GGBasicTypes.Point; Sandwich: TYPE = REF SandwichObj; SandwichObj: TYPE; -- opaque so GGRefresh doesn't depend on BufferedRefresh Slice: TYPE = GGModelTypes.Slice; SliceDescriptor: TYPE = GGModelTypes.SliceDescriptor; PaintProc: TYPE = PROC [ggData: GGData, request: REF ¬ NIL, bounds: BoundBox, clientData: REF ¬ NIL]; 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.