diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2016-01-20 16:33:53 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2016-01-22 14:29:34 +0000 |
commit | 86177b98e27a9d376e35039454986ff7de8f3104 (patch) | |
tree | 6ac256365641f538128666917f0b5090d873320a /src/input | |
parent | 31e4d157c6b0af0c04546af643707a3811583455 (diff) |
QAspectEngine/QAbstractAspects: get rid of setData
Getting rid of set data and the refactoring on setting the surface implies
that:
- Given the FrameGraph configuration, there may be several RenderViews
each having a different RenderSurfaceSelector/Window
- This means that the Renderer/QRenderAspect can't know about the surface
before reading the scene
- This means that the Renderer may be dealing with more than 1 window
- This means that initialization, render and shutdown procedures will have to
be updated accordingly
Therefore the Renderer was refactored to:
- Be initialized without knowing about a surface
- For each RenderView, check the surface and if different from the previous
one:
* Make the context current with it
* Create the appropriate glHelpers (as Surfaces may have != formats)
TO DO:
- Fix picking
- Fix windows exposition
- Fix shutdown / detection of all windows beging closed
Change-Id: I49d070b05f46be4b26cfb57e494feba145d1da9c
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Diffstat (limited to 'src/input')
-rw-r--r-- | src/input/frontend/qinputaspect.cpp | 6 | ||||
-rw-r--r-- | src/input/frontend/qinputaspect.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/input/frontend/qinputaspect.cpp b/src/input/frontend/qinputaspect.cpp index 7656924e4..41318e399 100644 --- a/src/input/frontend/qinputaspect.cpp +++ b/src/input/frontend/qinputaspect.cpp @@ -207,14 +207,14 @@ QVector<QAspectJobPtr> QInputAspect::jobsToExecute(qint64 time) return jobs; } -// Called in main Thread -void QInputAspect::onInitialize(const QVariantMap &) +// Called in the aspectThread, we would need this to be called in the main Thread +void QInputAspect::onInitialize() { Q_D(QInputAspect); Qt3DCore::QEventFilterService *eventService = d->services()->eventFilterService(); Q_ASSERT(eventService); - // Create event source setter helper in the main thread + // TO DO: Create event source setter helper in the main thread Qt3DInput::Input::EventSourceSetterHelper *helper = new Qt3DInput::Input::EventSourceSetterHelper(eventService, d->m_inputHandler.data()); diff --git a/src/input/frontend/qinputaspect.h b/src/input/frontend/qinputaspect.h index 91d8e25d9..6420c24cb 100644 --- a/src/input/frontend/qinputaspect.h +++ b/src/input/frontend/qinputaspect.h @@ -57,7 +57,7 @@ public: QVector<Qt3DCore::QAspectJobPtr> jobsToExecute(qint64 time) Q_DECL_OVERRIDE; private: - void onInitialize(const QVariantMap &data) Q_DECL_OVERRIDE; + void onInitialize() Q_DECL_OVERRIDE; void onCleanup() Q_DECL_OVERRIDE; void loadInputDevicePlugins(); |