aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickrendercontrol.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix null pointer access in QQuickOpenGLShaderEffectMaterialCacheJüri Valdmann2018-11-071-1/+2
| | | | | | | | | | | If a QQuickWindow is destroyed without ever being rendered, then there won't be any QOpenGLContext in QQuickOpenGLShaderEffectMaterial::cleanupMaterialCache. Same goes for QQuickWidgetRenderControl. Fixes: QTBUG-65236 Change-Id: I2742505d147bc8444b46688170d33fbb2844f2ac Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix QQuickRenderControl::invalidate with software rendererAllan Sandfeld Jensen2018-10-101-3/+3
| | | | | | | | | | With the software renderer QQuickRenderControl::initialize() is never called, but we still need to cleanup scenegraph nodes on destruction or invalidation. Change-Id: I4c17a440d683b1f0512fb8a9370430cf3680d8ee Task-number: QTBUG-70740 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Make QtDeclarative work for the no-thread configMorten Johan Sørvig2018-09-051-0/+2
| | | | | | | | | | | | | Force use of the basic render loop, adapt qqmlthread and qqmltypeloader to work on a single thread. Disable components and features that require worker threads: qmldb_server, worker script, shapes, folderlistmodel, threaded render loop, software renderer. Done-with: Lorn Potter <lorn.potter@gmail.com> Change-Id: I77d965947f684f8b7d19284b5decd893395316cb Reviewed-by: Lorn Potter <lorn.potter@gmail.com>
* Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-07-161-1/+2
|\ | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickloader.cpp tests/auto/quick/qquickanimations/tst_qquickanimations.cpp Change-Id: I0cb9f637d24ccd0ecfb50c455cc210119f744b02
| * QQuickRenderControl: Grab framebuffer with alpha if the window uses itAndy Shaw2018-07-121-1/+2
| | | | | | | | | | Change-Id: Ie11e86be997d749e6f82f0fb81a82bb0b50ab1f1 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Fix crash with the QQuickRenderControl and deleteLaterDavid Edmundson2018-06-241-1/+0
|/ | | | | | | | | | | | | | | | From 238cc098d785b4fe76fbc8422b340d98ff8c1a1b which removes this same line from the software renderer. >I can't see a good reason for the existence of the sendPostedEvents() >call there. It is not present in the other render loops and according to >git blame it stems from the very early first implementation of the >software renderer where surely copy & paste from other render loop code >was involved back then. Task-number: QTBUG-68997 Change-Id: I40aaeb92f431d474b7b1affb85d0ea5f8b2a46ef Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-261-9/+9
| | | | | | | | | | | | | From now on we prefer nullptr instead of 0 to clarify cases where we are assigning or testing a pointer rather than a numeric zero. Also, replaced cases where 0 was passed as Qt::KeyboardModifiers with Qt::NoModifier (clang-tidy replaced them with nullptr, which waas wrong, so it was just as well to make the tests more readable rather than to revert those lines). Change-Id: I4735d35e4d9f42db5216862ce091429eadc6e65d Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix QQuickRenderControl software grabs on surface not rendered elsewherev5.10.0-beta2David Edmundson2017-10-141-2/+2
| | | | | | | | | | | | The softwareRenderer is created in QQuickWindowPrivate::syncSceneGraph If a window is purely offscreen and only read with grabs() this never gets created as we check the software renderer too early. This can be fixed by reordering some code. Change-Id: I882a8c11ab5d285a54b32ab4f53abfbc8c50f449 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Delay the deletion of QSGTextures until all windows are synchronizedDominik Holland2017-06-161-0/+3
| | | | | | | | | | | | | | | | With the 'basic' and the 'windows' render loop the scene graph context is shared. Because of this we cannot start deleting textures after the first window is synchronized as it may contain textures needed by the another window, which is not yet synchronized. QWindowPrivate::syncSceneGraph() is not calling endSync() anymore as it doesn't know whether it is the last window or not. Instead the renderloop is now responsible for calling endSync() once this is safe to do. Change-Id: Icb50ebfb447c928e38b41df7e26f3bfafdb4a811 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com> Reviewed-by: Gunnar Sletta <gunnar@crimson.no>
* Run includemocs in qtdeclarativeThiago Macieira2017-04-261-0/+2
| | | | | Change-Id: I84e363d735b443cb9beefffd14b8c023a37aa489 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Fix hidpi support for opengl window grabbingFilipe Azevedo2017-04-091-0/+3
| | | | | | | | | | Now set the QImage devicePixelRatio so the content is correct on all screens. Task-number: QTBUG-53795 Change-Id: If94edf901da1285afe9bb847b8973d568a2b7082 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix wrong grabbing behaviorFilipe Azevedo2016-12-201-0/+5
| | | | | | | | | | | | QQuickWidget::grabFrameBuffer() was not polishing its items nor syncing the scene graph compared to standard QQuickWindow::grabWindow(). This lead to QQuickWidget grabbed content to be outdated (render the previous frame as a new frame). Task-number: QTBUG-57596 Change-Id: I94f5e0aa5b096fb9e21259267c0e50473e8ed5bd Reviewed-by: Robin Burchell <robin.burchell@viroteck.net> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Get rid of most QT_NO_FOO usagesLars Knoll2016-11-291-4/+4
| | | | | | | | Instead use QT_CONFIG(foo). This change actually detected a few mis-spelled macros and invalid usages. Change-Id: I06ac327098dd1a458e6bc379d637b8e2dac52f85 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Make shader effects configurableLars Knoll2016-10-101-1/+3
| | | | | | Change-Id: I4e7fd5e9781dec7ee6ed8807ca1a51c937f6f9f3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Fix up QQuickWidget and QQuickRenderControl docsLaszlo Agocs2016-07-151-2/+7
| | | | | Change-Id: I4df82c62afc12dace513ccbf6475d980c041867e Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Fix rendercontrol grabs with the software backendLaszlo Agocs2016-07-151-5/+24
| | | | | | | | | | | | Calling grabWindow recurses (since that is implemented via QQuickRenderControl::grab...) so it's not an option. Instead, call directly in the software renderer implementation. Fix also the size of the offscreen QQuickWindow when using QQuickWidget in combination with the software backend. Change-Id: I857a2cc0aebbbaa5d52d809aeaec37c15b0787b9 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Merge remote-tracking branch 'origin/dev' into scenegraphngAndy Nichols2016-05-311-1/+1
|\ | | | | | | Change-Id: I35715e07b6f837f21cd8e8898f19d97af92c6b69
| * QQuickWindow: Process a synthetic hover once per frameRobin Burchell2016-05-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes the limitation that hover only changes when the mouse moves, and (in my opinion) is required to make hover functionality even remotely useful. QtQuick scenes are a dynamic medium, items can move (or change) frequently, so only changing this in response to a user action means it will frequently end up out of date. A very simple example of this is a ListView of delegates that each have a background set on hover: when flicking the list, it won't reset the hover to actually match the item under the mouse. This is now not a (very) expensive operation to do, as deliverHoverEvent does nothing if the item tree in question doesn't have hover enabled. [ChangeLog][QtQuick][MouseArea] Hover state is now updated once per frame. This means that MouseArea::containsMouse property will now be correct even if the mouse is not moving, but items move under the cursor. Likewise the mouse position properties and positionChanged signal will act as if the mouse had moved. Task-number: QTBUG-40475 Task-number: QTBUG-42194 Task-number: QTBUG-33982 Task-number: QTBUG-42578 Task-number: QTBUG-52537 Change-Id: Ic2dcbb45339e11c07f5c6a9c95eb7f64957968eb Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
* | Prefix GL-specific shader effect codeLaszlo Agocs2016-04-131-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename the C++ sources and classes. The QML type name remains the same. No changes in functionality. The shader effect, node, material (and uniform animator and particles and bits and pieces here and there...) are highly interconnected and do not follow the usual design practices for Quick and the scenegraph and the adaptation layer. Therefore while we aim for keeping full compatibility for GL apps, other backends will likely get a different ShaderEffect item implementation. The C++ class QQuickShaderEffect itself is currently a dummy with an unchanged API. It is not in use for now but forms the basis for the implementation for other backends. This will be covered in future commits. Change-Id: Ia39ce4b303f8f33e2f241d11e35fa62423e43127 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* | Merge remote-tracking branch 'origin/dev' into wip/scenegraphngLaszlo Agocs2016-04-061-0/+4
|\| | | | | | | Change-Id: Id98d3514e602a3c8c159a27be7b2fd24d7d290ae
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-071-0/+4
| |\ | | | | | | | | | Change-Id: Icfa1d61fcc286c3418d4a625de11d2191336fa60
| | * QQuickRenderControl: cleanup material cache on invalidateTim Blechmann2016-03-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | invalidate() releases resources, but doesn't clean up the materialCache, resulting in a memory leak Change-Id: I3cf7b7a3b977bb9aa295ef1824c384bcdf9494f2 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Enable building Qt Quick module with QT_NO_OPENGL definedAndy Nichols2016-03-221-7/+16
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the Qt Quick module depends on either the OpenGL or OpenGLES headers being available at build time. Since we are adding support for adaptations that do not depend on OpenGL, it should be possible to build Qt Quick in environments that do not have OpenGL development headers. This does present many challenges though because in some cases GL types, and classes that require OpenGL are part of the public APIs. However since these classes were never available when QT_NO_OPENGL was defined, it should be possible to redefine the function signatures under this scenario, since it's not possible to break binary compatibility if there never were any binaries to break compatibility with. One of the bigger changes that was necessary to facilitate this change is creating interfaces out of QSGContext and QSGRenderContext. Here the default behavior was usage of OpenGL directly, even though subclasses could override all OpenGL usage. Making them interfaces should bring QSGContext and QSGRenderContext more in line with the other classes present in the adaptation layer. Change-Id: Iaa54dc0f6cfd18d2da1d059548abf509bd71f200 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* / Updated license headersJani Heikkinen2016-01-191-14/+20
|/ | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: Ic36f1a0a1436fe6ac6eeca8c2375a79857e9cb12 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Clean up correctly in rendercontrol to avoid crashesLaszlo Agocs2015-12-091-6/+13
| | | | | | | | | | Not destroying the Animator controller leads to scenegraph animators running even after destroying the rendercontrol and the window. Add the missing delete call and fix the somewhat broken cleanup sequence. Task-number: QTBUG-49635 Change-Id: I170b4bb4b065bda46d8ab9ad9a3992bc8cfd1d1e Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Merge remote-tracking branch 'origin/5.5' into 5.6Ulf Hermann2015-08-181-0/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/debugger/qv4debugservice.cpp src/qml/jsruntime/qv4value_inl_p.h src/qml/jsruntime/qv4value_p.h src/qml/memory/qv4mm.cpp src/qml/memory/qv4mm_p.h src/qml/qml/qqmlnotifier_p.h src/qml/qml/qqmlproperty.cpp src/quick/items/qquickflickable.cpp src/quick/items/qquicktextedit.cpp tests/auto/quick/qquickwindow/BLACKLIST The extra changes in qqmlbinding.cpp are ported from changes to qqmlproperty.cpp that occurred in parallel with writeBinding() being moved to qqmlbinding.cpp. Change-Id: I16d1920abf448c29a01822256f52153651a56356
| * Doc: added documentation to undocumented methodsNico Vertriest2015-08-041-0/+4
| | | | | | | | | | | | Task-number: QTBUG-36985 Change-Id: Idc6f7961f4f02f66dc3d4a8e5d09dd15d43b7757 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
* | Retrieve services from debug connector, not via static instance()Ulf Hermann2015-08-041-1/+0
|/ | | | | | | | | This will allow us to remove the instance() methods and create the services from factories in plugins. Also, it allows us to remove the isDebugging member from QQmlEnginePrivate. Change-Id: Id9d9820a910902ecfdb1e8175e215093ce3d0965 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* Fix rendercontrol example for screens with different dprLaszlo Agocs2015-04-281-0/+5
| | | | | | | | | | | | | | | | renderWindow() was not reimplemented in the example. This is pretty bad since renderWindowFor() fails to find a window and thus falls back to using the default device pixel ratio (which is the highest dpr present in the system). The result is broken content from Quick because it operates with a dpr of 2 any time a retina screen is connected, even when the example's own QWindow is placed on a normal screen. Add also a note to the QQuickRenderControl docs because it is easy to overlook. Task-number: QTBUG-45613 Change-Id: I31bf92ec285f3d9867a5604a4b4e3bea73791932 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Update copyright headersJani Heikkinen2015-02-121-7/+7
| | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Change-Id: I61120571787870c0ed17066afb31779b1e6e30e9 Reviewed-by: Iikka Eklund <iikka.eklund@theqtcompany.com>
* Support threading with QQuickRenderControlLaszlo Agocs2014-12-121-1/+15
| | | | | | | | | | | | | | | | | | | | | Reorganize the rendercontrol example to demonstrate both the single and multi threaded approaches. A small helper function is introduced to the QQuickRenderControl API: The QSGRenderContext has to live on the render thread. Previously there was no way for applications to move it to the desired thread. This is now possible. Pass --threaded to the rendercontrol example to use a separate render thread. [ChangeLog][QtQuick] QQuickRenderControl can now be used to render the Qt Quick scene on a dedicated render thread, similarly to how the built-in threaded render loop operates. Task-number: QTBUG-42813 Change-Id: I01c3b2ffca8a174d9d2c267a51f2e484ed7b34b3 Reviewed-by: Gunnar Sletta <gunnar@sletta.org> Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
* Do not send deferred deletes from QQuickRenderControl::invalidate()Laszlo Agocs2014-11-181-1/+4
| | | | | | | | | | | | | | | | | | Leave it up to the clients of QQuickRenderControl to do this, if they want it. It is usually not necessary. In the single-threaded widget world forcing deferred deletes to execute on every invalidate(), so for example from the hide event handler of QQuickWidget, is dangerous because widget apps tend to deleteLater() all sorts of widgets which can then be destroyed at unexpected times. From windowDestroyed() we continue to send the deferred deletes, just like all the render loops do. Task-number: QTBUG-42618 Task-number: QTBUG-40435 Change-Id: I8189124e2e7675361ee97bd8ba3e88b10ef193fa Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* Fix render control docsLaszlo Agocs2014-11-171-1/+9
| | | | | | | | Fix a typo and add a note to the signals. Change-Id: Ia8810562c5b5f192d7e54bc965807b8e78a26985 Reviewed-by: Karim Pinter <karim.pinter@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@theqtcompany.com>
* Fix disfunctional QQuickRenderControl with multiple screensLaszlo Agocs2014-10-221-1/+1
| | | | | | | | | | | | | | | | | | | | Having a retina and non-retina screen connected resulted in getting no output from QQuickRenderControl and QQuickWidget on the non-retina screen. This is caused by the fact that Quick is blindly calling QWindow::devicePixelRatio(). This approach is wrong when using QQuickRenderControl since the QQuickWindow does not have an actual native window and so devicePixelRatio() merely returns some default value which will definitely be wrong for one of the screens. The patch fixes the problem by introducing QQuickWindow::effectiveDevicePixelRatio(), which, via QQuickRenderControl::renderWindowFor, supports the redirected case too. Task-number: QTBUG-42114 Change-Id: I057e01f0a00758dde438fc9b10af3a435b06bb0b Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Update license headers and add new licensesJani Heikkinen2014-08-251-18/+10
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 & LICENSE.GPLv2 - Removed LICENSE.GPL Change-Id: I84a565e2e0caa3b76bf291a7d188a57a4b00e1b0 Reviewed-by: Jani Heikkinen <jani.heikkinen@digia.com>
* Rename QQuickRenderControl::stop() to invalidate()Laszlo Agocs2014-08-071-4/+4
| | | | | | | To be consistent. Change-Id: Ia78bf4a27e8ccb1a4f0a44865e810f1070c39e5d Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Invalidate the scenegraph properly in the rendercontrol's stop()Laszlo Agocs2014-07-291-11/+10
| | | | | | | | | | | Taking the persistent flags from the QQuickWindow was a bad idea. These are not applicable to the case when an application drives the scene via QQuickRenderControl. Once stop() is called, all resources must be released since the context itself will typically be destroyed afterwards. Task-number: QTBUG-40435 Change-Id: Iaa3b950e60ec36783a12074d706e1a501573f110 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Add grabFramebuffer() to QQuickWidget and use it in the autotestLaszlo Agocs2014-07-011-0/+2
| | | | | | | | | | | | | | This introduces the need for a grab function in QQuickWidget. The render control has one already so there is no reason for not exposing this in QQuickWidget too. This also means that a relatively meaningful autotest can be now be added. [ChangeLog][QtQuick] Added QQuickWidget::grabFramebuffer() for capturing the content into a QImage. Task-number: QTBUG-37589 Change-Id: I5ca8192c0ef8dab4f076a4db27b64aebe3359bb8 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Make QQuickRenderControl publicLaszlo Agocs2014-06-241-84/+155
| | | | | | | | | | | | QQuickRenderControl allows rendering Qt Quick 2 scenes into framebuffer objects which can then be used in arbitrary ways in Qt-based or 3rd party OpenGL renderers. [ChangeLog][QtQuick] Introduced QQuickRenderControl as a public API. Task-number: QTBUG-37944 Change-Id: I84262243b261b35cefdf67ec6bba8127a0f29275 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-06-041-2/+21
|\ | | | | | | | | | | | | | | | | | | | | | | | | The merge conflict is about the removal of "d1" from the register set on ARM, but that was already done in dev in commit ddb33ee9ba9e1344caa9be5dbf4b534c3ede692e The change in src/quick/scenegraph/coreapi/qsgrenderer.cpp with commit 2414f1675eab163b22dcc4e8ded80ed04d06369b was reverted to what it was before, per Laszlo's advice. Conflicts: src/qml/jit/qv4isel_masm.cpp Change-Id: I7bce546c5cdee01e37853a476d82279d4e72948b
| * Make QQuickRenderControl usable (still private)Paul Olav Tvete2014-06-031-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | QQuickRenderControl needs a QQuickWindow in order to function. This required the use of a private QQuickWindow constructor, meaning that only friend classes of QQuickWindow could use QQuickRenderControl. This change adds a factory function, QQuickRenderControl::createOffscreenWindow(). Task-number: QTBUG-38996 Change-Id: I92f6f1f60045934f3dd33c300352247852463c73 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| * Fix QQuickWidget cleanup and invalidation sequenceLaszlo Agocs2014-06-031-2/+2
| | | | | | | | | | | | | | | | | | Make sure the context/surface are still alive and current while destroying the render control. Task-number: QTBUG-39034 Change-Id: I6ff0069985a9121a63025bfb165493b3f003391d Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-101-1/+31
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/plugins/accessible/quick/quick.pro src/quick/items/qquickpincharea.cpp src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp src/quick/scenegraph/qsgthreadedrenderloop.cpp Manually adjusted for TestHTTPServer constructor change: tests/auto/quick/qquickimage/tst_qquickimage.cpp Change-Id: I5e58a7c08ea92d6fc5e3bce98571c54f7b2ce08f
| * Getting the render window of an offscreen windowPaul Olav Tvete2014-04-241-0/+30
| | | | | | | | | | | | | | | | | | | | When using a QQuickWidget, the QQuickWindow is hidden and the contents are displayed in another window. Some components need to query the actual window, e.g. when positioning a popup. Task-number: QTBUG-38116 Change-Id: I34452be2179ccc9e216e4d89264dc700e0cf42a0 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
| * Fix QQuickView::grabWindow() on retina displaysMorten Johan Sørvig2014-03-201-1/+1
| | | | | | | | | | | | | | | | | | Multiply by window->devicePixelRatio() at all qt_gl_read_framebuffer() call sites. Task-number: QTBUG-35962 Change-Id: If58e4f97fc5d931ba2e222f8cb1a0641d52c3257 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* | Compress touch events in QQuickWindow.Gunnar Sletta2014-05-051-0/+3
|/ | | | | | | | | | | | | | Instead of sending multiple touch updates per frame, we store the last one and flush the pending events just before we enter into the scene graph sync phase. [ChangeLog][QtQuick] QQuickWindow will compresses touch events and delivers at most one touch event per frame. Done-with: Robin Burchell <robin.burchell@jollamobile.com> Change-Id: Ia0169bc4a3f0da67709b91ca65c326934b55d372 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* QQuickWindow cleanup: Remove forceRendering flagPaul Olav Tvete2014-03-121-3/+3
| | | | | | | | | | | forceRendering was introduced for QQuickWidget, but QQuickWidget now has full control of when the rendering functions are called. It makes more sense to not call the QQuickRenderControl functions, than to set a flag on QQuickWidget that decides whether those functions have any effect. Change-Id: I69819b13000120c04cecd1a467c08e8df9330df8 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* QQuickWidget: handle hide and show events properlyPaul Olav Tvete2014-02-281-0/+20
| | | | | | Task-number: QTBUG-37062 Change-Id: I3763385168eaa0ccd009ada563f56ea0251029a5 Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
* Avoid extra platformwindows with QQuickWidgetLaszlo Agocs2014-02-211-3/+7
| | | | | | | | | | | | QQuickWidget is nice but does not work on platforms like eglfs because it always creates a (hidden) platform window for the QQuickWindow. This is now fixed by avoiding calling create() on the window and using the toplevel window of the QQuickWidget instead. Change-Id: Ia552f7a16d8b913fb798fde04b9304c6d037a46c Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* Introducing QQuickWidgetLars Knoll2014-02-171-0/+224
Renders into an FBO, and provides a texture that is composed by the QPA/widget kernel compositor. Also introducing QQuickRenderControl, which is private API for now. Change-Id: I710c16e1506124a17f91e87344496471803a448b Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>