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

#ifndef __java_awt_geom_QuadCurve2D$Float__
#define __java_awt_geom_QuadCurve2D$Float__

#pragma interface

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

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

public:
  QuadCurve2D$Float();
  QuadCurve2D$Float(jfloat, jfloat, jfloat, jfloat, jfloat, jfloat);
  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 void setCurve(jfloat, jfloat, jfloat, jfloat, jfloat, jfloat);
  virtual ::java::awt::geom::Rectangle2D * getBounds2D();
  jfloat __attribute__((aligned(__alignof__( ::java::awt::geom::QuadCurve2D)))) x1;
  jfloat y1;
  jfloat ctrlx;
  jfloat ctrly;
  jfloat x2;
  jfloat y2;
  static ::java::lang::Class class$;
};

#endif // __java_awt_geom_QuadCurve2D$Float__
