summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/kms/qkmsbackingstore.h
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.p.agocs@nokia.com>2012-07-21 14:20:33 +0300
committerQt by Nokia <qt-info@nokia.com>2012-07-23 19:57:07 +0200
commit7a3dd20b98679abaa7fda9dd6bed3667f75b103a (patch)
treefe48953c83c68dfb5a66e06936ee14c1a590fce7 /src/plugins/platforms/kms/qkmsbackingstore.h
parentc2942cb7b6b8d06ebb8156dc9fb2bda4a4cc7c9e (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.h11
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 &region, 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