+ // Handle lines...
+ path->lineTo(gp->GetNextX(poly, i), gp->GetNextY(poly, i));
+ }
+ else
+ {
+ // Skip point if it's on curve (start of curve--it's already
+ // been plotted so we don't care about it...
+ if (gp->GetOnCurve(poly, i))
+ i++;
+
+ // We may have moved past the end; if not, handle curve
+ if (i < gp->GetNumPoints(poly))
+ {
+ // Handle curves...
+ IPoint pt = (gp->GetNextOnCurve(poly, i)
+ ? gp->GetNextPoint(poly, i) : gp->GetMidpointToNext(poly, i));
+
+ path->quadTo(gp->GetX(poly, i), gp->GetY(poly, i), pt.x, pt.y);
+ }