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

#ifndef __java_awt_print_Printable__
#define __java_awt_print_Printable__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class Graphics;
      namespace print
      {
          class PageFormat;
          class Printable;
      }
    }
  }
}

class java::awt::print::Printable : public ::java::lang::Object
{

public:
  virtual jint print(::java::awt::Graphics *, ::java::awt::print::PageFormat *, jint) = 0;
  static const jint PAGE_EXISTS = 0;
  static const jint NO_SUCH_PAGE = 1;
  static ::java::lang::Class class$;
} __attribute__ ((java_interface));

#endif // __java_awt_print_Printable__
