diff --git a/src/gui/painting/qpathclipper.cpp b/src/gui/painting/qpathclipper.cpp index e0b4e5152c2..7ada65ce033 100644 --- a/src/gui/painting/qpathclipper.cpp +++ b/src/gui/painting/qpathclipper.cpp @@ -63,6 +63,7 @@ struct QIntersection QPointF pos; }; +Q_DECLARE_TYPEINFO(QIntersection, Q_PRIMITIVE_TYPE); class QIntersectionFinder { diff --git a/src/gui/painting/qpathclipper_p.h b/src/gui/painting/qpathclipper_p.h index b6cb65630f6..f13b96e0ef3 100644 --- a/src/gui/painting/qpathclipper_p.h +++ b/src/gui/painting/qpathclipper_p.h @@ -79,6 +79,7 @@ public: qreal x; qreal y; }; +Q_DECLARE_TYPEINFO(QPathVertex, Q_PRIMITIVE_TYPE); class QPathEdge { @@ -122,6 +123,7 @@ public: private: int m_next[2][2] = { { -1, -1 }, { -1, -1 } }; }; +Q_DECLARE_TYPEINFO(QPathEdge, Q_PRIMITIVE_TYPE); class QPathSegments { @@ -135,6 +137,7 @@ public: return t < o.t; } }; + friend class QTypeInfo; struct Segment { Segment(int pathId, int vertexA, int vertexB) @@ -156,6 +159,7 @@ public: QRectF bounds; }; + friend class QTypeInfo; QPathSegments(int reserve); @@ -187,6 +191,8 @@ private: int m_pathId; }; +Q_DECLARE_TYPEINFO(QPathSegments::Intersection, Q_PRIMITIVE_TYPE); +Q_DECLARE_TYPEINFO(QPathSegments::Segment, Q_PRIMITIVE_TYPE); class Q_AUTOTEST_EXPORT QWingedEdge { diff --git a/src/gui/painting/qpathsimplifier.cpp b/src/gui/painting/qpathsimplifier.cpp index af702435c54..6c061b2bb1b 100644 --- a/src/gui/painting/qpathsimplifier.cpp +++ b/src/gui/painting/qpathsimplifier.cpp @@ -303,6 +303,7 @@ private: Type type; Element *element; }; + friend class QTypeInfo; typedef QRBTree::Node RBNode; typedef BoundingVolumeHierarchy::Node BVHNode; @@ -341,6 +342,10 @@ private: uint m_hints; }; +} // unnamed namespace + +Q_DECLARE_TYPEINFO(PathSimplifier::Event, Q_PRIMITIVE_TYPE); + inline PathSimplifier::BoundingVolumeHierarchy::BoundingVolumeHierarchy() : root(nullptr) , nodeBlock(nullptr) @@ -1614,9 +1619,6 @@ void PathSimplifier::sortEvents(Event *events, int count) } } -} // end anonymous namespace - - void qSimplifyPath(const QVectorPath &path, QDataBuffer &vertices, QDataBuffer &indices, const QTransform &matrix) { diff --git a/src/opengl/qopengl2pexvertexarray_p.h b/src/opengl/qopengl2pexvertexarray_p.h index 9a7831578f2..84c77f32ffa 100644 --- a/src/opengl/qopengl2pexvertexarray_p.h +++ b/src/opengl/qopengl2pexvertexarray_p.h @@ -41,6 +41,7 @@ public: operator QPointF() {return QPointF(x,y);} operator QPointF() const {return QPointF(x,y);} }; +Q_DECLARE_TYPEINFO(QOpenGLPoint, Q_PRIMITIVE_TYPE); struct QOpenGLRect { @@ -57,6 +58,7 @@ struct QOpenGLRect operator QRectF() const {return QRectF(left, top, right-left, bottom-top);} }; +Q_DECLARE_TYPEINFO(QOpenGLRect, Q_PRIMITIVE_TYPE); class QOpenGL2PEXVertexArray {