summaryrefslogtreecommitdiffstats
path: root/examples/qwindow-compositor/surfacerenderer.h
diff options
context:
space:
mode:
authorGunnar Sletta <gunnar.sletta@nokia.com>2011-09-13 10:46:23 +0200
committerGunnar Sletta <gunnar.sletta@nokia.com>2011-09-13 10:46:23 +0200
commit21a2ce41a8efb6c5ab4ab2674458309bc9f031b7 (patch)
tree927045bf52f3367551cb4af17aa6b5738408c1bb /examples/qwindow-compositor/surfacerenderer.h
parente47eb9057bf08834885ba6ef5e593d6f1844405c (diff)
parentaf711da1389c86c969d4872ec0936a90c46e1343 (diff)
Merge branch 'refactor'
Conflicts: src/qt-compositor/compositor_api/waylandcompositor.cpp src/qt-compositor/wayland_wrapper/wloutput.cpp
Diffstat (limited to 'examples/qwindow-compositor/surfacerenderer.h')
-rw-r--r--examples/qwindow-compositor/surfacerenderer.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/qwindow-compositor/surfacerenderer.h b/examples/qwindow-compositor/surfacerenderer.h
new file mode 100644
index 0000000..df60b9d
--- /dev/null
+++ b/examples/qwindow-compositor/surfacerenderer.h
@@ -0,0 +1,29 @@
+#ifndef SURFACERENDERER_H
+#define SURFACERENDERER_H
+
+#include <QOpenGLContext>
+#include <QGLShaderProgram>
+#include <QWindow>
+
+class SurfaceRenderer
+{
+public:
+ SurfaceRenderer(QOpenGLContext *context, QWindow *surface);
+
+ void drawImage(const QImage &image, const QRect &geometry);
+ void drawTexture(int textureId, const QRect &geometry, int depth = 0);
+ GLuint textureFromImage(const QImage &image);
+
+private:
+
+ QOpenGLContext *m_context;
+ QWindow *m_surface;
+ QGLShaderProgram *m_shaderProgram;
+ QMatrix4x4 m_transformMatrix;
+
+ int m_matrixLocation;
+ int m_vertexCoordEntry;
+ int m_textureCoordEntry;
+};
+
+#endif // SURFACERENDERER_H