Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qstroker_p.h File Reference

(05fc3aef53348fb58be6308076e000825b704e58)

#include <QtGui/private/qtguiglobal_p.h>
#include "QtGui/qpainterpath.h"
#include "private/qdatabuffer_p.h"
#include "private/qnumeric_p.h"
Include dependency graph for qstroker_p.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  qfixed2d
class  QStrokerOps
struct  QStrokerOps::Element
class  QStroker
class  QDashStroker

Macros

#define qt_real_to_fixed(real)
#define qt_fixed_to_real(fixed)
#define QT_PATH_KAPPA   0.5522847498

Typedefs

typedef void(* qStrokerMoveToHook) (qfixed x, qfixed y, void *data)
typedef void(* qStrokerLineToHook) (qfixed x, qfixed y, void *data)
typedef void(* qStrokerCubicToHook) (qfixed c1x, qfixed c1y, qfixed c2x, qfixed c2y, qfixed ex, qfixed ey, void *data)

Functions

QPointF qt_curves_for_arc (const QRectF &rect, qreal startAngle, qreal sweepLength, QPointF *controlPoints, int *point_count)
qreal qt_t_for_arc_angle (qreal angle)
Q_GUI_EXPORT bool qt_scaleForTransform (const QTransform &transform, qreal *scale)

Variables

QT_BEGIN_NAMESPACE typedef qreal qfixed

Macro Definition Documentation

◆ qt_fixed_to_real

#define qt_fixed_to_real ( fixed)
Value:
fixed

Definition at line 65 of file qstroker_p.h.

◆ QT_PATH_KAPPA

#define QT_PATH_KAPPA   0.5522847498

Definition at line 77 of file qstroker_p.h.

◆ qt_real_to_fixed

#define qt_real_to_fixed ( real)
Value:
qfixed(real)
QT_BEGIN_NAMESPACE typedef qreal qfixed
Definition qstroker_p.h:63

Definition at line 64 of file qstroker_p.h.

Typedef Documentation

◆ qStrokerCubicToHook

typedef void(* qStrokerCubicToHook) (qfixed c1x, qfixed c1y, qfixed c2x, qfixed c2y, qfixed ex, qfixed ey, void *data)

Definition at line 86 of file qstroker_p.h.

◆ qStrokerLineToHook

typedef void(* qStrokerLineToHook) (qfixed x, qfixed y, void *data)

Definition at line 85 of file qstroker_p.h.

◆ qStrokerMoveToHook

typedef void(* qStrokerMoveToHook) (qfixed x, qfixed y, void *data)

Definition at line 84 of file qstroker_p.h.

Function Documentation

◆ qt_curves_for_arc()

QPointF qt_curves_for_arc ( const QRectF & rect,
qreal startAngle,
qreal sweepLength,
QPointF * curves,
int * point_count )

Creates a number of curves for a given arc definition. The arc is defined an arc along the ellipses that fits into rect starting at startAngle and an arc length of sweepLength.

The function has three out parameters. The return value is the starting point of the arc. The curves array represents the list of cubicTo elements up to a maximum of point_count. There are of course 3 points pr curve.

Definition at line 816 of file qstroker.cpp.

◆ qt_scaleForTransform()

Q_GUI_EXPORT bool qt_scaleForTransform ( const QTransform & transform,
qreal * scale )

Definition at line 2132 of file qtransform.cpp.

◆ qt_t_for_arc_angle()

qreal qt_t_for_arc_angle ( qreal angle)

For a given angle in the range [0 .. 90], finds the corresponding parameter t of the prototype cubic bezier arc segment b = fromPoints(QPointF(1, 0), QPointF(1, KAPPA), QPointF(KAPPA, 1), QPointF(0, 1));

From the bezier equation: b.pointAt(t).x() = (1-t)^3 + t*(1-t)^2 + t^2*(1-t)*KAPPA b.pointAt(t).y() = t*(1-t)^2 * KAPPA + t^2*(1-t) + t^3

Third degree coefficients: b.pointAt(t).x() = at^3 + bt^2 + ct + d where a = 2-3*KAPPA, b = 3*(KAPPA-1), c = 0, d = 1

b.pointAt(t).y() = at^3 + bt^2 + ct + d where a = 3*KAPPA-2, b = 6*KAPPA+3, c = 3*KAPPA, d = 0

Newton's method to find the zero of a function: given a function f(x) and initial guess x_0 x_1 = f(x_0) / f'(x_0) x_2 = f(x_1) / f'(x_1) etc...

Definition at line 756 of file qstroker.cpp.

Variable Documentation

◆ qfixed

QT_BEGIN_NAMESPACE typedef qreal qfixed

Definition at line 63 of file qstroker_p.h.