Flags:
TYPE ~
RECORD[
clientToDevice: BOOL ← FALSE, -- clientToDevice is valid
charToDevice: BOOL ← FALSE, -- charToDevice is valid
clientClipper: BOOL ← FALSE, -- clientClipMask and clientClipBox are valid
deviceColor: BOOL ← FALSE, -- color last set by SetColor[device, ...] is valid
devicePriority: BOOL ← FALSE, -- priority last set by SetPriority[device, ...] is valid
fontAtom: BOOL ← FALSE, -- fontAtom is valid
unused: [0..1777B] ← 0
];
DataRep:
TYPE ~
RECORD[
device: Device ← NIL, -- a particular raster device
fontCache: FontCache ← NIL,
fontAtom: ImagerFontPrivate.FontAtom ← NIL,
rastWeight: REAL ← 0.0, -- bigger values favor bitmaps in the cache.
fontTuner: FontTuner ← NIL,
devicePath: DevicePath ← NIL, -- scratch storage for scan converter
valid: Flags ← [],
viewToDevice: Transformation ← NIL, -- always valid
viewClipMask: ManhattanPolygon ← NIL, -- device coords; always valid
viewClipBox: DeviceRectangle ← [0, 0, 0, 0], -- device coords; always valid
clientToDevice: Transformation ← NIL, -- valid iff valid.clientToDevice
clientClipMask: ManhattanPolygon ← NIL, -- device coords; valid iff valid.clientClipper
clientClipBox: DeviceRectangle ← [0, 0, 0, 0], -- device coords; valid iff valid.clientClipper
charToDevice: Transformation ← NIL -- valid iff valid.charToDevice
];