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

#ifndef __gnu_java_awt_java2d_Scanline__
#define __gnu_java_awt_java2d_Scanline__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace awt
      {
        namespace java2d
        {
            class PolyEdge;
            class Scanline;
        }
      }
    }
  }
}

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

public: // actually package-private
  virtual void clear();
  Scanline();
  virtual void addEdge(::gnu::java::awt::java2d::PolyEdge *);
  virtual ::gnu::java::awt::java2d::PolyEdge * getEdges();
private:
  ::gnu::java::awt::java2d::PolyEdge * __attribute__((aligned(__alignof__( ::java::lang::Object)))) edges;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_awt_java2d_Scanline__
