aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/scenegraph/util/qsgdefaultpainternode.cpp
Commit message (Collapse)AuthorAgeFilesLines
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-261-7/+7
| | | | | | | | | | | | | 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>
* Quick: Check fbo msaa related extensions via QtGuiLaszlo Agocs2017-01-311-3/+3
| | | | | | | | | GL_EXT_xxxx is not sufficient here. QOpenGLFunctions already has support for the ANGLE and some other variants of the framebuffer multisample and blit extensions, so use that instead of the manual checks. Change-Id: I2d8e0850d3b0b9a9cfd9e55aa38adad07a0ba45d Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Merge remote-tracking branch 'origin/5.6' into 5.8Simon Hausmann2016-10-131-2/+14
|\ | | | | | | Change-Id: I175b27337b534c0b8f46a4a792d2c43cde73ffc4
| * Fix FastFBOResizing hint for QQuickPaintedItemYoann Lopes2016-10-061-2/+14
| | | | | | | | | | | | | | | | | | The item updates the node in an order that would never actually take that flag into account. We now makes sure the FBO size is updated when the flag is set. Change-Id: I7aaaf64ed802ec0b53a3b47a39bbdea8195b4092 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-211-2/+2
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: src/qml/qml/qqmltypeloader.cpp Change-Id: I07647700fc86764c95a5ef95c568e700a70fe45f
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-09-161-2/+2
| |\| | | | | | | | | | Change-Id: Ib45654e3e79087da4754377f0d78b70c44ed4695
| | * Correctly update the geometry of QSGDefaultPainterNodev5.6.2Yoann Lopes2016-09-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using a FBO, the source rect should be the painted part (m_textureSize) of the FBO. Also, the texture size is now correctly set when using an Image render target. Task-number: QTBUG-52054 Change-Id: If5d7a9c0b02f16f5d4be2cdf8c3c4cb15cb0583e Reviewed-by: Andy Shaw <andy.shaw@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* | | Merge remote-tracking branch 'origin/5.7' into devLiang Qi2016-06-211-1/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/quick/items/qquickflickable_p_p.h src/quick/items/qquickpathview_p_p.h tests/auto/qml/qqmltypeloader/tst_qqmltypeloader.cpp Change-Id: I77664a095d8a203e07a021c9d5953e02b8b99a1e
| * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-06-201-1/+0
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: src/qml/jit/qv4targetplatform_p.h src/quick/accessible/qaccessiblequickitem_p.h Change-Id: Ic95075a5fad81ec997a61561bd65979dfa3b9d4d
| | * Remove erronous setTextureSize() as it is already set previouslyAndy Shaw2016-06-151-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was causing problems with the FrameBuffer render target when displaying on a HiDpi display as it would end up with a size which was not accounting for the devicePixelRatio. Task-number: QTBUG-52901 Change-Id: I587e2578d670cfecb016aae92c4190a37e7412a1 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | Enable building Qt Quick module with QT_NO_OPENGL definedAndy Nichols2016-03-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Revert "Build (and fail) Quick with -no-opengl"Laszlo Agocs2016-02-121-6/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 707e6f528fc79db236d282e7ea41eb952c825433. We will not pursue this route for the time being. Change-Id: Idd1fce362440f6bf1b58901a289843fdfb39a5b7 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* | | Build (and fail) Quick with -no-openglLaszlo Agocs2016-02-051-1/+6
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Disable qmltest, particles, Quick examples and tests. Also guard private QOpenGL header includes because, unlike the public QOpenGL* headers, this is not done in the private headers. This allows build attempts against a -no-opengl qtbase. It will of course fail when encontering the GL symbols and QOpenGL class usage in Quick/SG. Change-Id: I323f7a8b8854cc6e486e264517df30be3e5f8d3c Reviewed-by: Andy Nichols <andy.nichols@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>
* Introduce QQuickPaintedItem::textureSize and support HighDpi.Gunnar Sletta2015-09-151-16/+42
| | | | | | | | | | | | | | | | | | contentsSize/Scale/BoundingRect are confusing and will in most cases not produce what the user wants, but since they might be in use, we keep their behavior and simply obsolete them. New code should use textureSize, though most code can simply rely on implicit HighDpi support. [ChangeLog][QtQuick][QQuickPaintedItem] Implement high-dpi support and add function textureSize. This obsoletes the existing contentsSize, contentsScale and contentsBoundingRect functions. Task-number: QTBUG-32510 Task-number: QTBUG-40489 Change-Id: I660bbf394594b6ea588d4de9cc83c8c5eb28cb28 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* Move all bools of painternode to the end as bitfieldsGunnar Sletta2015-09-151-2/+2
| | | | | | | Saves us a few bytes Change-Id: Ie2cdda5ca0cd4a82aa00ea26e28418e6b027afac Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
* 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>
* Added QSGPainterNode abstraction to QSGAdaptationLayerAndy Nichols2014-08-271-0/+427
This allows the scenegraph backend to customize how QSGPainterNodes are rendered. Change-Id: I640dcf121d0be6bda615cf30591d502329fc89d0 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>