#ifndef QGLFRAMEBUFFEROBJECT_H
#define QGLFRAMEBUFFEROBJECT_H 
#include <QtOpenGL/qgl.h>
#include <QtGui/qpaintdevice.h>
typedef enum QtValidLicenseForOpenGLModule QtOpenGLModule;
struct QGLFramebufferObjectPrivate;
class QGLFramebufferObject: public QPaintDevice{
   private: inline struct QGLFramebufferObjectPrivate* d_func();
   private: inline struct QGLFramebufferObjectPrivate const * d_func() const
   public: QGLFramebufferObject(class QSize const & size, GLenum target = 3553);
   public: QGLFramebufferObject(int width, int height, GLenum target = 3553);
   public: virtual ~QGLFramebufferObject();
   public: bool isValid() const
   public: bool bind();
   public: bool release();
   public: GLuint texture() const
   public: class QSize size() const
   public: class QImage toImage() const
   public: virtual struct QPaintEngine* paintEngine() const
   public: GLuint handle() const
   public: static bool hasOpenGLFramebufferObjects();
   protected: virtual int metric(enum QPaintDevice::PaintDeviceMetric metric) const
   protected: virtual inline int devType() const
   private: QGLFramebufferObject(class QGLFramebufferObject const &);
   private: class QGLFramebufferObject& operator =(class QGLFramebufferObject const &);
   private: struct QGLFramebufferObjectPrivate* d_ptr;
   friend struct QGLFramebufferObjectPrivate;
   friend struct QGLDrawable;
};
#endif // QGLFRAMEBUFFEROBJECT_H