aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/shapes
Commit message (Collapse)AuthorAgeFilesLines
* Update plugins.qmltypes for Qt 5.13Kai Koehne2019-03-131-2/+2
| | | | | | | | Task-number: QTBUG-73484 Change-Id: I089f5122817a4da1fce13f55d2975240d741b9f6 Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Update plugins.qmltypesKai Koehne2018-09-061-2/+2
| | | | | | | | | | | | | by running cd qtdeclarative/imports; for path in `find . -name Makefile -print`; do pushd `dirname $path`; make qmltypes; popd; done in the build directory. Local file paths in the command line were then edited out by hand. Task-number: QTBUG-70264 Change-Id: I931604aff6a779915708395e8b8dbdf659cbd637 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* qmlplugindump: Automatically use most up to date QtQuick versionKai Koehne2018-08-301-1/+1
| | | | | | | | QtQuick / QML minor version is nowadays the same as the Qt minor version. Change-Id: I4d7ef0b101320ee2179746c95093b62e063adba2 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Move QtQuick.Shapes implementation to qtquickshapes, privately exportedPaolo Angelelli2018-06-2131-6317/+7
| | | | | | | | | | | This change moves the implementation of QtQuick.Shapes into an own qt module, where classes are privately exported. In this way Shapes QML types can be internally (= from other Qt modules) instantiated also from cpp. Change-Id: I428f981f0a1f3083e6571cbeaffa706fd8ef7254 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Remove the code to manually initialize resources in static buildsSimon Hausmann2018-05-021-9/+1
| | | | | | | | | After commit be9a56e5e3ced5d0d668fa24e4c65ae928f2e25a in qtbase, this is not needed anymore. Instead the resource system injects the plugin entry point with a reference to all resources. Change-Id: I7275029bd4c15eda6bb8c2ab7ae8c1cd3933aedb Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* QQuickShapeGenericRenderer: Fix clang-cl-warning about uninitialized variableFriedemann Kleint2018-04-121-0/+1
| | | | | | | | | Add a return to the default branch capturing NoGradient, fixing: warning: variable 'gradMat' is used uninitialized whenever switch default is taken Change-Id: Iad9d619b59677a18a0718d750516c9b2fe51569d Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* doc: Fix one link commandMartin Smith2018-03-021-1/+1
| | | | | | | This update fixes a \l command that used the wrong syntax. Change-Id: Icf5cc82eb4118332b42fe67d9d31bb7de07de3fc Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* use nullptr consistently (clang-tidy)Shawn Rutledge2018-02-264-6/+6
| | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/5.10' into 5.11Liang Qi2018-02-122-2/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/imports/shapes/qquickshape.cpp src/imports/shapes/qquickshape_p_p.h src/qml/compiler/qqmlpropertycachecreator_p.h src/qml/jsruntime/qv4value_p.h src/quick/items/qquickloader_p.h tests/auto/qml/qqmlecmascript/tst_qqmlecmascript.cpp tools/qmlprofiler/qmlprofilerapplication.cpp Change-Id: Iafc66ae84bf78630ed72a986acb678e9d19e3a69
| * Fix Shapes not playing well with QtGraphicalEffectsPaolo Angelelli2018-01-312-2/+6
| | | | | | | | | | | | | | | | | | | | This patch allow shapes to skip the sync optimization in situations where the shape is added to a shader effect either directly or as nested inside another item, and is set to be invisible. Task-number: QTBUG-63105 Change-Id: I595fbc052032f420982be1267d22a24bcffb7212 Reviewed-by: Robin Burchell <robin.burchell@crimson.no>
* | Add optimized path for QML ShapePathKaj Grönholm2018-02-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve performance of QML ShapePath, especially with more complex animating paths. Testing revealed that considerable amount of time is used for calculating QPainterPath::length(). QML ShapePath doesn't support QQuickPathAttribute or QQuickPathPercent, so it can have a fast-path for creating the path without calculating length or attributes. This gave heavy bezier lines rendering test ~7x performance boost. Task-number: QTBUG-64951 Change-Id: I5240ed3516b5eafb0391790ac96835e70f88e540 Reviewed-by: Robin Burchell <robin.burchell@crimson.no> Reviewed-by: Michael Brasser <michael.brasser@live.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* | QQuickShape: override contains(QPointF); demonstrate in examplesShawn Rutledge2018-01-256-6/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QQuickItem::contains() only checks the Item's bounding box by default. In the case of Shapes, that can be comically imprecise, but it's fast. So we add a containsMode property to control whether we will do that (the default) or actually check each of the QPainterPaths within to see whether they contain the point (FillContains). FillContains could be optimized later: use QRegion perhaps, or download the rendered texture from the GPU and test whether the pixel at the point is transparent. It may also be appropriate to add a StrokeContains option. The main motivation is to detect mouse (or touch) interaction within a shaped area. QQuickSinglePointHandler::wantsEventPoint() already checks whether its parent Item contains the event point. So if a Shape has a TapHandler for example, it will respond only within the visible bounds of the Shape rather than within the entire rectangular bounding box as long as containsMode is set to FillContains. Examples quick/shapes/content/tapableTriangle.qml and tiger.qml are modified to react when a press occurs inside, and the former is fixed to be able to run standalone via the qml runtime. The latter has an offset issue when run standalone but is OK within the shape gallery example. As a drive-by optimization, QQuickShapePrivate's variables are re-ordered by type so that the compiler can place the bools and enums into bitfields; and to facilitate reordering, the initialization is done C++11-style, in the header. [ChangeLog][QtQuick][Shape] A containsMode property is added. If it is set to FillContains, then Shape.contains() returns true only within the visible bounds, so its Pointer Handlers also respond only within those bounds. Change-Id: I31c85a9b08aa6945c58dc07febfe89ffef21274b Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io>
* | QQuickShapePrivate: use header init, order storage by typeShawn Rutledge2018-01-162-15/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Header initialization makes it more clear that initialization is being done properly (and in fact a couple of these were not). Ordering by type allows compilers to pack the bools and enums into a bitfield. (Unfortunately explicit bitfields aren't syntactically compatible with header initialization, so we leave it up to the compiler to make this optimization on its own, since Shape is not intended to be used in large numbers anyway.) Change-Id: I68b1f5dec59bc2c487ab37bd3495eca19736bc21 Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Merge remote-tracking branch 'origin/5.10' into devLiang Qi2017-12-206-5/+57
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: tests/auto/quick/pointerhandlers/flickableinterop/data/FlashAnimation.qml tests/auto/quick/pointerhandlers/flickableinterop/data/Slider.qml tests/auto/quick/pointerhandlers/flickableinterop/data/TapHandlerButton.qml tests/auto/quick/pointerhandlers/flickableinterop/data/flickableWithHandlers.qml tests/auto/quick/pointerhandlers/multipointtoucharea_interop/data/pinchDragMPTA.qml tests/auto/quick/pointerhandlers/qquickdraghandler/data/DragAnywhereSlider.qml tests/auto/quick/pointerhandlers/qquickdraghandler/data/FlashAnimation.qml tests/auto/quick/pointerhandlers/qquickdraghandler/data/Slider.qml tests/auto/quick/pointerhandlers/qquickdraghandler/data/draggables.qml tests/auto/quick/pointerhandlers/qquickdraghandler/data/multipleSliders.qml tests/auto/quick/pointerhandlers/qquicktaphandler/data/Button.qml tests/auto/quick/pointerhandlers/qquicktaphandler/data/FlashAnimation.qml tests/auto/quick/pointerhandlers/qquicktaphandler/data/buttons.qml tests/manual/pointer/content/FakeFlickable.qml tests/manual/pointer/content/FlashAnimation.qml tests/manual/pointer/content/MomentumAnimation.qml tests/manual/pointer/content/MouseAreaButton.qml tests/manual/pointer/content/MouseAreaSlider.qml tests/manual/pointer/content/MptaButton.qml tests/manual/pointer/content/MultiButton.qml tests/manual/pointer/content/ScrollBar.qml tests/manual/pointer/content/Slider.qml tests/manual/pointer/content/TapHandlerButton.qml tests/manual/pointer/fakeFlickable.qml tests/manual/pointer/flickableWithHandlers.qml tests/manual/pointer/flingAnimation.qml tests/manual/pointer/joystick.qml tests/manual/pointer/main.cpp tests/manual/pointer/main.qml tests/manual/pointer/map.qml tests/manual/pointer/map2.qml tests/manual/pointer/mixer.qml tests/manual/pointer/multibuttons.qml tests/manual/pointer/photosurface.qml tests/manual/pointer/pinchDragFlingMPTA.qml tests/manual/pointer/pinchHandler.qml tests/manual/pointer/singlePointHandlerProperties.qml tests/manual/pointer/tapHandler.qml tests/manual/pointer/tapWithModifiers.qml tests/manual/shapestest/main.cpp Change-Id: I4f233a521305fab1ebfecbac801da192434ed524
| * QmlJs: update plugins.qmltypesMarco Benelli2017-12-141-0/+24
| | | | | | | | | | Change-Id: I3df1210088f877d4fe1d7953982e0fd2fa6ad3db Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
| * Rename Shapes plugin's qrc to something more uniqueLaszlo Agocs2017-12-143-2/+2
| | | | | | | | | | | | | | | | | | | | shapes.qrc conflicted with the shapes example's shapes.qrc. The Q_INIT_RESOURCE was probably calling the example's initResource, leading to not finding the plugin's files in the resource system at runtime in static builds. Task-number: QTBUG-65173 Change-Id: Ic9187c818119b1984c3748bb032d98b3716733a9 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
| * Add optional timing logs for Shape triangulationLaszlo Agocs2017-12-122-3/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow the scenegraph's approach with qt.scenegraph.time.* categories and add qt.shape.time.sync. When enabled, this will print a line for each sync() that had something to process. For asynchronous items this includes all the time from requesting the backend to start the work right up to the finished callback, and thus can be somewhat misleading. Task-number: QTBUG-64951 Change-Id: Ib51a9d4adba4cdc7d692eb7ff14627a5d0e548cf Reviewed-by: Paolo Angelelli <paolo.angelelli@qt.io> Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* | Add new PathAngleArc typeMichael Brasser2017-11-072-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | This type allows working with arcs in different ways (based on angles rather than start/end positions) that can be more intuitive for certain use cases (such as a circular progress indicator). [ChangeLog][QtQuick][Path] Add new PathAngleArc type Change-Id: Icbe5fc0450edd9a4d92f9a8d03438842b72a312d Task-number: QTBUG-62684 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* | Replace Q_DECL_OVERRIDE with overrideKevin Funk2017-09-251-1/+1
|/ | | | | Change-Id: I176f91a8c51e81a2df3fe91733118261491223ee Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* shapes: Reduce stroke/fill node dataLaszlo Agocs2017-09-052-27/+14
| | | | | | | Do not store the superfluous window and geometry pointers. Change-Id: Ib9cf4e62bdc6f32dc99cda25eddfebdfa05d579b Reviewed-by: Andy Nichols <andy.nichols@qt.io>
* Doc: Fix issues for Qt Quick Shapes documentationTopi Reinio2017-09-011-109/+125
| | | | | | | | | - Use \value for enumeration types - Wrap paragraphs and code examples at 80 characters - Fix minor typos and missing punctuation Change-Id: Ia483b4f00fb54ae1005d097160309a46b69faf5c Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Fix some qdoc warnings for 5.10Friedemann Kleint2017-08-281-0/+2
| | | | | | | | | | | | | | | | | | | qtdeclarative/src/imports/shapes/qquickshape.cpp:577: warning: Command '\li' outside of '\list' and '\table' qtdeclarative/src/imports/shapes/qquickshape.cpp:585: warning: Command '\li' outside of '\list' and '\table' qtdeclarative/src/imports/shapes/qquickshape.cpp:592: warning: Command '\li' outside of '\list' and '\table' qtdeclarative/src/imports/shapes/qquickshape.cpp:596: warning: Command '\li' outside of '\list' and '\table' qtdeclarative/src/imports/shapes/qquickshape.cpp:602: warning: Command '\li' outside of '\list' and '\table' qtdeclarative/src/imports/shapes/qquickshape.cpp:608: warning: Unexpected '\endlist' qtdeclarative/src/quick/handlers/qquickpinchhandler.cpp:138: warning: Missing property type for QQuickPinchHandler::minimumX qtdeclarative/src/quick/handlers/qquickpinchhandler.cpp:151: warning: Missing property type for QQuickPinchHandler::maximumX qtdeclarative/src/quick/handlers/qquickpinchhandler.cpp:164: warning: Missing property type for QQuickPinchHandler::minimumY qtdeclarative/src/quick/handlers/qquickpinchhandler.cpp:177: warning: Missing property type for QQuickPinchHandler::maximumY qtdeclarative/src/quick/items/qquickitem.cpp:7241: warning: No such parameter 'enabled' in QQuickItem::setAcceptTouchEvents() qtdeclarative/src/quick/items/qquickitem.cpp:7241: warning: Undocumented parameter 'accept' in QQuickItem::setAcceptTouchEvents() qtdeclarative/src/quick/items/qquickwindow.cpp:4829: warning: No such parameter 'backend' in QQuickWindow::sceneGraphBackend() Change-Id: Iec2ced892e068317c60517cedacc27e8c82b26b3 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
* Nvpr renderer: Adapt QPen behavior when setting dashPatternBerthold Krevert2017-08-091-3/+16
| | | | | | | | | Fallback to correct default values if dashPattern array is empty (while strokeStyle is set to DashLine at the same time) and check for odd sized dashPattern arrays. Change-Id: Ic1dbf9f80c5efaab3bbf138158c12979a4414595 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* shapes: Remove unused signalLaszlo Agocs2017-08-091-1/+0
| | | | | | | | Gradients are set just like with Rectangle, and there is no notify signal. Remove the never emitted signal from the header. Change-Id: If3ae880f4cce4042ce6b399a6fde8013acd5a2b1 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* shapes: Add support for conical gradientsLaszlo Agocs2017-08-0813-5/+403
| | | | | | Task-number: QTBUG-61857 Change-Id: Iacefcc3b22b31ed3dbcfbf7f00c8b0ea51c63b95 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* shapes: Add support for radial gradientsLaszlo Agocs2017-08-0814-94/+646
| | | | | | Task-number: QTBUG-61857 Change-Id: I580e503d8266a9dca69bb542c22228df4ff4bf94 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
* Normalize dashOffset behavior between renderer backendsBerthold Krevert2017-08-051-3/+3
| | | | | | | | | | Software and tessellation backends assume that dashOffset is defined in units of strokeWidth. That means the nvpr backend has to scale the dashOffset by the strokeWidth to keep behavior in sync. Change-Id: Ie1735f8dcdc6ac89fc4425b29166f88ad2638a92 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* shapes: Rip out more JS API leftoversLaszlo Agocs2017-07-318-291/+49
| | | | | | | | | | None of the removed code is ever hit in practice since the public JS API has been removed some time ago. Let's follow it up with removing the internal details since such an API is not going to come back in the near future. Change-Id: I721ab296a7a2acb3a5f61ce705da7aa66d3ad765 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Move shapes-related shaders to under the shapes pluginLaszlo Agocs2017-07-2913-6/+122
| | | | | | | Do not leave them in quick/items' qrc. Change-Id: I12360a54caa368219a7a80645f92af66aa9de9ba Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Rename property to rendererTypeBerthold Krevert2017-07-282-2/+2
| | | | | | | This follows the documentation. Change-Id: I74d8d2b45546717c6a6b252af9370c6670ef1b78 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Check for GL_NV_path_rendering extensionBerthold Krevert2017-07-251-2/+6
| | | | | | | | | | If resolving of glProgramPathFragmentInput fails, the nvpr renderer should not report that it is supported, so that the shape item can fallback to the geometry renderer. Task-number: QTBUG-61913 Change-Id: I0795b1dedc330432884d5214ee2492c757055a54 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* shapes: Add example linksLaszlo Agocs2017-07-061-1/+3
| | | | | Change-Id: I9826058b6f721a6d3a85878ab872864e0fc494ac Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* shape: Revise performance notes in the docsLaszlo Agocs2017-07-061-22/+37
| | | | | | | | Clear up some sentences and add some more recommendations. Change-Id: Iecfd90c63411aa6d17a9218122bada92b06f1cd3 Reviewed-by: J-P Nurmi <jpnurmi@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* shape: Call base impl for componentCompleteLaszlo Agocs2017-07-061-3/+3
| | | | | | | ...and classBegin(). Change-Id: Ie6b4a53c32044d17ce1beb5415a830683c2b513f Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* shapes: Remove componentComplete from QQuickShapePrivateThomas Hartmann2017-07-062-3/+1
| | | | | | | | | | | | | QQuickItemPrivate already has the member componentComplete. Duplicating this breaks QQuickItem::isComponentComplete(), which is used in Qt Quick Designer. For this reason QQuickShape was never completed in Qt Quick Designer. This patch fixes the issue. Change-Id: I30201ff5fb17282dab99a8c84182c6fb6e183134 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Update plugins.qmltypes for ShapesMarco Benelli2017-07-061-192/+25
| | | | | | | | Update qmltypes forcing the dependency to QtQuick in order to avoid the dumping of duplicated QtQuick's components. Change-Id: Ie16f21518076d0af1c744e420d689122fafb485e Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* shapes: Convert QT_NO_OPENGL to QT_CONFIG(opengl)Liang Qi2017-06-267-20/+32
| | | | | | | | Also guard fillGradient for now. Task-number: QTBUG-61632 Change-Id: I5fa2607cc1ede0922519258afd455bee4d0187c7 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Add Q_ASSERT to test prevNodeJesus Fernandez2017-06-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | To make Coverity happy: *** CID 181275: Null pointer dereferences (FORWARD_NULL) /qtdeclarative/src/imports/shapes/qquickshapegenericrenderer.cpp: 503 in QQuickShapeGenericRenderer::updateNode()() 497 QQuickShapeGenericNode **nodePtr = &m_rootNode; 498 QQuickShapeGenericNode *prevNode = nullptr; 499 500 for (ShapePathData &d : m_sp) { 501 if (!*nodePtr) { 502 *nodePtr = new QQuickShapeGenericNode; >>> CID 181275: Null pointer dereferences (FORWARD_NULL) >>> Dereferencing null pointer "prevNode". 503 prevNode->m_next = *nodePtr; 504 prevNode->appendChildNode(*nodePtr); 505 } 506 507 QQuickShapeGenericNode *node = *nodePtr; 508 Change-Id: I76e79ef6fe94aa8b0e77f79724101b4682dab6d3 Coverity-Id: 181275 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Initialize uniform location variablesJesus Fernandez2017-06-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | *** CID 181276: Uninitialized members (UNINIT_CTOR) /qtdeclarative/src/imports/shapes/qquickshapenvprrenderer_p.h: 174 in QQuickNvprBlitter::QQuickNvprBlitter()() 168 float opacity); 169 170 private: 171 QOpenGLShaderProgram *m_program = nullptr; 172 QOpenGLBuffer *m_buffer = nullptr; 173 int m_matrixLoc; >>> CID 181276: Uninitialized members (UNINIT_CTOR) >>> The compiler-generated constructor for this class does not initialize "m_opacityLoc". 174 int m_opacityLoc; 175 QSize m_prevSize; 176 }; 177 178 class QQuickShapeNvprRenderNode : public QSGRenderNode 179 { Change-Id: I4176981fe79c175db974ff428a5116d82420f7a6 Coverity-Id: 181276 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Initialize variablesJesus Fernandez2017-06-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | *** CID 181280: Uninitialized members (UNINIT_CTOR) /qtdeclarative/src/imports/shapes/qquickshapegenericrenderer.cpp: 700 in QQuickShapeLinearGradientShader::QQuickShapeLinearGradientShader()() 694 QQuickShapeLinearGradientShader::QQuickShapeLinearGradientShader() 695 { 696 setShaderSourceFile(QOpenGLShader::Vertex, 697 QStringLiteral(":/qt-project.org/items/shaders/lineargradient.vert")); 698 setShaderSourceFile(QOpenGLShader::Fragment, 699 QStringLiteral(":/qt-project.org/items/shaders/lineargradient.frag")); >>> CID 181280: Uninitialized members (UNINIT_CTOR) >>> Non-static class member "m_gradEndLoc" is not initialized in this constructor nor in any functions that it calls. 700 } 701 702 void QQuickShapeLinearGradientShader::initialize() 703 { 704 m_opacityLoc = program()->uniformLocation("opacity"); 705 m_matrixLoc = program()->uniformLocation("matrix"); Change-Id: Ic9435039a1409ade63c7592a4a55b6c7306d03c2 Coverity-Id: 181280 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Initialize pointerJesus Fernandez2017-06-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | *** CID 181281: Uninitialized members (UNINIT_CTOR) /qtdeclarative/src/imports/shapes/qquickshapenvprrenderer_p.h: 156 in QQuickNvprMaterialManager::QQuickNvprMaterialManager()() 150 151 void create(QQuickNvprFunctions *nvpr); 152 MaterialDesc *activateMaterial(Material m); 153 void releaseResources(); 154 155 private: >>> CID 181281: Uninitialized members (UNINIT_CTOR) >>> The compiler-generated constructor for this class does not initialize "m_nvpr". 156 QQuickNvprFunctions *m_nvpr; 157 MaterialDesc m_materials[NMaterials]; 158 }; 159 160 class QQuickNvprBlitter 161 { Change-Id: Ia502683b55022ac3eafd4ebd015d44273185bdfc Coverity-Id: 181281 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Initialize pointerJesus Fernandez2017-06-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | | *** CID 181282: Uninitialized members (UNINIT_CTOR) /qtdeclarative/src/imports/shapes/qquickshapegenericrenderer_p.h: 85 in QQuickShapeGenericRenderer::QQuickShapeGenericRenderer(QQuickItem *)() 79 QQuickShapeGenericRenderer(QQuickItem *item) 80 : m_item(item), 81 m_api(QSGRendererInterface::Unknown), 82 m_rootNode(nullptr), 83 m_accDirty(0), 84 m_asyncCallback(nullptr) >>> CID 181282: Uninitialized members (UNINIT_CTOR) >>> Non-static class member "m_asyncCallbackData" is not initialized in this constructor nor in any functions that it calls. 85 { } 86 ~QQuickShapeGenericRenderer(); 87 88 void beginSync(int totalCount) override; 89 void setPath(int index, const QQuickPath *path) override; 90 void setJSPath(int index, const QQuickShapePathCommands &path) override; Change-Id: Ifce4e20c8372b392900b77f45ae14d2abfa1657d Coverity-Id: 181282 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
* Rename to vendorExtensionsEnableLaszlo Agocs2017-06-192-9/+9
| | | | | | | Fits existing Quick item naming patterns better. Change-Id: Id6d8f3653b33b1c1963bda4a2bcc212761e74caa Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Allow freely mixing non-ShapePath objects in ShapeLaszlo Agocs2017-06-082-29/+29
| | | | | | | | | | | | | | | | | | | | The own list property must be kept. However, we can reuse QQuickItemPrivate's data accessors in order to start supporting code like: Shape { .. ShapePath { ... } ShapePath { ... } Rectangle { ... } Image { ... } // any other visual type // or non-visual: Timer { ... } } Change-Id: I6d502d697cae37bf16857770273a749cee1b3aa3 Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Use GradientStop and rename ShapeLinearGradient to LinearGradientLaszlo Agocs2017-06-087-191/+30
| | | | | | | | | | | | | | | | | | | Thus application code becomes: ShapePath { ... fillGradient: LinearGradient { ... GradientStop { ... } } } which is even more clean and readable. The duplication for stops is now avoided. Change-Id: I50ae2f388e21683a37dc4787763dc71e16eef4f5 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io> Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
* Reduce objects: Make ShapePath inherit PathLaszlo Agocs2017-06-073-91/+48
| | | | | | | | Shape { ShapePath { Path { ... } } } simply becomes Shape { ShapePath { ... } } Change-Id: Ie57936cd7953c8a8d6c67e78b9d73bdbe2a05316 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
* Rename to Shape/ShapePath and remove public JS APILaszlo Agocs2017-06-0216-0/+5893
Change-Id: I299354da0632fb0b8487cfb13748ed58b97d75fd Reviewed-by: Andy Nichols <andy.nichols@qt.io>