<> <> 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. <<>>