ImagerDeviceWorks.mesa
Copyright Ó 1989, 1991, 1992 by Xerox Corporation. All rights reserved.
Doug Wyatt, August 25, 1989 5:08:27 pm PDT
Michael Plass, January 21, 1992 10:54 am PST
DIRECTORY
ImagerDevice USING [ClipWorksProc, Device, DeviceClipper, EasyMetrics, MaskFillWorksProc, MaskRectangleWorksProc, MaskStrokeWorksProc, MaskVectorWorksProc, MaskDashedStrokeWorksProc, MaskBitmapWorksProc, MaskPixelArrayWorksProc, MaskBoxesWorksProc, MaskCharMaskWorksProc, ShowWorksProc],
ImagerPath USING [PathProc],
ImagerTransformation USING [Transformation],
SF USING [Box, BoxGenerator];
ImagerDeviceWorks: CEDAR DEFINITIONS
~ BEGIN OPEN ImagerDevice;
Utilities
BoxesFromPath: PROC [
action: PROC [bounds: SF.Box, boxGenerator: SF.BoxGenerator],
path: ImagerPath.PathProc, oddWrap: BOOL,
pathToDevice: ImagerTransformation.Transformation,
clipper: DeviceClipper
];
Calling through the works class
Clip: ClipWorksProc
~ INLINE { device.works.Clip[device, viewClipper, clipperToDevice, clientClipper] };
MaskFill: MaskFillWorksProc
~ INLINE { device.works.MaskFill[device, path, oddWrap, pathToDevice] };
MaskRectangle: MaskRectangleWorksProc
~ INLINE { device.works.MaskRectangle[device, rectangle, rectangleToDevice] };
MaskStroke: MaskStrokeWorksProc
~ INLINE { device.works.MaskStroke[device, path, closed, pathToDevice, end, joint, miterLimit, pen] };
MaskVector: MaskVectorWorksProc
~ INLINE { device.works.MaskVector[device, p1, p2, pointsToDevice, end, pen] };
MaskDashedStroke: MaskDashedStrokeWorksProc
~ INLINE { device.works.MaskDashedStroke[device, path, patternLen, pattern, offset, length, closed, pathToDevice, end, joint, miterLimit, pen] };
MaskBitmap: MaskBitmapWorksProc
~ INLINE { device.works.MaskBitmap[device, bitmap, bitsToDevice] };
MaskPixelArray: MaskPixelArrayWorksProc
~ INLINE { device.works.MaskPixelArray[device, bitmap, clientToDevice] };
MaskBoxes: MaskBoxesWorksProc
~ INLINE { device.works.MaskBoxes[device, bounds, boxes] };
MaskCharMask: MaskCharMaskWorksProc
~ INLINE { RETURN [device.works.MaskCharMask[device, charMask, cp]] };
Show: ShowWorksProc
~ INLINE { device.works.Show[device, fontAtom, string, cp, hardChar, hardMetrics, easyMetrics, noImage] };
Default, standard implementations
These are the procs provided by ImagerDevice.MakeDevice
StandardClip: ClipWorksProc;
StandardMaskFill: MaskFillWorksProc;
StandardMaskRectangle: MaskRectangleWorksProc;
StandardMaskStroke: MaskStrokeWorksProc;
StandardMaskVector: MaskVectorWorksProc;
StandardMaskDashedStroke: MaskDashedStrokeWorksProc;
StandardMaskBitmap: MaskBitmapWorksProc;
StandardMaskPixelArray: MaskPixelArrayWorksProc;
StandardMaskBoxes: MaskBoxesWorksProc;
StandardMaskCharMask: MaskCharMaskWorksProc;
StandardShow: ShowWorksProc;
END.