
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __java_awt_geom_QuadCurve2D$Double__
#define __java_awt_geom_QuadCurve2D$Double__

#pragma interface

#include <java/awt/geom/QuadCurve2D.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace geom
      {
          class Point2D;
          class QuadCurve2D$Double;
          class Rectangle2D;
      }
    }
  }
}

class java::awt::geom::QuadCurve2D$Double : public ::java::awt::geom::QuadCurve2D
{

public:
  QuadCurve2D$Double();
  QuadCurve2D$Double(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble);
  virtual jdouble getX1();
  virtual jdouble getY1();
  virtual ::java::awt::geom::Point2D * getP1();
  virtual jdouble getCtrlX();
  virtual jdouble getCtrlY();
  virtual ::java::awt::geom::Point2D * getCtrlPt();
  virtual jdouble getX2();
  virtual jdouble getY2();
  virtual ::java::awt::geom::Point2D * getP2();
  virtual void setCurve(jdouble, jdouble, jdouble, jdouble, jdouble, jdouble);
  virtual ::java::awt::geom::Rectangle2D * getBounds2D();
  jdouble __attribute__((aligned(__alignof__( ::java::awt::geom::QuadCurve2D)))) x1;
  jdouble y1;
  jdouble ctrlx;
  jdouble ctrly;
  jdouble x2;
  jdouble y2;
  static ::java::lang::Class class$;
};

#endif // __java_awt_geom_QuadCurve2D$Double__
