<> <> <> <> <<>> DIRECTORY Imager; BufferedRefreshTypes: CEDAR DEFINITIONS = BEGIN Rectangle: TYPE = Imager.Rectangle; RefreshProc: TYPE = PROC [dc: Imager.Context, boundRect: Rectangle, clientData: REF ANY]; Layer: TYPE = RECORD [name: ATOM, backingMap: BOOL, refreshProc: RefreshProc]; Sandwich: TYPE = REF SandwichObj; SandwichObj: TYPE = RECORD [ layers: LIST OF LayerData, chunkingBitmap: Imager.SampleMap _ NIL, chunkingContext: Imager.Context _ NIL, -- derived from chunking map clientToViewer: Imager.Transformation, -- the transforms most recently seen by DrawSandwich viewerToClient: Imager.Transformation, ch: INT -- the height of the chunkingBitmap ]; LayerData: TYPE = REF LayerDataObj; LayerDataObj: TYPE = RECORD [ name: ATOM, refreshProc: RefreshProc, hasMap: BOOL, backingMap: Imager.SampleMap _ NIL, backingContext: Imager.Context _ NIL, -- derived from backingMap mapOK: BOOL _ FALSE ]; END.