Mega Code Archive

 
Categories / Java by API / Java Awt Geom
 

PathIterator SEG_CUBICTO

/* Output: move to 0.0, 0.0 line to 72.0, 0.0 line to 72.0, 72.0 line to 0.0, 72.0 line to 0.0, 0.0 close */ import java.awt.Shape; import java.awt.geom.PathIterator; import java.awt.geom.Rectangle2D; public class MainClass {   public static void main(String[] args) throws Exception {     Shape s = new Rectangle2D.Double(0, 0, 72, 72);     PathIterator pi = s.getPathIterator(null);     while (pi.isDone() == false) {       describeCurrentSegment(pi);       pi.next();     }   }   public static void describeCurrentSegment(PathIterator pi) {     double[] coordinates = new double[6];     int type = pi.currentSegment(coordinates);     switch (type) {     case PathIterator.SEG_MOVETO:       System.out.println("move to " + coordinates[0] + ", " + coordinates[1]);       break;     case PathIterator.SEG_LINETO:       System.out.println("line to " + coordinates[0] + ", " + coordinates[1]);       break;     case PathIterator.SEG_QUADTO:       System.out.println("quadratic to " + coordinates[0] + ", " + coordinates[1] + ", "           + coordinates[2] + ", " + coordinates[3]);       break;     case PathIterator.SEG_CUBICTO:       System.out.println("cubic to " + coordinates[0] + ", " + coordinates[1] + ", "           + coordinates[2] + ", " + coordinates[3] + ", " + coordinates[4] + ", " + coordinates[5]);       break;     case PathIterator.SEG_CLOSE:       System.out.println("close");       break;     default:       break;     }   } }