18#include <QtGui/private/qtguiglobal_p.h>
19#include "QtGui/qpainterpath.h"
20#include "private/qdatabuffer_p.h"
21#include "private/qnumeric_p.h"
27#if defined QFIXED_IS_26_6
29#define qt_real_to_fixed(real) qfixed(real * 64)
30#define qt_int_to_fixed(real) qfixed(int(real) << 6)
31#define qt_fixed_to_real(fixed) qreal(fixed / qreal(64))
32#define qt_fixed_to_int(fixed) int(fixed >> 6)
40#elif defined QFIXED_IS_32_32
42#define qt_real_to_fixed(real) qfixed(real * double(qint64(1) << 32))
43#define qt_fixed_to_real(fixed) qreal(fixed / double(qint64(1) << 32))
51#elif defined QFIXED_IS_16_16
53#define qt_real_to_fixed(real) qfixed(real * qreal(1 << 16))
54#define qt_fixed_to_real(fixed) qreal(fixed / qreal(1 << 16))
64#define qt_real_to_fixed(real) qfixed(real)
65#define qt_fixed_to_real(fixed) fixed
77#define QT_PATH_KAPPA 0.5522847498
80 QPointF *controlPoints,
int *point_count);
116 virtual void begin(
void *customData);
124 void strokePolygon(
const QPointF *
points,
int pointCount,
bool implicit_close,
178 m_strokeWidth =
width;
209 void processCurrentSubpath()
override;
250 void processCurrentSubpath()
override;
333 if (c2x == ex && c2y == ey) {
334 if (c1x == ex && c1y == ey) {
QStroker * stroker() const
void begin(void *data) override
Prepares the stroker.
void setMiterLimit(qreal limit)
void setDashPattern(const QList< qfixed > &dashPattern)
void setStrokeWidth(qreal width)
QList< qfixed > m_dashPattern
void setDashOffset(qreal offset)
void end() override
Finishes the stroke.
static int repetitionLimit()
QList< qfixed > dashPattern() const
ElementType
This enum describes the types of elements used to connect vertices in subpaths.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
void emitCubicTo(qfixed c1x, qfixed c1y, qfixed c2x, qfixed c2y, qfixed ex, qfixed ey)
virtual void begin(void *customData)
Prepares the stroker.
void setCubicToHook(qStrokerCubicToHook cubicToHook)
void moveTo(qfixed x, qfixed y)
void setMoveToHook(qStrokerMoveToHook moveToHook)
void setCurveThresholdFromTransform(const QTransform &transform)
void setLineToHook(qStrokerLineToHook lineToHook)
QDataBuffer< Element > m_elements
void cubicTo(qfixed x1, qfixed y1, qfixed x2, qfixed y2, qfixed ex, qfixed ey)
void setClipRect(const QRectF &clip)
void emitLineTo(qfixed x, qfixed y)
virtual void end()
Finishes the stroke.
qStrokerLineToHook m_lineTo
qStrokerCubicToHook m_cubicTo
void setCurveThreshold(qfixed threshold)
void emitMoveTo(qfixed x, qfixed y)
qfixed curveThreshold() const
void lineTo(qfixed x, qfixed y)
virtual void processCurrentSubpath()=0
qStrokerMoveToHook m_moveTo
void setStrokeWidth(qfixed width)
qfixed strokeWidth() const
void emitLineTo(qfixed x, qfixed y)
void setMiterLimit(qfixed length)
void setForceOpen(bool state)
LineJoinMode capStyleMode() const
qfixed miterLimit() const
Qt::PenJoinStyle joinStyle() const
void emitMoveTo(qfixed x, qfixed y)
void setJoinStyle(Qt::PenJoinStyle style)
LineJoinMode joinStyleMode() const
void setCapStyle(Qt::PenCapStyle capStyle)
Qt::PenCapStyle capStyle() const
void emitCubicTo(qfixed c1x, qfixed c1y, qfixed c2x, qfixed c2y, qfixed ex, qfixed ey)
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
bool qIsFinite(qfloat16 f) noexcept
bool qFuzzyCompare(qfloat16 p1, qfloat16 p2) noexcept
constexpr const T & qBound(const T &min, const T &val, const T &max)
GLint GLint GLint GLint GLint x
[0]
GLuint GLfloat GLfloat GLfloat GLfloat y1
GLuint GLfloat GLfloat GLfloat x1
GLenum GLuint GLenum GLsizei length
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum GLuint GLintptr offset
GLuint GLenum GLenum transform
GLfixed GLfixed GLint GLint GLfixed points
GLfixed GLfixed GLfixed y2
GLsizei const GLchar *const * path
GLenum GLenum GLenum GLenum GLenum scale
Q_GUI_EXPORT bool qt_scaleForTransform(const QTransform &transform, qreal *scale)
static void lineToHook(qfixed x, qfixed y, void *data)
static void moveToHook(qfixed x, qfixed y, void *data)
static void cubicToHook(qfixed c1x, qfixed c1y, qfixed c2x, qfixed c2y, qfixed ex, qfixed ey, void *data)
QtPrivate::QRegularExpressionMatchIteratorRangeBasedForIterator begin(const QRegularExpressionMatchIterator &iterator)
void(* qStrokerCubicToHook)(qfixed c1x, qfixed c1y, qfixed c2x, qfixed c2y, qfixed ex, qfixed ey, void *data)
void(* qStrokerLineToHook)(qfixed x, qfixed y, void *data)
QPointF qt_curves_for_arc(const QRectF &rect, qreal startAngle, qreal sweepLength, QPointF *controlPoints, int *point_count)
void(* qStrokerMoveToHook)(qfixed x, qfixed y, void *data)
Q_GUI_EXPORT bool qt_scaleForTransform(const QTransform &transform, qreal *scale)
qreal qt_t_for_arc_angle(qreal angle)
#define qt_fixed_to_real(fixed)
#define qt_real_to_fixed(real)
QT_BEGIN_NAMESPACE typedef qreal qfixed
QGraphicsEllipseItem * ellipse
QPainterPath::ElementType type
bool operator==(const qfixed2d &other) const