![]() |
Qt 6.x
The Qt SDK
|
#include <qbezier_p.h>
Static Public Member Functions | |
static QBezier | fromPoints (const QPointF &p1, const QPointF &p2, const QPointF &p3, const QPointF &p4) |
static void | coefficients (qreal t, qreal &a, qreal &b, qreal &c, qreal &d) |
Public Attributes | |
qreal | x1 |
qreal | y1 |
qreal | x2 |
qreal | y2 |
qreal | x3 |
qreal | y3 |
qreal | x4 |
qreal | y4 |
Definition at line 31 of file qbezier_p.h.
Definition at line 533 of file qbezier.cpp.
References error, QLineF::length(), split(), x3, x4, y3, and y4.
Referenced by length().
void QBezier::addToPolygon | ( | QDataBuffer< QPointF > & | polygon, |
qreal | bezier_flattening_threshold | ||
) | const |
Definition at line 65 of file qbezier.cpp.
Referenced by QOutlineMapper::curveTo(), toPolygon(), and QPainterPath::toSubpathPolygons().
Definition at line 179 of file qbezier.cpp.
References pt4(), Q_ASSERT, quadraticForCubic(), scoreQuadratic(), and split().
Definition at line 680 of file qbezier.cpp.
References parameterSplitLeft(), and t0.
Referenced by qt_toQuadratics(), and toQuadratics().
QRectF QBezier::bounds | ( | ) | const |
Definition at line 239 of file qbezier.cpp.
References x1, x2, x3, x4, y1, y2, y3, and y4.
Referenced by QPathSegments::addPath(), QOutlineMapper::curveTo(), qt_isect_curve_horizontal(), qt_isect_curve_vertical(), qt_painterpath_isect_curve(), and shift().
Definition at line 121 of file qbezier_p.h.
References d.
Referenced by qt_find_ellipse_coords(), and tForY().
|
inline |
Definition at line 111 of file qbezier_p.h.
References QLineF::isNull(), pt1(), pt2(), pt3(), and pt4().
|
inlinestatic |
Definition at line 34 of file qbezier_p.h.
References p1, p2, QPointF::x(), and QPointF::y().
Referenced by QPathSegments::addPath(), QOpenGL2PEXVertexArray::addPath(), bezierAtT(), QPainterPath::contains(), cubicTo_clipped(), QOutlineMapper::curveTo(), QuadPath::fromPainterPath(), QTriangulator< T >::initialize(), QPainterPath::length(), mapBy(), QSubpathFlatIterator::next(), nextBezier(), QPainterPath::percentAtLength(), QDashedStrokeProcessor::process(), qt_curves_for_arc(), qt_painterpath_check_crossing(), qt_stroke_side(), shift(), split(), and QPainterPath::toSubpathPolygons().
Definition at line 45 of file qbezier.cpp.
References parameterSplitLeft(), and qFuzzyIsNull().
int QBezier::inflectionPoints | ( | qreal * | tpoints | ) | const |
Definition at line 195 of file qbezier.cpp.
References QLineF::angle(), mapBy(), pt1(), pt4(), Q_ASSERT, qFuzzyCompare(), qFuzzyIsNull(), qIsFinite(), qSqrt(), qSwap(), QTransform::rotate(), and QTransform::translate().
Referenced by toQuadratics().
Definition at line 524 of file qbezier.cpp.
References addIfClose(), and error.
QBezier QBezier::mapBy | ( | const QTransform & | transform | ) | const |
Definition at line 40 of file qbezier.cpp.
References fromPoints(), pt1(), pt2(), pt3(), and pt4().
Referenced by inflectionPoints(), and qt_getInflectionPoints().
|
inline |
Definition at line 88 of file qbezier_p.h.
References x3, x4, y3, and y4.
Referenced by midTangent().
|
inline |
Definition at line 93 of file qbezier_p.h.
References dir, midPoint(), pointAt(), QPointF::x(), x3, x4, QPointF::y(), y3, and y4.
Definition at line 157 of file qbezier_p.h.
References x3, x4, y3, and y4.
Referenced by good_offset().
Definition at line 210 of file qbezier_p.h.
References x1, x2, x3, x4, y1, y2, y3, and y4.
Referenced by bezierOnInterval(), getSubRange(), and qt_addToQuadratics().
Definition at line 132 of file qbezier_p.h.
References x3, x4, y3, and y4.
Referenced by QPathSegments::addPath(), good_offset(), midTangent(), and tForY().
|
inline |
Definition at line 63 of file qbezier_p.h.
Referenced by endTangent(), inflectionPoints(), isLine(), mapBy(), qt_getInflectionPoints(), qt_painterpath_isect_curve(), qt_stroke_side(), split(), startTangent(), and toQuadratics().
|
inline |
Definition at line 64 of file qbezier_p.h.
Referenced by endTangent(), isLine(), mapBy(), qt_stroke_side(), split(), and startTangent().
|
inline |
Definition at line 65 of file qbezier_p.h.
Referenced by endTangent(), isLine(), mapBy(), qt_stroke_side(), split(), and startTangent().
|
inline |
Definition at line 66 of file qbezier_p.h.
Referenced by addToQuadratics(), endTangent(), inflectionPoints(), isLine(), mapBy(), qt_getInflectionPoints(), qt_painterpath_isect_curve(), qt_stroke_side(), split(), and startTangent().
int QBezier::shifted | ( | QBezier * | curveSegments, |
int | maxSegmets, | ||
qreal | offset, | ||
float | threshold | ||
) | const |
Definition at line 457 of file qbezier.cpp.
References addCircle(), Circle, Discard, o, Ok, Q_ASSERT, qFuzzyCompare(), shift(), Split, x3, x4, y3, and y4.
Referenced by qt_stroke_side().
Definition at line 193 of file qbezier_p.h.
References fromPoints(), pt1(), pt2(), pt3(), and pt4().
Referenced by addIfClose(), addToQuadratics(), qt_isect_curve_horizontal(), qt_isect_curve_vertical(), and qt_painterpath_isect_curve().
|
inline |
Definition at line 101 of file qbezier_p.h.
References QLineF::isNull(), pt1(), pt2(), pt3(), and pt4().
Referenced by qt_stroke_side().
Definition at line 598 of file qbezier.cpp.
References qFuzzyIsNull(), qSqrt(), qSwap(), t0, t1, y2, y3, and y4.
Definition at line 647 of file qbezier.cpp.
References error, qAbs(), and qFuzzyCompare().
Definition at line 556 of file qbezier.cpp.
References coefficients(), d, e, pointAt(), Q_ASSERT, qAbs(), qSwap(), t0, t1, QPointF::y(), y3, and y4.
QT_BEGIN_NAMESPACE QPolygonF QBezier::toPolygon | ( | qreal | bezier_flattening_threshold = 0.5 | ) | const |
Definition at line 21 of file qbezier.cpp.
References addToPolygon().
Referenced by cubicTo_clipped(), QTriangulator< T >::initialize(), and QSubpathFlatIterator::next().
Definition at line 137 of file qbezier.cpp.
References bezierOnInterval(), i, inflectionPoints(), pt1(), and t1.
qreal QBezier::x1 |
Definition at line 85 of file qbezier_p.h.
Referenced by QPainterPath::angleAtPercent(), bounds(), parameterSplitLeft(), shift(), and QPainterPath::slopeAtPercent().
qreal QBezier::x2 |
Definition at line 85 of file qbezier_p.h.
Referenced by QPainterPath::angleAtPercent(), bounds(), parameterSplitLeft(), shift(), and QPainterPath::slopeAtPercent().
qreal QBezier::x3 |
Definition at line 85 of file qbezier_p.h.
Referenced by addIfClose(), QPainterPath::angleAtPercent(), bounds(), derivedAt(), midPoint(), midTangent(), normalVector(), parameterSplitLeft(), pointAt(), secondDerivedAt(), shift(), shifted(), and QPainterPath::slopeAtPercent().
qreal QBezier::x4 |
Definition at line 85 of file qbezier_p.h.
Referenced by addIfClose(), QPainterPath::angleAtPercent(), bounds(), derivedAt(), midPoint(), midTangent(), normalVector(), parameterSplitLeft(), pointAt(), secondDerivedAt(), shift(), shifted(), and QPainterPath::slopeAtPercent().
qreal QBezier::y1 |
Definition at line 85 of file qbezier_p.h.
Referenced by QPainterPath::angleAtPercent(), bounds(), parameterSplitLeft(), shift(), and QPainterPath::slopeAtPercent().
qreal QBezier::y2 |
Definition at line 85 of file qbezier_p.h.
Referenced by QPainterPath::angleAtPercent(), bounds(), parameterSplitLeft(), shift(), QPainterPath::slopeAtPercent(), and stationaryYPoints().
qreal QBezier::y3 |
Definition at line 85 of file qbezier_p.h.
Referenced by addIfClose(), QPainterPath::angleAtPercent(), bounds(), derivedAt(), midPoint(), midTangent(), normalVector(), parameterSplitLeft(), pointAt(), secondDerivedAt(), shift(), shifted(), QPainterPath::slopeAtPercent(), stationaryYPoints(), and tForY().
qreal QBezier::y4 |
Definition at line 85 of file qbezier_p.h.
Referenced by addIfClose(), addToPolygon(), addToPolygon(), QPainterPath::angleAtPercent(), bounds(), derivedAt(), midPoint(), midTangent(), normalVector(), parameterSplitLeft(), pointAt(), secondDerivedAt(), shift(), shifted(), QPainterPath::slopeAtPercent(), stationaryYPoints(), and tForY().