diff options
author | Gunnar Sletta <gunnar.sletta@nokia.com> | 2012-04-13 09:28:44 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-13 18:15:26 +0200 |
commit | 84caba25d8cc0b7a050abc4d60393fbb3ec73391 (patch) | |
tree | 5f2ae53aa2f86019b170e0b1d7c25e62c8b4e4e7 /src/gui/painting/qpainterpath_p.h | |
parent | 19524b7499c0a4b6f66d4797f04f06e140234149 (diff) |
Move QPainterPathPrivate to the private header files.
This was made inline for the sake of performance, but has in hindsight
proven to be not really worth it. It also prevents us from aligning
the internal datastructure of QPainterPath with that of QPolygonF
and the internal QVectorPath class which would make mapping
between the two inside QPainter a lot faster.
Making all this out-of-line now as discussed in the task
https://bugreports.qt-project.org/browse/QTBUG-19998
so we can adress this in a binary compatible fashion during
Qt 5.x
Change-Id: I61058171ed31f8a845fa45517248367c85ce52cd
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/gui/painting/qpainterpath_p.h')
-rw-r--r-- | src/gui/painting/qpainterpath_p.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/gui/painting/qpainterpath_p.h b/src/gui/painting/qpainterpath_p.h index a9068f3855..116ea63425 100644 --- a/src/gui/painting/qpainterpath_p.h +++ b/src/gui/painting/qpainterpath_p.h @@ -65,6 +65,29 @@ QT_BEGIN_NAMESPACE +class QPainterPathPrivate +{ +public: + friend class QPainterPath; + friend class QPainterPathData; + friend class QPainterPathStroker; + friend class QPainterPathStrokerPrivate; + friend class QMatrix; + friend class QTransform; + friend class QVectorPath; + friend struct QPainterPathPrivateDeleter; +#ifndef QT_NO_DATASTREAM + friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QPainterPath &); + friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QPainterPath &); +#endif + + QPainterPathPrivate() : ref(1) {} + +private: + QAtomicInt ref; + QVector<QPainterPath::Element> elements; +}; + class QPainterPathStrokerPrivate { public: |