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
ImagerColorDefs USING [SampledColor],
ImagerDitheredDevice USING [MapEntries],
ImagerDither USING [PackedColorDesc, Table],
ImagerPixelMap USING [PixelMap],
ImagerSample USING [Sampler, SampleBuffer],
ImagerTransformation USING [Transformation],
PrincOps USING [BitBltFlags],
Terminal USING [Virtual]
;
ImagerDitheredDevicePrivate: 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: ImagerPixelMap.PixelMap,
mapEntries: ImagerDitheredDevice.MapEntries ← NIL,
table: ImagerDither.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: ImagerColorDefs.SampledColor ← NIL, -- sampled color
sampledColorData: SampledColorData ← NIL, -- cached data associated with sampledColor
paToDevice: ImagerTransformation.Transformation ← NIL, -- transformation from pa coords to display
sampBuffer: ImagerSample.SampleBuffer ←, -- scan line buffer for samples
lineBuffer: ImagerSample.SampleBuffer ←, -- for ops that cannot go directly to frame
sampler: ImagerSample.Sampler ←, -- sampler information
extras: REFNIL
];
SampledColorData: TYPE ~ REF SampledColorDataRep;
SampledColorDataRep: TYPE ~ RECORD [
packing: ImagerDither.PackedColorDesc,
source: ImagerPixelMap.PixelMap -- 16 bits per pixel, packed RGB, with space for tile index.
];
END.