ImagerStroke.mesa
Michael Plass, October 27, 1983 9:13 am
DIRECTORY ImagerBasic, ImagerScanConverter;
ImagerStroke: CEDAR DEFINITIONS ~ BEGIN
DevicePath: TYPE ~ ImagerScanConverter.DevicePath;
DeviceRectangle: TYPE ~ ImagerScanConverter.DeviceRectangle;
Bezier: TYPE ~ ImagerBasic.Bezier;
DevicePathFromStroke: PROC [
pathMap: ImagerBasic.PathMapType,
pathData: REF,
clientToDevice: ImagerBasic.Transformation,
width: REAL,
strokeEnd: ImagerBasic.StrokeEnd,
closed: BOOLEAN,
clipBox: DeviceRectangle ← ImagerScanConverter.bigRectangle,
scratch: DevicePath ← NIL -- for re-use of storage
] RETURNS [devicePath: DevicePath];
Subdivide: PROC [bezier: Bezier, vertex: PROC[ImagerBasic.Pair], tolerance: REAL ← 0.5];
FlatBezier: PROC [bezier: Bezier, epsilon: REAL] RETURNS [BOOLEAN];
Split: PROC [bezier: Bezier] RETURNS[firstHalf, secondHalf: Bezier];
END.