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

#ifndef __gnu_java_awt_java2d_ShapeCache__
#define __gnu_java_awt_java2d_ShapeCache__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace awt
      {
        namespace java2d
        {
            class ShapeCache;
        }
      }
    }
  }
  namespace java
  {
    namespace awt
    {
        class Polygon;
        class Rectangle;
      namespace geom
      {
          class Arc2D;
          class Ellipse2D;
          class GeneralPath;
          class Line2D;
          class RoundRectangle2D;
      }
    }
  }
}

class gnu::java::awt::java2d::ShapeCache : public ::java::lang::Object
{

public:
  ShapeCache();
  ::java::awt::geom::Line2D * __attribute__((aligned(__alignof__( ::java::lang::Object)))) line;
  ::java::awt::Rectangle * rect;
  ::java::awt::geom::RoundRectangle2D * roundRect;
  ::java::awt::geom::Ellipse2D * ellipse;
  ::java::awt::geom::Arc2D * arc;
  ::java::awt::Polygon * polygon;
  ::java::awt::geom::GeneralPath * polyline;
  static ::java::lang::Class class$;
};

#endif // __gnu_java_awt_java2d_ShapeCache__
