<> <> <> DIRECTORY Cubic USING [Bezier], Complex USING [Vec], Seq USING [ComplexSequence,NatSequence], FitBasic USING [Handle]; FitState: CEDAR DEFINITIONS = BEGIN Handle: TYPE = FitBasic.Handle; <> <> Create: PROC RETURNS [handle: Handle]; Undo: PROC[handle: Handle]; --reverses the last operation Closed: PROC [handle: Handle, closed: BOOLEAN _ TRUE] RETURNS [was: BOOLEAN]; MinDist: PROC [handle: Handle, minDist: REAL _ 0] RETURNS [was: REAL]; <> DataType: TYPE = {samples, links, nodes, cusps, contour}; ResetData: PROC[handle: Handle, type: DataType, all: BOOLEAN _ FALSE]; ScaleData: PROC[handle: Handle, scale: REAL, type: DataType, all: BOOLEAN _ FALSE]; TranslateData: PROC[handle: Handle, trans: Complex.Vec, type: DataType, all: BOOLEAN _ FALSE]; StartSamples: PROC[handle: Handle, x,y: REAL]; --starts a new sList, resets current one AddSample: PROC[handle: Handle, x,y: REAL]; --adds to the end of the current list RemoveSample: PROC[handle: Handle]; --unlinks the selected sample InsertBeforeSample: PROC[handle: Handle, x,y: REAL]; --inserts before the selected sample <> AddLink: PROC[handle: Handle, b: Cubic.Bezier]; <> AddNode: PROC[handle: Handle, index: NAT, tan: Complex.Vec _ [0,0]]; DeleteNode: PROC[handle: Handle, index: NAT]; AddCusp: PROC[handle: Handle, index: NAT, tanIn,tanOut: Complex.Vec _ [0,0]]; DeleteCusp: PROC[handle: Handle, index: NAT]; <> NewContour: PROC[handle: Handle]; -- Makes an empty contour and selects it NextContour: PROC[handle: Handle]; -- Moves to the next contour. <<>> <<>> <> CurrentNodes: PROC[handle: Handle] RETURNS[nodes: Seq.NatSequence, tangents: Seq.ComplexSequence]; CurrentSamples: PROC[handle: Handle] RETURNS[Seq.ComplexSequence]; CurrentCusps: PROC[handle: Handle] RETURNS[cusps: Seq.NatSequence, tangents: Seq.ComplexSequence]; <> EnumerateLinks: PROC[handle: Handle, newContour: PROC[x,y: REAL], newCubic: PROC[c: Cubic.Bezier]]; EnumerateSamples: PROC[handle: Handle, newContour: PROC[x,y: REAL], newSample: PROC[x,y: REAL]]; CountContours: PROC[handle: Handle] RETURNS [INT]; END.