diff options
author | Samuel Rødal <sroedal@trolltech.com> | 2010-02-05 09:13:14 (GMT) |
---|---|---|
committer | Samuel Rødal <sroedal@trolltech.com> | 2010-02-15 14:42:38 (GMT) |
commit | 8d7046fbd798c6104eca6098b828c505ca32085c (patch) | |
tree | 6390afc523e578e30e2fbb87652c3a3d10fc4cdf /src/gui/painting/qbezier_p.h | |
parent | c77f37f8d9ed021c8a61f50a571b117588e9258f (diff) | |
download | Qt-8d7046fbd798c6104eca6098b828c505ca32085c.zip Qt-8d7046fbd798c6104eca6098b828c505ca32085c.tar.gz Qt-8d7046fbd798c6104eca6098b828c505ca32085c.tar.bz2 |
Improved performance of path vs path intersection where one is a rect.
By special-casing path vs rect intersections we can get much better
performance and more robust clipping.
Task-number: QTBUG-7396
Reviewed-by: Gunnar Sletta
Diffstat (limited to 'src/gui/painting/qbezier_p.h')
-rw-r--r-- | src/gui/painting/qbezier_p.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gui/painting/qbezier_p.h b/src/gui/painting/qbezier_p.h index 3409bc7..f015ea8 100644 --- a/src/gui/painting/qbezier_p.h +++ b/src/gui/painting/qbezier_p.h @@ -59,6 +59,7 @@ #include "QtCore/qvector.h" #include "QtCore/qlist.h" #include "QtCore/qpair.h" +#include "QtGui/qtransform.h" QT_BEGIN_NAMESPACE @@ -96,6 +97,8 @@ public: QPointF pt3() const { return QPointF(x3, y3); } QPointF pt4() const { return QPointF(x4, y4); } + QBezier mapBy(const QTransform &transform) const; + inline QPointF midPoint() const; inline QLineF midTangent() const; @@ -104,6 +107,7 @@ public: inline void parameterSplitLeft(qreal t, QBezier *left); inline void split(QBezier *firstHalf, QBezier *secondHalf) const; + int shifted(QBezier *curveSegments, int maxSegmets, qreal offset, float threshold) const; @@ -117,6 +121,8 @@ public: static bool findIntersections(const QBezier &a, const QBezier &b, QVector<QPair<qreal, qreal> > *t); + QBezier getSubRange(qreal t0, qreal t1) const; + qreal x1, y1, x2, y2, x3, y3, x4, y4; }; |