42 #ifndef QPATHCLIPPER_P_H 43 #define QPATHCLIPPER_P_H 56 #include <QtGui/qpainterpath.h> 57 #include <QtCore/qlist.h> 59 #include <private/qbezier_p.h> 60 #include <private/qdatabuffer_p.h> 207 int intersections()
const;
208 int segments()
const;
214 int pathId(
int index)
const;
216 const QPointF &pointAt(
int vertex)
const;
241 void flipDirection();
242 void flipTraversal();
253 int edgeCount()
const;
258 int vertexCount()
const;
260 int addVertex(
const QPointF &p);
268 int addEdge(
int vertexA,
int vertexB);
276 void intersectAndAdd();
278 void printNode(
int i, FILE *handle);
280 void removeEdge(
int ei);
285 qreal delta(
int vertex,
int a,
int b)
const;
312 return m_next[int(traversal)][int(direction)];
317 m_next[int(traversal)][int(direction)] =
next;
351 m_intersections(reserve)
399 const int intersection =
m_segments.at(index).intersection;
400 if (intersection < 0)
421 while (isect->
next != 0)
422 isect += isect->
next;
446 return m_edges.size();
451 return edge < 0 ? 0 : &m_edges.at(edge);
456 return edge < 0 ? 0 : &m_edges.at(edge);
461 return m_vertices.size();
467 return m_vertices.size() - 1;
472 return vertex < 0 ? 0 : &m_vertices.at(vertex);
477 return vertex < 0 ? 0 : &m_vertices.at(vertex);
494 #endif // QPATHCLIPPER_P_H
QPathEdge::Traversal traversal
Segment(int pathId, int vertexA, int vertexB)
#define QT_END_NAMESPACE
This macro expands to.
int intersections() const
const QLineF lineAt(int index) const
const Intersection * intersectionAt(int index) const
The QPainterPath class provides a container for painting operations, enabling graphical shapes to be ...
The QPointF class defines a point in the plane using floating point precision.
static void addPoint(QPolygon &a, const QPoint &p)
QPathVertex * vertex(int vertex)
static LibLoadStatus status
int pathId(int index) const
QPathSegments(int reserve)
#define Q_DISABLE_COPY(Class)
Disables the use of copy constructors and assignment operators for the given Class.
long ASN1_INTEGER_get ASN1_INTEGER * a
int vertex(Direction direction) const
const Segment & segmentAt(int index) const
QPathEdge::Direction direction
QDataBuffer< QPointF > m_points
The QLineF class provides a two-dimensional vector using floating point precision.
int addVertex(const QPointF &p)
#define QT_BEGIN_NAMESPACE
This macro expands to.
The QRectF class defines a rectangle in the plane using floating point precision. ...
Direction directionTo(int vertex) const
QDataBuffer< Segment > m_segments
int addPoint(const QPointF &point)
QDataBuffer< QPathEdge > m_edges
const QPointF & pointAt(int vertex) const
int next(Traversal traversal, Direction direction) const
qreal angle(const QPointF &p1, const QPointF &p2)
QPathEdge * edge(int edge)
void setNext(Traversal traversal, Direction direction, int next)
QVector< qreal > m_splitPoints
static QPathEdge::Traversal flip(QPathEdge::Traversal traversal)
#define Q_AUTOTEST_EXPORT
QPathEdge(int a=-1, int b=-1)
QPathVertex(const QPointF &p=QPointF(), int e=-1)
QDataBuffer< QPathVertex > m_vertices
void addIntersection(int index, const Intersection &intersection)
bool operator<(const Intersection &o) const
const QRectF & elementBounds(int index) const
QDataBuffer< Intersection > m_intersections
Qt::LayoutDirection direction