/* * @(#)CurveQuadTo.java 1.13 98/06/29 * * Copyright 1998 by Sun Microsystems, Inc., * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. * All rights reserved. * * This software is the confidential and proprietary information * of Sun Microsystems, Inc. ("Confidential Information"). You * shall not disclose such Confidential Information and shall use * it only in accordance with the terms of the license agreement * you entered into with Sun. */ package demos.Paths; import java.awt.*; import java.awt.event.*; import java.awt.geom.AffineTransform; import java.awt.geom.GeneralPath; import J2DCanvas; /** * Cubic & Quad curves implemented through GeneralPath. */ public class CurveQuadTo extends J2DCanvas { public CurveQuadTo() { setBackground(Color.white); } public void drawDemo(Graphics2D g2) { g2.translate(w/4, h/4); GeneralPath p = new GeneralPath(GeneralPath.WIND_EVEN_ODD); p.moveTo(0.0f, 0.0f); p.curveTo(w/8,h/4,w/4,-h/4,w/2,0.0f); p.moveTo(0.0f, h/3); p.quadTo(w/4,h/3+h/4,w/2,h/3); g2.setColor(Color.lightGray); g2.fill(p); g2.setColor(Color.black); g2.draw(p); g2.drawString("curveTo", 0, -10); g2.drawString("quadTo", 0, (float) (h/3-10)); g2.setTransform(new AffineTransform()); } public static void main(String s[]) { WindowListener l = new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0);} }; Frame f = new Frame("Java2D Demo - CurveQuadTo"); f.addWindowListener(l); f.add("Center", new CurveQuadTo()); f.pack(); f.setSize(new Dimension(400,300)); f.show(); } }