<> <> <> <<>> <> <<>> DIRECTORY ImagerColorDefs USING [SampledColor], ImagerPixelMap USING [PixelMap, PixelMapRep, Tile], ImagerSample USING [Sampler, SampleBuffer], ImagerTransformation USING [Transformation], PrincOps USING [BitBltFlags]; ImagerBitmapDevicePrivate: CEDAR DEFINITIONS ~ BEGIN grayHeight: NAT ~ 4; -- must not exceed 16, should be a power of 2 GrayArray: TYPE ~ ARRAY [0..grayHeight) OF WORD; Case: TYPE ~ {nil, noop, constant, stipple, tile, sampled}; Data: TYPE ~ REF DataRep; DataRep: TYPE ~ RECORD[ sSizeFrame: NAT, fSizeFrame: NAT, frame: REF ImagerPixelMap.PixelMapRep, -- the bitmap pixelsPerInch: REAL, -- declared resolution case: Case _ nil, -- what type of color sampledBlack: BOOL _ FALSE, sampledBlackClear: BOOL _ FALSE, flags: PrincOps.BitBltFlags _ [], -- bitblt flags maskBitsFlags: PrincOps.BitBltFlags _ [], -- bitblt flags for fast MaskBits case grayArray: GrayArray _ ALL[0], -- bitblt gray block sampledColor: ImagerColorDefs.SampledColor _ NIL, -- most recently seen sampled color paToDevice: ImagerTransformation.Transformation _ NIL, -- transformation from sampledColor.pa to display source: ImagerPixelMap.PixelMap _ [0, 0, 0, 0, 0, 0, NIL], -- source values from pixel array tile: ImagerPixelMap.Tile _ [0, 0, 0, 0, 0, NIL], -- valid if case = tile sampler: ImagerSample.Sampler _ NIL, -- sampler information buffer: ImagerSample.SampleBuffer _ NIL, -- scan line buffer for source samples brick: ImagerSample.SampleBuffer _ NIL, -- halftone brick extras: REF _ NIL ]; END.