public void CloseAllFigures() { ExtendedGeneralPath p = new ExtendedGeneralPath(); PathIterator pi = NativeObject.getPathIterator(null); JPI lastSeg = JPI.SEG_CLOSE; float [] points = new float[6]; p.setWindingRule(pi.getWindingRule()); while (!pi.isDone()) { JPI curSeg = (JPI)pi.currentSegment(points); switch (curSeg) { case JPI.SEG_CLOSE: p.closePath(); break; case JPI.SEG_MOVETO: if (lastSeg != JPI.SEG_CLOSE) { p.closePath(); } p.moveTo(points[0], points[1]); break; case JPI.SEG_LINETO: p.lineTo(points[0], points[1]); break; case JPI.SEG_QUADTO: p.quadTo(points[0], points[1], points[2], points[3]); break; case JPI.SEG_CUBICTO: p.curveTo(points[0], points[1], points[2], points[3], points[4], points[5]); break; default: break; } lastSeg = curSeg; pi.next(); } p.closePath(); Shape = p; }
public void CloseAllFigures() { ExtendedGeneralPath p = new ExtendedGeneralPath(); PathIterator pi = NativeObject.getPathIterator(null); JPI lastSeg = JPI.SEG_CLOSE; float [] points = new float[6]; p.setWindingRule(pi.getWindingRule()); while(!pi.isDone()) { JPI curSeg = (JPI)pi.currentSegment(points); switch(curSeg) { case JPI.SEG_CLOSE: p.closePath(); break; case JPI.SEG_MOVETO: if(lastSeg != JPI.SEG_CLOSE) p.closePath(); p.moveTo(points[0],points[1]); break; case JPI.SEG_LINETO: p.lineTo(points[0],points[1]); break; case JPI.SEG_QUADTO: p.quadTo(points[0],points[1],points[2],points[3]); break; case JPI.SEG_CUBICTO: p.curveTo(points[0],points[1],points[2],points[3],points[4],points[5]); break; default: break; } lastSeg = curSeg; pi.next(); } p.closePath(); Shape = p; }