ImagerRasterPublic.mesa
Copyright Ó 1989, 1991 by Xerox Corporation. All rights reserved.
Michael Plass, September 1, 1989 8:21:33 am PDT
This interface provides the Interceptor type, used for informing clients when a part of the raster changes.
DIRECTORY SF USING [Box];
ImagerRasterPublic: CEDAR DEFINITIONS
~ BEGIN
Intercepting Raster Accesses
See also ImagerRaster, etc. for operations that use these
Interceptor: TYPE ~ REF InterceptorRep;
InterceptorRep: TYPE ~ RECORD [intercept: InterceptProc, data: REF];
InterceptProc: TYPE ~ PROC [self: Interceptor, box: SF.Box, action: PROC, readonly: BOOL];
The active InterceptProc is called whenever an access to the raster is called for; it should call back action, which will in turn call back one or more of the device class procs. The intercept proc may be used for raster implementations that need to know a bounding box for the operations before they happen (for software cursors, etc). An attempt is made to avoid recursive calls on the intercept proc. If readonly is TRUE, the action promises not to modify the bits, only to read them.
END.