diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/quick/rendercontrol/window_multithreaded.cpp | 12 | ||||
-rw-r--r-- | examples/quick/rendercontrol/window_singlethreaded.cpp | 19 |
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 |