4#ifndef QPATHCLIPPER_P_H
5#define QPATHCLIPPER_P_H
18#include <QtGui/private/qtguiglobal_p.h>
19#include <QtGui/qpainterpath.h>
20#include <QtCore/qlist.h>
22#include <private/qbezier_p.h>
23#include <private/qdatabuffer_p.h>
124 int m_next[2][2] = { { -1, -1 }, { -1, -1 } };
206 void flipDirection();
207 void flipTraversal();
218 int edgeCount()
const;
223 int vertexCount()
const;
233 int addEdge(
int vertexA,
int vertexB);
241 void intersectAndAdd();
243 void printNode(
int i, FILE *
handle);
245 void removeEdge(
int ei);
250 qreal delta(
int vertex,
int a,
int b)
const;
273 return m_next[int(traversal)][int(
direction)];
319 return m_segments.size();
324 return m_points.
size();
329 return m_points.
at(
i);
335 return m_points.
size() - 1;
340 return m_segments.at(
index);
351 return m_segments.at(
index).bounds;
356 return m_segments.at(
index).path;
361 const int intersection = m_segments.at(
index).intersection;
362 if (intersection < 0)
365 return &m_intersections.
at(intersection);
370 return m_intersections.
size();
375 m_intersections << intersection;
378 if (
segment.intersection < 0) {
383 while (isect->
next != 0)
384 isect += isect->
next;
386 isect->
next = (m_intersections.
size() - 1) - (isect - m_intersections.
data());
392 return m_edges.
size();
407 return m_vertices.
size();
413 return m_vertices.
size() - 1;
QPathEdge(int a=-1, int b=-1)
void setNext(Traversal traversal, Direction direction, int next)
Direction directionTo(int vertex) const
int next(Traversal traversal, Direction direction) const
int vertex(Direction direction) const
int intersections() const
const Segment & segmentAt(int index) const
const Intersection * intersectionAt(int index) const
void setPath(const QPainterPath &path)
void addPath(const QPainterPath &path)
void addIntersection(int index, const Intersection &intersection)
int addPoint(const QPointF &point)
QPathSegments(int reserve)
const QRectF & elementBounds(int index) const
int pathId(int index) const
const QLineF lineAt(int index) const
const QPointF & pointAt(int vertex) const
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
QPathEdge * edge(int edge)
static QPathEdge::Traversal flip(QPathEdge::Traversal traversal)
int addVertex(const QPointF &p)
QPathVertex * vertex(int vertex)
cache insert(employee->id(), employee)
Combined button and popup list for selecting options.
static bool contains(const QJsonArray &haystack, unsigned needle)
GLboolean GLboolean GLboolean b
GLuint64 GLenum void * handle
GLint GLint GLint GLint GLint x
[0]
GLboolean GLboolean GLboolean GLboolean a
[7]
GLsizei const GLchar *const * path
#define Q_AUTOTEST_EXPORT
#define Q_DECLARE_TYPEINFO(TYPE, FLAGS)
bool operator<(const Intersection &o) const
Segment(int pathId, int vertexA, int vertexB)
QPathVertex(const QPointF &p=QPointF(), int e=-1)
QPathEdge::Traversal traversal
QPathEdge::Direction direction