<> <> <> <> <<>> <> <<>> DIRECTORY II USING [Context], IIDevice USING [AllowedMasks, DeviceClass, DeviceParm], IIManhattan USING [Polygon], SF USING [Box, BoxGenerator, Vec], IIPrivate USING [Class]; IIRaster: CEDAR DEFINITIONS ~ BEGIN OPEN II; Class: TYPE ~ IIPrivate.Class; DeviceParm: TYPE ~ IIDevice.DeviceParm; DeviceClass: TYPE ~ IIDevice.DeviceClass; ManhattanPolygon: TYPE ~ IIManhattan.Polygon; <> CreateClass: PROC [type: ATOM, deviceClass: DeviceClass] RETURNS [Class]; <> <> Create: PROC [class: Class, deviceParm: DeviceParm, data: REF, pixelUnits: BOOL _ FALSE] RETURNS [Context]; <> <> GetDeviceParm: PROC [context: Context] RETURNS [DeviceParm]; <> ValidateState: PROC [context: Context] RETURNS [IIDevice.AllowedMasks]; <> <> GetContainingBox: PROC [context: Context, p: SF.Vec] RETURNS [SF.Box]; <> <<>> GetDeviceClipBox: PROC [context: Context] RETURNS [SF.Box]; SetDeviceClipBox: PROC [context: Context, clipBox: SF.Box]; <> <> MaskDeviceBoxes: PROC [context: Context, bounds: SF.Box, boxes: SF.BoxGenerator]; <> <> Interceptor: TYPE ~ REF InterceptorRep; InterceptorRep: TYPE ~ RECORD [intercept: InterceptProc, data: REF]; InterceptProc: TYPE ~ PROC [self: Interceptor, box: SF.Box, action: PROC, context: Context]; <> <<>> SetInterceptor: PROC [context: Context, interceptor: Interceptor] RETURNS [Interceptor]; <> <<>> InterceptorInEffect: PROC [context: Context] RETURNS [BOOL]; <> <<>> ModifyRaster: PROC [context: Context, box: SF.Box, action: PROC]; <> END.