<> <> <> DIRECTORY BiScrollers, Pipal, PipalEdit, PipalReal, ViewerClasses; PipalInteractiveEdit: CEDAR DEFINITIONS = BEGIN <> <> <> ViewerData : TYPE = REF ViewerDataRec; -- what gets hung unto the viewer ViewerDataRec: TYPE = RECORD [ editor: PipalEdit.Editor, mouseNow: PipalReal.Position _ PipalReal.zeroVector, -- mouse position now mouseDown: PipalReal.Position _ PipalReal.zeroVector, -- mouse position when a button went down previousTrackingArea: LIST OF PipalReal.Rectangle _ NIL -- previous area modified by tracking; should be cleaned up at every paint if non nil! ]; Create: PROC [editor: PipalEdit.Editor, tipTable: Pipal.ROPE, notify: ViewerClasses.NotifyProc] RETURNS [bs: BiScrollers.BiScroller]; END.