ImagerDitheredDevicePrivate.mesa
Copyright © 1985 by Xerox Corporation. All rights reserved.
Michael Plass, June 25, 1985 2:03:24 pm PDT
Private interface for the benefit of ImagerOps.
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: BOOLFALSE, -- 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: REFNIL
];
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.