aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickframebufferobject.h
Commit message (Collapse)AuthorAgeFilesLines
* Move resetOpenGLState out of QQFBOGiuseppe D'Angelo2020-06-231-1/+0
| | | | | | | | | | | | | QQFBO is not the only client of resetOpenGLState. Although in theory third-party GL code that integrates with QtQuick should reset its state, in practice it doesn't. By making resetOpenGLState only available into QQFBO, now we're blocking a Qt5->6 upgrade path. There's also no compelling reason for this function to be in QQFBO at all, so move it out to as a free function in a ad-hoc new namespace. Change-Id: Ic8e5c7e244db37a5b6257d516e6aea3a9db44898 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Move resetOpenGLState() to QQuickFboLaszlo Agocs2020-06-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | QQuickWindow should not have OpenGL specifics in its API in Qt 6. However, resetOpenGLState() is used by applications commonly in combination with QQuickFramebufferObject (not the least because the documentation recommends it!). This is no problem in practice because QQuickFramebufferObject remains an OpenGL-only feature. So to minimize the breaks, move the function into QQuickFramebufferObject::Renderer so any application that calls the function can continue to do so by just calling it on 'this' instead. The rendercontrol_opengl example used to call this function as well, but unnecessarily, it will still function the same way without it. Note that there is a chance that there are applications that call resetOpenGLState() in other contexts, for example in slots connected to before or afterRendering(). For these it will need to be determined if the call is necessary at all, and if it is, should be replaced by (re)setting the appropriate OpenGL state manually instead. Task-number: QTBUG-84523 Change-Id: I335599f77e8a84e347a44427eb1a1bf917796ee8 Reviewed-by: Christian Strømme <christian.stromme@qt.io>
* QQuickItem: rename geometryChanged to geometryChangeMitch Curtis2020-04-231-1/+1
| | | | | | | | | | | | | | | | | | This brings it in line with the existing convention in this and other modules, where virtual handlers are named "nounChange"; e.g. itemChange. Signals are named "nounChanged". This also allows adding a geometryChanged signal, which would enable users to listen to one signal for all changes to x/y/width/height. [ChangeLog][QQuickItem] Renamed geometryChanged to geometryChange in order to follow existing naming conventions and have consistency with existing API, such as itemChange. Task-number: QTBUG-82994 Change-Id: I0547358c796a0047982ccfbf2c38bab952e7a634 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Update QQuickFBO docs and remove TODOLaszlo Agocs2020-04-141-3/+0
| | | | | | | | We will support QQuickFramebufferObject in 6.0 too, but only when Qt Quick is running with OpenGL. Change-Id: I076688fa9cc36cde03b8d51df47e5acc887a814d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Make QQuickFbo work with the OpenGL backend of QRhiLaszlo Agocs2019-11-141-1/+2
| | | | | | | | | | | | | | | So no matter if Quick goes directly to OpenGL, or via QRhi, QQuickFramebufferObject will still work. Also fix up the fboitem example to use a ShaderEffect that works with both rendering paths. With graphics APIs other than OpenGL the item will be empty, as QQuickFbo is not something we can support there. Task-number: QTBUG-79222 Change-Id: I52177d3a75f619f7075a2fc829573c17031eded1 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* QQuickFbo: add the RHI warningLaszlo Agocs2019-08-301-1/+2
| | | | | | | | This class will probably go away in Qt 6. "Probably", because it is not yet clear if/how an alternative will be provided. Change-Id: Iba205c394a97bf8d2c1001f8f42ad26be6841b09 Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Replace Q_NULLPTR with nullptrKevin Funk2017-09-271-1/+1
| | | | | Change-Id: I0c01862dbb475494c84e39c695cb563df8cbcfa8 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-251-5/+5
| | | | | Change-Id: I176f91a8c51e81a2df3fe91733118261491223ee Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-03-071-1/+1
|\ | | | | | | Change-Id: Icfa1d61fcc286c3418d4a625de11d2191336fa60
| * Make public headers compile with -Wzero-as-null-pointer-constantMarc Mutz2016-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | ... or equivalent. QtBase 5.6 headers already compile that way, so let the other modules follow suit. Task-number: QTBUG-45291 Change-Id: Ied526fb2d7adc3a68946d6843a6bd6f475ebf864 Reviewed-by: Lars Knoll <lars.knoll@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>
* Add a property to enable vertical mirroring in QQuickFramebufferObjectLaszlo Agocs2015-06-231-0/+5
| | | | | | | | [ChangeLog] Added a mirrorVertically property to QQuickFramebufferObject. Task-number: QTBUG-41073 Change-Id: Ib69cbfe7b2f6ae42913d857460431195ff92e53a 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>
* Merge remote-tracking branch 'origin/5.4' into devOswald Buddenhagen2014-09-111-19/+18
|\ | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickpainteditem.h src/quick/items/qquickshadereffectsource.cpp src/quick/items/qquickshadereffectsource_p.h Change-Id: If98096443afe85fc4370cef971eace050006a61b
| * Fix performance regression caused by SG signals in QQuickItem.Gunnar Sletta2014-09-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | For a testcase with thosands of items, I measured an increase in shutdown time from 800ms to 7500ms, all spent in disconnect(). This is not acceptible, so we're choosing a different approach. If items implement a invalidateSceneGraph slot, this function will be called during shutdown. It should be made a proper virtual in Qt 6. This approach costs very little. Change-Id: I5970143cc0a0744955687e17586f0bb00c9afb26 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
| * Make QQuickFramebufferObject a texture provider.Gunnar Sletta2014-08-261-0/+7
| | | | | | | | | | Change-Id: Ib9cf0f99dc07e4125c4ccd2d45da2839d8af88b6 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * Update license headers and add new licensesJani Heikkinen2014-08-251-19/+11
| | | | | | | | | | | | | | | | | | - 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>
* | Add Q_DECL_OVERRIDEAlbert Astals Cid2014-08-141-1/+1
|/ | | | | Change-Id: I2e64950aef710f943c3bc50bc9bf8a1f7fb58d28 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Fix qquickframebufferobject.h syncqt warningJ-P Nurmi2013-10-071-1/+1
| | | | | | | | QtQuick: WARNING: qquickframebuffe robject.h includes QQuickItem when it should include QtQuick/QQuickItem Change-Id: Ia702bab8881ade601693cbee495b1dc6a5e14abb Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Convenience class for FBO rendering in Qt QuickGunnar Sletta2013-09-251-0/+98
Change-Id: I5712bbfa0cde9f2fe5fddc35c4cc23597717065c Reviewed-by: Lars Knoll <lars.knoll@digia.com>