diff options
Diffstat (limited to 'src/quickshapes')
-rw-r--r-- | src/quickshapes/qquickshape.cpp | 22 | ||||
-rw-r--r-- | src/quickshapes/qquickshape_p.h | 14 | ||||
-rw-r--r-- | src/quickshapes/qquickshape_p_p.h | 2 | ||||
-rw-r--r-- | src/quickshapes/qquickshapegenericrenderer.cpp | 6 | ||||
-rw-r--r-- | src/quickshapes/qquickshapesoftwarerenderer.cpp | 2 | ||||
-rw-r--r-- | src/quickshapes/quickshapes.pro | 6 | ||||
-rw-r--r-- | src/quickshapes/shaders_ng/conicalgradient.frag.qsb | bin | 2228 -> 1843 bytes | |||
-rw-r--r-- | src/quickshapes/shaders_ng/conicalgradient.vert.qsb | bin | 1994 -> 1662 bytes | |||
-rw-r--r-- | src/quickshapes/shaders_ng/lineargradient.frag.qsb | bin | 1762 -> 1363 bytes | |||
-rw-r--r-- | src/quickshapes/shaders_ng/lineargradient.vert.qsb | bin | 2225 -> 1869 bytes | |||
-rw-r--r-- | src/quickshapes/shaders_ng/radialgradient.frag.qsb | bin | 2931 -> 2539 bytes | |||
-rw-r--r-- | src/quickshapes/shaders_ng/radialgradient.vert.qsb | bin | 2115 -> 1779 bytes |
12 files changed, 32 insertions, 20 deletions
diff --git a/src/quickshapes/qquickshape.cpp b/src/quickshapes/qquickshape.cpp index a7db65f16f..dcd331b388 100644 --- a/src/quickshapes/qquickshape.cpp +++ b/src/quickshapes/qquickshape.cpp @@ -49,12 +49,12 @@ #include <QLoggingCategory> #include <QtGui/private/qrhi_p.h> -#if defined(QT_STATIC) static void initResources() { +#if defined(QT_STATIC) Q_INIT_RESOURCE(qtquickshapes); -} #endif +} QT_BEGIN_NAMESPACE @@ -73,6 +73,11 @@ Q_LOGGING_CATEGORY(QQSHAPE_LOG_TIME_DIRTY_SYNC, "qt.shape.time.sync") \endqml */ +void QQuickShapesModule::defineModule() +{ + initResources(); +} + QQuickShapeStrokeFillParams::QQuickShapeStrokeFillParams() : strokeColor(Qt::white), strokeWidth(1), @@ -667,22 +672,9 @@ void QQuickShapePrivate::setStatus(QQuickShape::Status newStatus) } } -struct QQuickShapeResourceInitializer -{ - QQuickShapeResourceInitializer() - { -#if defined(QT_STATIC) - initResources(); -#endif - } -}; - -Q_GLOBAL_STATIC(QQuickShapeResourceInitializer, initQQuickShapeResources) - QQuickShape::QQuickShape(QQuickItem *parent) : QQuickItem(*(new QQuickShapePrivate), parent) { - initQQuickShapeResources(); setFlag(ItemHasContents); } diff --git a/src/quickshapes/qquickshape_p.h b/src/quickshapes/qquickshape_p.h index 7066ea0709..f86f2b03d6 100644 --- a/src/quickshapes/qquickshape_p.h +++ b/src/quickshapes/qquickshape_p.h @@ -63,12 +63,21 @@ QT_BEGIN_NAMESPACE class QQuickShapePathPrivate; class QQuickShapePrivate; +class Q_QUICKSHAPES_PRIVATE_EXPORT QQuickShapesModule +{ +public: + static void defineModule(); +}; + class Q_QUICKSHAPES_PRIVATE_EXPORT QQuickShapeGradient : public QQuickGradient { Q_OBJECT Q_PROPERTY(SpreadMode spread READ spread WRITE setSpread NOTIFY spreadChanged) Q_CLASSINFO("DefaultProperty", "stops") + QML_NAMED_ELEMENT(ShapeGradient) + QML_UNCREATABLE("ShapeGradient is an abstract base class."); + public: enum SpreadMode { PadSpread, @@ -97,6 +106,7 @@ class Q_QUICKSHAPES_PRIVATE_EXPORT QQuickShapeLinearGradient : public QQuickShap Q_PROPERTY(qreal x2 READ x2 WRITE setX2 NOTIFY x2Changed) Q_PROPERTY(qreal y2 READ y2 WRITE setY2 NOTIFY y2Changed) Q_CLASSINFO("DefaultProperty", "stops") + QML_NAMED_ELEMENT(LinearGradient) public: QQuickShapeLinearGradient(QObject *parent = nullptr); @@ -131,6 +141,7 @@ class Q_QUICKSHAPES_PRIVATE_EXPORT QQuickShapeRadialGradient : public QQuickShap Q_PROPERTY(qreal focalY READ focalY WRITE setFocalY NOTIFY focalYChanged) Q_PROPERTY(qreal focalRadius READ focalRadius WRITE setFocalRadius NOTIFY focalRadiusChanged) Q_CLASSINFO("DefaultProperty", "stops") + QML_NAMED_ELEMENT(RadialGradient) public: QQuickShapeRadialGradient(QObject *parent = nullptr); @@ -175,6 +186,7 @@ class Q_QUICKSHAPES_PRIVATE_EXPORT QQuickShapeConicalGradient : public QQuickSha Q_PROPERTY(qreal centerY READ centerY WRITE setCenterY NOTIFY centerYChanged) Q_PROPERTY(qreal angle READ angle WRITE setAngle NOTIFY angleChanged) Q_CLASSINFO("DefaultProperty", "stops") + QML_NAMED_ELEMENT(ConicalGradient) public: QQuickShapeConicalGradient(QObject *parent = nullptr); @@ -214,6 +226,7 @@ class Q_QUICKSHAPES_PRIVATE_EXPORT QQuickShapePath : public QQuickPath Q_PROPERTY(QVector<qreal> dashPattern READ dashPattern WRITE setDashPattern NOTIFY dashPatternChanged) Q_PROPERTY(QQuickShapeGradient *fillGradient READ fillGradient WRITE setFillGradient RESET resetFillGradient) Q_PROPERTY(QSizeF scale READ scale WRITE setScale NOTIFY scaleChanged REVISION 14) + QML_NAMED_ELEMENT(ShapePath) public: enum FillRule { @@ -308,6 +321,7 @@ class Q_QUICKSHAPES_PRIVATE_EXPORT QQuickShape : public QQuickItem Q_PROPERTY(ContainsMode containsMode READ containsMode WRITE setContainsMode NOTIFY containsModeChanged REVISION 11) Q_PROPERTY(QQmlListProperty<QObject> data READ data) Q_CLASSINFO("DefaultProperty", "data") + QML_NAMED_ELEMENT(Shape) public: enum RendererType { diff --git a/src/quickshapes/qquickshape_p_p.h b/src/quickshapes/qquickshape_p_p.h index bfeb0d2f9f..e9b89d2ab3 100644 --- a/src/quickshapes/qquickshape_p_p.h +++ b/src/quickshapes/qquickshape_p_p.h @@ -89,7 +89,7 @@ public: virtual void beginSync(int totalCount) = 0; virtual void endSync(bool async) = 0; virtual void setAsyncCallback(void (*)(void *), void *) { } - virtual Flags flags() const { return 0; } + virtual Flags flags() const { return {}; } virtual void setPath(int index, const QQuickPath *path) = 0; virtual void setStrokeColor(int index, const QColor &color) = 0; virtual void setStrokeWidth(int index, qreal w) = 0; diff --git a/src/quickshapes/qquickshapegenericrenderer.cpp b/src/quickshapes/qquickshapegenericrenderer.cpp index 06cc442fc7..e0df739987 100644 --- a/src/quickshapes/qquickshapegenericrenderer.cpp +++ b/src/quickshapes/qquickshapegenericrenderer.cpp @@ -470,14 +470,14 @@ void QQuickShapeGenericRenderer::triangulateStroke(const QPainterPath &path, stroker.setInvScale(inverseScale); if (pen.style() == Qt::SolidLine) { - stroker.process(vp, pen, clip, nullptr); + stroker.process(vp, pen, clip, {}); } else { QDashedStrokeProcessor dashStroker; dashStroker.setInvScale(inverseScale); - dashStroker.process(vp, pen, clip, nullptr); + dashStroker.process(vp, pen, clip, {}); QVectorPath dashStroke(dashStroker.points(), dashStroker.elementCount(), dashStroker.elementTypes(), 0); - stroker.process(dashStroke, pen, clip, nullptr); + stroker.process(dashStroke, pen, clip, {}); } if (!stroker.vertexCount()) { diff --git a/src/quickshapes/qquickshapesoftwarerenderer.cpp b/src/quickshapes/qquickshapesoftwarerenderer.cpp index 0f5c3604b5..d6a9d85643 100644 --- a/src/quickshapes/qquickshapesoftwarerenderer.cpp +++ b/src/quickshapes/qquickshapesoftwarerenderer.cpp @@ -266,7 +266,7 @@ void QQuickShapeSoftwareRenderNode::render(const RenderState *state) QSGRenderNode::StateFlags QQuickShapeSoftwareRenderNode::changedStates() const { - return nullptr; + return {}; } QSGRenderNode::RenderingFlags QQuickShapeSoftwareRenderNode::flags() const diff --git a/src/quickshapes/quickshapes.pro b/src/quickshapes/quickshapes.pro index 5a59dec18e..4dbd3e5e46 100644 --- a/src/quickshapes/quickshapes.pro +++ b/src/quickshapes/quickshapes.pro @@ -31,3 +31,9 @@ qtConfig(opengl) { RESOURCES += qtquickshapes.qrc load(qt_module) + +QMLTYPES_FILENAME = plugins.qmltypes +QMLTYPES_INSTALL_DIR = $$[QT_INSTALL_QML]/QtQuick/Shapes +QML_IMPORT_NAME = QtQuick.Shapes +IMPORT_VERSION = 1.$$QT_MINOR_VERSION +CONFIG += qmltypes install_qmltypes install_metatypes diff --git a/src/quickshapes/shaders_ng/conicalgradient.frag.qsb b/src/quickshapes/shaders_ng/conicalgradient.frag.qsb Binary files differindex 9aa59ca651..f82d798d87 100644 --- a/src/quickshapes/shaders_ng/conicalgradient.frag.qsb +++ b/src/quickshapes/shaders_ng/conicalgradient.frag.qsb diff --git a/src/quickshapes/shaders_ng/conicalgradient.vert.qsb b/src/quickshapes/shaders_ng/conicalgradient.vert.qsb Binary files differindex 7f5985ef64..7d306e973b 100644 --- a/src/quickshapes/shaders_ng/conicalgradient.vert.qsb +++ b/src/quickshapes/shaders_ng/conicalgradient.vert.qsb diff --git a/src/quickshapes/shaders_ng/lineargradient.frag.qsb b/src/quickshapes/shaders_ng/lineargradient.frag.qsb Binary files differindex 470de007b5..640c3c334f 100644 --- a/src/quickshapes/shaders_ng/lineargradient.frag.qsb +++ b/src/quickshapes/shaders_ng/lineargradient.frag.qsb diff --git a/src/quickshapes/shaders_ng/lineargradient.vert.qsb b/src/quickshapes/shaders_ng/lineargradient.vert.qsb Binary files differindex 8d054efbb4..1b5b19ded8 100644 --- a/src/quickshapes/shaders_ng/lineargradient.vert.qsb +++ b/src/quickshapes/shaders_ng/lineargradient.vert.qsb diff --git a/src/quickshapes/shaders_ng/radialgradient.frag.qsb b/src/quickshapes/shaders_ng/radialgradient.frag.qsb Binary files differindex 166eb2f92d..1bcb8d55ef 100644 --- a/src/quickshapes/shaders_ng/radialgradient.frag.qsb +++ b/src/quickshapes/shaders_ng/radialgradient.frag.qsb diff --git a/src/quickshapes/shaders_ng/radialgradient.vert.qsb b/src/quickshapes/shaders_ng/radialgradient.vert.qsb Binary files differindex 293e23947a..7a77792e08 100644 --- a/src/quickshapes/shaders_ng/radialgradient.vert.qsb +++ b/src/quickshapes/shaders_ng/radialgradient.vert.qsb |