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

#ifndef __gnu_gcj_xlib_Pixmap__
#define __gnu_gcj_xlib_Pixmap__

#pragma interface

#include <gnu/gcj/xlib/Drawable.h>
extern "Java"
{
  namespace gnu
  {
    namespace gcj
    {
      namespace xlib
      {
          class Drawable;
          class Pixmap;
          class Screen;
          class XImage;
      }
    }
  }
}

class gnu::gcj::xlib::Pixmap : public ::gnu::gcj::xlib::Drawable
{

public:
  Pixmap(::gnu::gcj::xlib::XImage *, ::gnu::gcj::xlib::Screen *);
  Pixmap(::gnu::gcj::xlib::Drawable *, jint, jint, jint);
public: // actually protected
  static jint createXID(::gnu::gcj::xlib::Drawable *, jint, jint, jint);
  virtual void finalize();
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_gcj_xlib_Pixmap__
