40 #ifndef QPATHCLIPPER_P_H
41 #define QPATHCLIPPER_P_H
54 #include <QtGui/private/qtguiglobal_p.h>
55 #include <QtGui/qpainterpath.h>
56 #include <QtCore/qlist.h>
58 #include <private/qbezier_p.h>
59 #include <private/qdatabuffer_p.h>
159 int m_next[2][2] = { { -1, -1 }, { -1, -1 } };
236 void flipDirection();
237 void flipTraversal();
248 int edgeCount()
const;
253 int vertexCount()
const;
263 int addEdge(
int vertexA,
int vertexB);
271 void intersectAndAdd();
273 void printNode(
int i, FILE *
handle);
275 void removeEdge(
int ei);
280 qreal delta(
int vertex,
int a,
int b)
const;
303 return m_next[int(traversal)][int(
direction)];
349 return m_segments.size();
354 return m_points.
size();
359 return m_points.
at(
i);
365 return m_points.
size() - 1;
370 return m_segments.at(
index);
381 return m_segments.at(
index).bounds;
386 return m_segments.at(
index).path;
391 const int intersection = m_segments.at(
index).intersection;
392 if (intersection < 0)
395 return &m_intersections.at(intersection);
400 return m_intersections.size();
405 m_intersections << intersection;
408 if (
segment.intersection < 0) {
409 segment.intersection = m_intersections.size() - 1;
413 while (isect->
next != 0)
414 isect += isect->
next;
416 isect->
next = (m_intersections.size() - 1) - (isect - m_intersections.data());
422 return m_edges.
size();
437 return m_vertices.
size();
443 return m_vertices.
size() - 1;
small capitals from c petite p scientific i
[1]
The QLineF class provides a two-dimensional vector using floating point precision.
The QPainterPath class provides a container for painting operations, enabling graphical shapes to be ...
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
The QPointF class defines a point in the plane using floating point precision.
The QRectF class defines a finite rectangle in the plane using floating point precision.
QPathEdge * edge(int edge)
static QPathEdge::Traversal flip(QPathEdge::Traversal traversal)
int addVertex(const QPointF &p)
QPathVertex * vertex(int vertex)
map insert("Paris", "France")
set set set set set set set macro pixldst1 op
#define Q_DISABLE_COPY_MOVE(Class)
#define Q_AUTOTEST_EXPORT
QT_END_INCLUDE_NAMESPACE typedef double qreal
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
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