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

#ifndef __java_awt_geom_Ellipse2D__
#define __java_awt_geom_Ellipse2D__

#pragma interface

#include <java/awt/geom/RectangularShape.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
      namespace geom
      {
          class AffineTransform;
          class Ellipse2D;
          class PathIterator;
      }
    }
  }
}

class java::awt::geom::Ellipse2D : public ::java::awt::geom::RectangularShape
{

public: // actually protected
  Ellipse2D();
public:
  virtual jboolean contains(jdouble, jdouble);
  virtual jboolean contains(jdouble, jdouble, jdouble, jdouble);
  virtual ::java::awt::geom::PathIterator * getPathIterator(::java::awt::geom::AffineTransform *);
  virtual jboolean intersects(jdouble, jdouble, jdouble, jdouble);
  static ::java::lang::Class class$;
};

#endif // __java_awt_geom_Ellipse2D__
