summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qbezier_p.h
diff options
context:
space:
mode:
authorSamuel Rødal <sroedal@trolltech.com>2010-02-05 09:13:14 (GMT)
committerSamuel Rødal <sroedal@trolltech.com>2010-02-15 14:42:38 (GMT)
commit8d7046fbd798c6104eca6098b828c505ca32085c (patch)
tree6390afc523e578e30e2fbb87652c3a3d10fc4cdf /src/gui/painting/qbezier_p.h
parentc77f37f8d9ed021c8a61f50a571b117588e9258f (diff)
downloadQt-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.h6
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;
};