packages feed

hsqml-0.3.1.1: cbits/CanvasImpl.h

#ifndef HSQML_CANVAS_IMPL_H
#define HSQML_CANVAS_IMPL_H

#include <QtCore/QObject>
#include <QtCore/QScopedPointer>
#include <QtCore/QSharedData>
#include <QtGui/QOpenGLFramebufferObject>
#include <QtQuick/QQuickWindow>

#include "Canvas.h"

class HsQMLGLDelegateImpl : public QSharedData
{
public:
    HsQMLGLDelegateImpl(HsQMLGLPaintCb);
    ~HsQMLGLDelegateImpl();

    HsQMLGLPaintCb mPaintCb;
};

class HsQMLCanvasBackEnd : public QObject
{
    Q_OBJECT

public:
    HsQMLCanvasBackEnd(QQuickWindow*);
    ~HsQMLCanvasBackEnd();
    void setModeSize(HsQMLCanvas::DisplayMode, qreal, qreal);

private:
    Q_DISABLE_COPY(HsQMLCanvasBackEnd)

    Q_SLOT void doRendering();

    HsQMLCanvas::DisplayMode mDisplayMode;
    qreal mCanvasWidth;
    qreal mCanvasHeight;
    QScopedPointer<QOpenGLFramebufferObject> mFBO;
};

#endif //HSQML_CANVAS_IMPL_H