#ifndef ImageRenderGLWidget_H
#define ImageRenderGLWidget_H

#include <QGLWidget>
#include <QMap>
#include <QPoint>

class QImage;
class QGLFramebufferObject;

class ImageRenderGLWidget : public QGLWidget
{
    Q_OBJECT
public:
    ImageRenderGLWidget(QWidget *parent = 0);
    ~ImageRenderGLWidget();

public slots:
    void handleFramebufferResize( const QSize &size );
    void mergeFramebufferChange( const QRect &area, const QImage &img );

protected:
    virtual void initializeGL();
    virtual void resizeGL(int width, int height);
    virtual void paintGL();

private:
    void initFramebuffer( const QSize &size );
    int m_x;
    int m_y;
    int m_width;
    int m_height;
    QGLFramebufferObject *m_rfb;
};

#endif // ImageRenderGLWidget_H

