15#define qreal_to_fixed_26_6(f) (qRound(f * 64))
24 qreal minx, maxx, miny, maxy;
30 else if (
e->x() > maxx)
34 else if (
e->y() > maxy)
42 auto limitCoords = [](
QRect r) {
59#ifdef QT_DEBUG_CONVERT
60 printf(
"QOutlineMapper::curveTo() (%f, %f)\n", ep.
x(), ep.
y());
67 bool outsideClip =
false;
90 int elmCount =
path.elementCount();
91#ifdef QT_DEBUG_CONVERT
92 printf(
"QOutlineMapper::convertPath(), size=%d\n", elmCount);
102 if (
index == elmCount - 1)
129#ifdef QT_DEBUG_CONVERT
130 printf(
"QOutlineMapper::convertPath(VP), size=%d\n",
count);
134 if (
path.elements()) {
201 if (
path.isEmpty()) {
214#ifdef QT_DEBUG_CONVERT
215 printf(
" - control point rect (%.2f, %.2f) %.2f x %.2f, clip=(%d,%d, %dx%d)\n",
237 for (
int i=0;
i<element_count; ++
i) {
270 m_points << cp1_fixed << cp2_fixed << ep_fixed;
308#ifdef QT_DEBUG_CONVERT
309 printf(
"QOutlineMapper::endOutline\n");
318 printf(
" - %d -- %.2f, %.2f, (%d, %d)\n",
i,
342 for (
int i=0;
i<element_count; ++
i) {
362 for (
int i=1;
i<element_count; ++
i)
static QBezier fromPoints(const QPointF &p1, const QPointF &p2, const QPointF &p3, const QPointF &p4)
void addToPolygon(QPolygonF *p, qreal bezier_flattening_threshold=0.5) const
void resize(qsizetype size)
void reserve(qsizetype size)
QT_FT_Outline * outline()
void clipElements(const QPointF *points, const QPainterPath::ElementType *types, int count)
QDataBuffer< QT_FT_Vector > m_points
void convertElements(const QPointF *points, const QPainterPath::ElementType *types, int count)
void moveTo(const QPointF &pt)
void curveTo(const QPointF &cp1, const QPointF &cp2, const QPointF &ep)
void setClipRect(QRect clipRect)
QDataBuffer< QPointF > m_elements
QPainterPath::ElementType * elementTypes() const
QDataBuffer< char > m_tags
QDataBuffer< int > m_contours
QDataBuffer< QPainterPath::ElementType > m_element_types
QRectF m_clip_trigger_rect
QT_FT_Outline * convertPath(const QPainterPath &path)
void beginOutline(Qt::FillRule fillRule)
void lineTo(const QPointF &pt)
void addRect(const QRectF &rect)
Adds the given rectangle to this path as a closed subpath.
bool isEmpty() const
Returns true if either there are no elements in this path, or if the only element is a MoveToElement;...
QPainterPath intersected(const QPainterPath &r) const
ElementType
This enum describes the types of elements used to connect vertices in subpaths.
\inmodule QtCore\reentrant
constexpr qreal x() const noexcept
Returns the x coordinate of this point.
constexpr qreal y() const noexcept
Returns the y coordinate of this point.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
constexpr qreal y() const noexcept
Returns the y-coordinate of the rectangle's top edge.
constexpr qreal height() const noexcept
Returns the height of the rectangle.
constexpr qreal width() const noexcept
Returns the width of the rectangle.
constexpr qreal x() const noexcept
Returns the x-coordinate of the rectangle's left edge.
bool contains(const QRectF &r) const noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool intersects(const QRectF &r) const noexcept
Returns true if this rectangle intersects with the given rectangle (i.e.
\inmodule QtCore\reentrant
constexpr int height() const noexcept
Returns the height of the rectangle.
constexpr QRect adjusted(int x1, int y1, int x2, int y2) const noexcept
Returns a new rectangle with dx1, dy1, dx2 and dy2 added respectively to the existing coordinates of ...
constexpr int x() const noexcept
Returns the x-coordinate of the rectangle's left edge.
constexpr void setWidth(int w) noexcept
Sets the width of the rectangle to the given width.
constexpr int width() const noexcept
Returns the width of the rectangle.
constexpr int y() const noexcept
Returns the y-coordinate of the rectangle's top edge.
Combined button and popup list for selecting options.
constexpr const T & qMin(const T &a, const T &b)
static bool contains(const QJsonArray &haystack, unsigned needle)
GLint GLint GLint GLint GLint x
[0]
GLsizei GLenum GLenum * types
GLenum GLenum GLsizei count
GLfixed GLfixed GLint GLint GLfixed points
GLsizei const GLchar *const * path
#define qreal_to_fixed_26_6(f)
static const QRectF boundingRect(const QPointF *points, int pointCount)
QT_BEGIN_NAMESPACE constexpr int QT_RASTER_COORD_LIMIT
#define QT_FT_OUTLINE_EVEN_ODD_FILL
#define QT_FT_CURVE_TAG_ON
#define QT_FT_CURVE_TAG_CUBIC
static const QTextHtmlElement elements[Html_NumElements]