diff options
author | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2012-07-21 14:20:33 +0300 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-23 19:57:07 +0200 |
commit | 7a3dd20b98679abaa7fda9dd6bed3667f75b103a (patch) | |
tree | fe48953c83c68dfb5a66e06936ee14c1a590fce7 /src/plugins/platforms/kms/qkmsbackingstore.h | |
parent | c2942cb7b6b8d06ebb8156dc9fb2bda4a4cc7c9e (diff) |
Add basic backingstore implementation to kms
This allows using the kms plugin in QWidget apps having a single
(preferably fullscreen) top-level widget.
Based on eglfs' implementation. Dirty rectangle tracking is missing,
should be added later.
There is no composition so multiple TLWs will not work nicely.
Change-Id: Ia78589d1a375925ebdcc46aa20fc1619ec14d6cc
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com>
Diffstat (limited to 'src/plugins/platforms/kms/qkmsbackingstore.h')
-rw-r--r-- | src/plugins/platforms/kms/qkmsbackingstore.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/plugins/platforms/kms/qkmsbackingstore.h b/src/plugins/platforms/kms/qkmsbackingstore.h index 59d9c9ad94..6357019210 100644 --- a/src/plugins/platforms/kms/qkmsbackingstore.h +++ b/src/plugins/platforms/kms/qkmsbackingstore.h @@ -47,17 +47,28 @@ QT_BEGIN_NAMESPACE +class QOpenGLContext; +class QOpenGLShaderProgram; + class QKmsBackingStore : public QPlatformBackingStore { public: QKmsBackingStore(QWindow *window); + ~QKmsBackingStore(); QPaintDevice *paintDevice(); + + void beginPaint(const QRegion &); + void endPaint(); + void flush(QWindow *window, const QRegion ®ion, const QPoint &offset); void resize(const QSize &size, const QRegion &staticContents); private: + QOpenGLContext *m_context; QImage m_image; + uint m_texture; + QOpenGLShaderProgram *m_program; }; QT_END_NAMESPACE |