<> <> <> <> <> DIRECTORY Imager, Rope, GGBasicTypes, GGInterfaceTypes, GGModelTypes, ViewerClasses; GGWindow: CEDAR DEFINITIONS = BEGIN Point: TYPE = GGBasicTypes.Point; Scene: TYPE = GGModelTypes.Scene; Viewer: TYPE = ViewerClasses.Viewer; GargoyleData: TYPE = GGInterfaceTypes.GargoyleData; CreateWindow: PROC [scene: Scene, iconic: BOOL, paint: BOOL, workingDirectory: Rope.ROPE] RETURNS [gargoyleData: GargoyleData]; ForegroundParts: TYPE = {triggerBag, objectBag, bitMap, none, sceneBag}; RestoreScreenAndInvariants: PROC [paintAction: ATOM, gargoyleData: GargoyleData, remake: ForegroundParts _ triggerBag, backgndOK: BOOL _ FALSE, edited: BOOL _ TRUE, okToClearFeedback: BOOL]; <> <> < objectBag => foreground bitMap chain must be remade. A value of triggerBag means the whole chain will be remade. A value of none, means it is all OK. sceneBag is a special value which means that only the sceneTriggerBag needs to be remade.>> <> ViewerToWorld: PROC [viewerPoint: Point, gargoyleData: GargoyleData] RETURNS [worldPoint: Point]; WorldToViewer: PROC [worldPoint: Point, gargoyleData: GargoyleData] RETURNS [viewerPoint: Point]; SaveCaretPos: PROC [gargoyleData: GargoyleData]; NewCaretPos: PROC [gargoyleData: GargoyleData]; SetCursorLooks: PROC [type: GGInterfaceTypes.GravityType, gargoyleData: GargoyleData]; <> <<>> <> <<>> SetHeuristics: PROC [gargoyleData: GargoyleData, on: BOOL]; GetHeuristics: PROC [gargoyleData: GargoyleData] RETURNS [on: BOOL]; <<>> SetGravityExtent: PROC [gargoyleData: GargoyleData, inches: REAL]; GetGravityExtent: PROC [gargoyleData: GargoyleData] RETURNS [inches: REAL]; <<>> END. <> < World procs.>> <<>>