Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include <qsgcurveprocessor_p.h>
Public Types | |
typedef std::function< QVector3D(QVector2D)> | uvForPointCallback |
typedef std::function< void(const std::array< QVector2D, 3 > &, const std::array< QVector2D, 3 > &, uvForPointCallback) | addTriangleCallback) |
typedef std::function< void(const std::array< QVector2D, 3 > &, const std::array< QVector2D, 3 > &, const std::array< QVector2D, 3 > &, bool) | addStrokeTriangleCallback) |
Static Public Member Functions | |
static void | processFill (const QQuadPath &path, Qt::FillRule fillRule, addTriangleCallback addTriangle) |
static void | processStroke (const QQuadPath &strokePath, float miterLimit, float penWidth, Qt::PenJoinStyle joinStyle, Qt::PenCapStyle capStyle, addStrokeTriangleCallback addTriangle, int subdivisions=3) |
static bool | solveOverlaps (QQuadPath &path) |
static QList< QPair< int, int > > | findOverlappingCandidates (const QQuadPath &path) |
static bool | removeNestedSubpaths (QQuadPath &path) |
static bool | solveIntersections (QQuadPath &path, bool removeNestedPaths=true) |
Definition at line 23 of file qsgcurveprocessor_p.h.
typedef std::function<void(const std::array<QVector2D, 3> &, const std::array<QVector2D, 3> &, const std::array<QVector2D, 3> &, bool) QSGCurveProcessor::addStrokeTriangleCallback) |
Definition at line 33 of file qsgcurveprocessor_p.h.
typedef std::function<void(const std::array<QVector2D, 3> &, const std::array<QVector2D, 3> &, uvForPointCallback) QSGCurveProcessor::addTriangleCallback) |
Definition at line 29 of file qsgcurveprocessor_p.h.
typedef std::function<QVector3D(QVector2D)> QSGCurveProcessor::uvForPointCallback |
Definition at line 26 of file qsgcurveprocessor_p.h.
|
static |
Definition at line 862 of file qsgcurveprocessor.cpp.
References QQuadPath::Element::controlPoint(), QQuadPath::Element::endPoint(), i, j, qMax(), qMin(), r1, QQuadPath::Element::startPoint(), QVector2D::x(), and QVector2D::y().
Referenced by solveIntersections(), and solveOverlaps().
|
static |
Definition at line 1602 of file qsgcurveprocessor.cpp.
References QQuadPath::Element::controlPoint(), QVector2D::dotProduct(), el, QQuadPath::elementAt(), QQuadPath::Element::endPoint(), i, QQuadPath::Element::isConvex(), QQuadPath::Element::isLine(), isLine(), QQuadPath::isPointOnLeft(), QQuadPath::Element::isSubpathStart(), it, QQuadPath::iterateElements(), j, p1, p2, qFuzzyIsNull(), qRound64(), qSwap(), qTriangulate(), QPainterPath::setFillRule(), sp, QQuadPath::Element::startPoint(), swap(), QVector2D::toPointF(), and triangles.
Referenced by QSGCurveGlyphAtlas::populate().
|
static |
Definition at line 1537 of file qsgcurveprocessor.cpp.
References QQuadPath::Element::isLine(), QVector2D::normalized(), and triangles.
Referenced by QSGRhiInternalTextNode::addDecorationNode(), and QSGCurveGlyphAtlas::populate().
|
static |
Definition at line 941 of file qsgcurveprocessor.cpp.
References i, j, QQuadPath::PathNonIntersecting, Q_ASSERT, QQuadPath::setPathHints(), subPath(), Qt::WindingFill, QVector2D::x(), and QVector2D::y().
Referenced by solveIntersections().
|
static |
Definition at line 1064 of file qsgcurveprocessor.cpp.
References findOverlappingCandidates(), i, QQuadPath::PathNonIntersecting, removeNestedSubpaths(), t1, and t2.
Referenced by QQuickGenerator::optimizePaths().
|
static |
Definition at line 844 of file qsgcurveprocessor.cpp.
References findOverlappingCandidates(), and QQuadPath::PathNonOverlappingControlPointTriangles.
Referenced by QQuickGenerator::optimizePaths(), and QSGCurveGlyphAtlas::populate().