/** @inheritDoc */ public void lineTo(PointFP point) { if (point.equals(currPoint)) { return; } LineFP head, tail; calcHeadTail(currPoint, point, head = new LineFP(), tail = new LineFP()); if (drawingCurve) { if (lastCurveTail != null) { curvePath1.addLineTo(lastCurveTail.pt1); curvePath2.addLineTo(lastCurveTail.pt2); } lastCurveTail = new LineFP(tail); } else { if (needDrawStartCap) { startCapP1 = new PointFP(currPoint); startCapP2 = new PointFP(point); needDrawStartCap = false; } addLineJoin(lastPoint, currPoint, point); outline.addMoveTo(head.pt1); outline.addLineTo(tail.pt1); outline.addLineTo(tail.pt2); outline.addLineTo(head.pt2); outline.addLineTo(head.pt1); outline.addClose(); lastPoint = new PointFP(currPoint); } super.lineTo(point); }
/** @inheritDoc */ public void moveTo(PointFP point) { finishCurrentSegment(); needDrawStartCap = true; closed = false; startCapP1 = startCapP2 = null; super.moveTo(point); }
/** @inheritDoc */ public void curveTo(PointFP control1, PointFP control2, PointFP point) { curveBegin(control1); super.curveTo(control1, control2, point); curveEnd(control1, control2, point); }
/** @inheritDoc */ public void quadTo(PointFP control, PointFP point) { curveBegin(control); super.quadTo(control, point); curveEnd(control, control, point); }