<> <> <> <<>> <> <<>> DIRECTORY IIColorDefs USING [SampledColor], IIDitheredDevice USING [MapEntries], IIDither USING [PackedColorDesc, Table], IIPixelMap USING [PixelMap], IISample USING [Sampler, SampleBuffer], IITransformation USING [Transformation], PrincOps USING [BitBltFlags], Terminal USING [Virtual] ; IIDitheredDevicePrivate: CEDAR DEFINITIONS ~ BEGIN Case: TYPE ~ {nil, constant, stipple, rgb, sampled}; StippleArray: TYPE ~ PACKED ARRAY [0..16) OF WORD; Data: TYPE ~ REF DataRep; DataRep: TYPE ~ RECORD[ terminal: Terminal.Virtual _ NIL, frame: IIPixelMap.PixelMap, mapEntries: IIDitheredDevice.MapEntries _ NIL, table: IIDither.Table _ NIL, case: Case _ nil, -- what type of color zerosAreClear: BOOL _ FALSE, -- special case for sampled black clear. flags: PrincOps.BitBltFlags _ [], -- bitblt flags grayWord: WORD _ 0, -- bitblt gray word packedRGB: WORD _ 0, -- for case = rgb stipple: StippleArray _ ALL[0], -- stipple pattern fTileOrg: NAT _ 0, sTileOrg: NAT _ 0, sampledColor: IIColorDefs.SampledColor _ NIL, -- sampled color sampledColorData: SampledColorData _ NIL, -- cached data associated with sampledColor paToDevice: IITransformation.Transformation _ NIL, -- transformation from pa coords to display sampBuffer: IISample.SampleBuffer _, -- scan line buffer for samples lineBuffer: IISample.SampleBuffer _, -- for ops that cannot go directly to frame sampler: IISample.Sampler _, -- sampler information extras: REF _ NIL ]; SampledColorData: TYPE ~ REF SampledColorDataRep; SampledColorDataRep: TYPE ~ RECORD [ packing: IIDither.PackedColorDesc, source: IIPixelMap.PixelMap -- 16 bits per pixel, packed RGB, with space for tile index. ]; END.