aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/quick/rendercontrol/window_multithreaded.cpp12
-rw-r--r--examples/quick/rendercontrol/window_singlethreaded.cpp19
2 files changed, 29 insertions, 2 deletions
diff --git a/examples/quick/rendercontrol/window_multithreaded.cpp b/examples/quick/rendercontrol/window_multithreaded.cpp
index 9b6020a347..8de5a7776d 100644
--- a/examples/quick/rendercontrol/window_multithreaded.cpp
+++ b/examples/quick/rendercontrol/window_multithreaded.cpp
@@ -213,6 +213,16 @@ void QuickRenderer::aboutToQuit()
m_quit = true;
}
+class RenderControl : public QQuickRenderControl
+{
+public:
+ RenderControl(QWindow *w) : m_window(w) { }
+ QWindow *renderWindow(QPoint *offset) Q_DECL_OVERRIDE;
+
+private:
+ QWindow *m_window;
+};
+
WindowMultiThreaded::WindowMultiThreaded()
: m_qmlComponent(Q_NULLPTR),
m_rootItem(0),
@@ -239,7 +249,7 @@ WindowMultiThreaded::WindowMultiThreaded()
m_offscreenSurface->setFormat(m_context->format());
m_offscreenSurface->create();
- m_renderControl = new QQuickRenderControl(this);
+ m_renderControl = new RenderControl(this);
// Create a QQuickWindow that is associated with out render control. Note that this
// window never gets created or shown, meaning that it will never get an underlying
diff --git a/examples/quick/rendercontrol/window_singlethreaded.cpp b/examples/quick/rendercontrol/window_singlethreaded.cpp
index a5748530df..1e81f08f7e 100644
--- a/examples/quick/rendercontrol/window_singlethreaded.cpp
+++ b/examples/quick/rendercontrol/window_singlethreaded.cpp
@@ -56,6 +56,23 @@
#include <QQuickRenderControl>
#include <QCoreApplication>
+class RenderControl : public QQuickRenderControl
+{
+public:
+ RenderControl(QWindow *w) : m_window(w) { }
+ QWindow *renderWindow(QPoint *offset) Q_DECL_OVERRIDE;
+
+private:
+ QWindow *m_window;
+};
+
+QWindow *RenderControl::renderWindow(QPoint *offset)
+{
+ if (offset)
+ *offset = QPoint(0, 0);
+ return m_window;
+}
+
WindowSingleThreaded::WindowSingleThreaded()
: m_rootItem(0),
m_fbo(0),
@@ -85,7 +102,7 @@ WindowSingleThreaded::WindowSingleThreaded()
m_cubeRenderer = new CubeRenderer(m_offscreenSurface);
- m_renderControl = new QQuickRenderControl(this);
+ m_renderControl = new RenderControl(this);
// Create a QQuickWindow that is associated with out render control. Note that this
// window never gets created or shown, meaning that it will never get an underlying