8#include <QtCore/qpoint.h>
16
17
22 constexpr inline QLine();
23 constexpr inline QLine(
const QPoint &pt1,
const QPoint &pt2);
24 constexpr inline QLine(
int x1,
int y1,
int x2,
int y2);
26 constexpr inline bool isNull()
const;
28 constexpr inline QPoint p1()
const;
29 constexpr inline QPoint p2()
const;
31 constexpr inline int x1()
const;
32 constexpr inline int y1()
const;
34 constexpr inline int x2()
const;
35 constexpr inline int y2()
const;
37 constexpr inline int dx()
const;
38 constexpr inline int dy()
const;
40 constexpr inline void translate(
const QPoint &p);
41 constexpr inline void translate(
int dx,
int dy);
43 [[nodiscard]]
constexpr inline QLine translated(
const QPoint &p)
const;
44 [[nodiscard]]
constexpr inline QLine translated(
int dx,
int dy)
const;
46 [[nodiscard]]
constexpr inline QPoint center()
const;
48 inline void setP1(
const QPoint &p1);
49 inline void setP2(
const QPoint &p2);
50 inline void setPoints(
const QPoint &p1,
const QPoint &p2);
51 inline void setLine(
int x1,
int y1,
int x2,
int y2);
53#if QT_CORE_REMOVED_SINCE(6
, 8
)
54 constexpr inline bool operator==(
const QLine &d)
const noexcept;
55 constexpr inline bool operator!=(
const QLine &d)
const noexcept {
return !operator==(d); }
58 [[nodiscard]]
constexpr inline QLineF toLineF()
const noexcept;
61 friend constexpr bool comparesEqual(
const QLine &lhs,
const QLine &rhs)
noexcept
62 {
return lhs.pt1 == rhs.pt1 && lhs.pt2 == rhs.pt2; }
63#if !QT_CORE_REMOVED_SINCE(6
, 8
)
64 Q_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE(QLine)
72
73
75constexpr inline QLine::QLine() { }
77constexpr inline QLine::QLine(
const QPoint &pt1_,
const QPoint &pt2_) : pt1(pt1_), pt2(pt2_) { }
79constexpr inline QLine::QLine(
int x1pos,
int y1pos,
int x2pos,
int y2pos) : pt1(QPoint(x1pos, y1pos)), pt2(QPoint(x2pos, y2pos)) { }
81constexpr inline bool QLine::isNull()
const
86constexpr inline int QLine::x1()
const
91constexpr inline int QLine::y1()
const
96constexpr inline int QLine::x2()
const
101constexpr inline int QLine::y2()
const
106constexpr inline QPoint QLine::p1()
const
111constexpr inline QPoint QLine::p2()
const
116constexpr inline int QLine::dx()
const
118 return (pt2.xp - pt1.xp).value();
121constexpr inline int QLine::dy()
const
123 return (pt2.yp - pt1.yp).value();
126constexpr inline void QLine::translate(
const QPoint &point)
132constexpr inline void QLine::translate(
int adx,
int ady)
134 this->translate(QPoint(adx, ady));
137constexpr inline QLine QLine::translated(
const QPoint &p)
const
139 return QLine(pt1 + p, pt2 + p);
142constexpr inline QLine QLine::translated(
int adx,
int ady)
const
144 return translated(QPoint(adx, ady));
147constexpr inline QPoint QLine::center()
const
149 return QPoint(
int((qint64(pt1.x()) + pt2.x()) / 2),
int((qint64(pt1.y()) + pt2.y()) / 2));
152inline void QLine::setP1(
const QPoint &aP1)
157inline void QLine::setP2(
const QPoint &aP2)
162inline void QLine::setPoints(
const QPoint &aP1,
const QPoint &aP2)
168inline void QLine::setLine(
int aX1,
int aY1,
int aX2,
int aY2)
170 pt1 = QPoint(aX1, aY1);
171 pt2 = QPoint(aX2, aY2);
174#if QT_CORE_REMOVED_SINCE(6
, 8
)
175constexpr inline bool QLine::operator==(
const QLine &d)
const noexcept
177 return comparesEqual(*
this, d);
181#ifndef QT_NO_DEBUG_STREAM
182Q_CORE_EXPORT
QDebug operator<<(QDebug d,
const QLine &p);
185#ifndef QT_NO_DATASTREAM
186Q_CORE_EXPORT
QDataStream &operator<<(QDataStream &,
const QLine &);
191
192
197 enum IntersectionType { NoIntersection, BoundedIntersection, UnboundedIntersection };
198 using IntersectType = IntersectionType;
200 constexpr inline QLineF();
201 constexpr inline QLineF(
const QPointF &pt1,
const QPointF &pt2);
202 constexpr inline QLineF(qreal x1, qreal y1, qreal x2, qreal y2);
203 constexpr inline QLineF(
const QLine &line) : pt1(line.p1()), pt2(line.p2()) { }
205 [[nodiscard]]
static QLineF fromPolar(qreal length, qreal angle);
207 constexpr bool isNull()
const;
209 constexpr inline QPointF p1()
const;
210 constexpr inline QPointF p2()
const;
212 constexpr inline qreal x1()
const;
213 constexpr inline qreal y1()
const;
215 constexpr inline qreal x2()
const;
216 constexpr inline qreal y2()
const;
218 constexpr inline qreal dx()
const;
219 constexpr inline qreal dy()
const;
221 qreal length()
const;
222 void setLength(qreal len);
225 void setAngle(qreal angle);
227 qreal angleTo(
const QLineF &l)
const;
229 [[nodiscard]] QLineF unitVector()
const;
230 [[nodiscard]]
constexpr inline QLineF normalVector()
const;
232 IntersectionType intersects(
const QLineF &l, QPointF *intersectionPoint =
nullptr)
const;
234 constexpr inline QPointF pointAt(qreal t)
const;
235 constexpr inline void translate(
const QPointF &p);
236 constexpr inline void translate(qreal dx, qreal dy);
238 [[nodiscard]]
constexpr inline QLineF translated(
const QPointF &p)
const;
239 [[nodiscard]]
constexpr inline QLineF translated(qreal dx, qreal dy)
const;
241 [[nodiscard]]
constexpr inline QPointF center()
const;
243 inline void setP1(
const QPointF &p1);
244 inline void setP2(
const QPointF &p2);
245 inline void setPoints(
const QPointF &p1,
const QPointF &p2);
246 inline void setLine(qreal x1, qreal y1, qreal x2, qreal y2);
248#if QT_CORE_REMOVED_SINCE(6
, 8
)
249 constexpr inline bool operator==(
const QLineF &d)
const;
250 constexpr inline bool operator!=(
const QLineF &d)
const {
return !operator==(d); }
253 constexpr QLine toLine()
const;
256 friend constexpr bool comparesEqual(
const QLineF &lhs,
const QLineF &rhs)
noexcept
257 {
return lhs.pt1 == rhs.pt1 && lhs.pt2 == rhs.pt2; }
258#if !QT_CORE_REMOVED_SINCE(6
, 8
)
259 Q_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE(QLineF)
262 friend constexpr bool comparesEqual(
const QLineF &lhs,
const QLine &rhs)
noexcept
263 {
return comparesEqual(lhs, rhs.toLineF()); }
264 Q_DECLARE_EQUALITY_COMPARABLE_LITERAL_TYPE(QLineF, QLine)
266 friend constexpr bool qFuzzyCompare(
const QLineF &lhs,
const QLineF &rhs)
noexcept
267 {
return qFuzzyCompare(lhs.pt1, rhs.pt1) && qFuzzyCompare(lhs.pt2, rhs.pt2); }
269 friend constexpr bool qFuzzyIsNull(
const QLineF &line)
noexcept
270 {
return qFuzzyCompare(line.pt1, line.pt2); }
277
278
280constexpr inline QLineF::QLineF()
284constexpr inline QLineF::QLineF(
const QPointF &apt1,
const QPointF &apt2)
285 : pt1(apt1), pt2(apt2)
289constexpr inline QLineF::QLineF(qreal x1pos, qreal y1pos, qreal x2pos, qreal y2pos)
290 : pt1(x1pos, y1pos), pt2(x2pos, y2pos)
294constexpr inline qreal QLineF::x1()
const
299constexpr inline qreal QLineF::y1()
const
304constexpr inline qreal QLineF::x2()
const
309constexpr inline qreal QLineF::y2()
const
314constexpr inline bool QLineF::isNull()
const
316 return qFuzzyCompare(pt1, pt2);
319constexpr inline QPointF QLineF::p1()
const
324constexpr inline QPointF QLineF::p2()
const
329constexpr inline qreal QLineF::dx()
const
331 return pt2.x() - pt1.x();
334constexpr inline qreal QLineF::dy()
const
336 return pt2.y() - pt1.y();
339constexpr inline QLineF QLineF::normalVector()
const
341 return QLineF(p1(), p1() + QPointF(dy(), -dx()));
344constexpr inline void QLineF::translate(
const QPointF &point)
350constexpr inline void QLineF::translate(qreal adx, qreal ady)
352 this->translate(QPointF(adx, ady));
355constexpr inline QLineF QLineF::translated(
const QPointF &p)
const
357 return QLineF(pt1 + p, pt2 + p);
360constexpr inline QLineF QLineF::translated(qreal adx, qreal ady)
const
362 return translated(QPointF(adx, ady));
365constexpr inline QPointF QLineF::center()
const
367 return QPointF(0.5 * pt1.x() + 0.5 * pt2.x(), 0.5 * pt1.y() + 0.5 * pt2.y());
370inline void QLineF::setLength(qreal len)
372 Q_ASSERT(qIsFinite(len));
373 const qreal oldLength = length();
374 Q_ASSERT(qIsFinite(oldLength));
378 pt2 = QPointF(pt1.x() + len * (dx() / oldLength), pt1.y() + len * (dy() / oldLength));
381constexpr inline QPointF QLineF::pointAt(qreal t)
const
383 return QPointF(pt1.x() + (pt2.x() - pt1.x()) * t, pt1.y() + (pt2.y() - pt1.y()) * t);
386constexpr inline QLineF QLine::toLineF()
const noexcept {
return *
this; }
388constexpr inline QLine QLineF::toLine()
const
390 return QLine(pt1.toPoint(), pt2.toPoint());
394inline void QLineF::setP1(
const QPointF &aP1)
399inline void QLineF::setP2(
const QPointF &aP2)
404inline void QLineF::setPoints(
const QPointF &aP1,
const QPointF &aP2)
410inline void QLineF::setLine(qreal aX1, qreal aY1, qreal aX2, qreal aY2)
412 pt1 = QPointF(aX1, aY1);
413 pt2 = QPointF(aX2, aY2);
416#if QT_CORE_REMOVED_SINCE(6
, 8
)
417constexpr inline bool QLineF::operator==(
const QLineF &d)
const
419 return comparesEqual(*
this, d);
424#ifndef QT_NO_DEBUG_STREAM
425Q_CORE_EXPORT
QDebug operator<<(QDebug d,
const QLineF &p);
428#ifndef QT_NO_DATASTREAM
429Q_CORE_EXPORT
QDataStream &operator<<(QDataStream &,
const QLineF &);
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
QCborArray toArray(const QCborArray &a) const
QCborMap toMap(const QCborMap &m) const
QVariant toVariant() const
QCborValueConstRef & operator=(const QCborValueConstRef &)=delete
QCborArray toArray() const
bool toBool(bool defaultValue=false) const
QCborValue taggedValue(const QCborValue &defaultValue=QCborValue()) const
QCborSimpleType toSimpleType(QCborSimpleType defaultValue=QCborSimpleType::Undefined) const
bool isSimpleType() const
bool isRegularExpression() const
QCborValue::Type type() const
QCborValueConstRef(const QCborValueConstRef &)=default
QCborTag tag(QCborTag defaultValue=QCborTag(-1)) const
constexpr QCborValueConstRef()
QByteArray toByteArray(const QByteArray &defaultValue={}) const
qint64 toInteger(qint64 defaultValue=0) const
bool isSimpleType(QCborSimpleType st) const
QUuid toUuid(const QUuid &defaultValue={}) const
QCborContainerPrivate * d
QAnyStringView toStringView(QAnyStringView defaultValue={}) const
friend bool comparesEqual(const QCborValueConstRef &lhs, const QCborValueConstRef &rhs) noexcept
friend bool comparesEqual(const QCborValueConstRef &lhs, const QCborValue &rhs) noexcept
QString toDiagnosticNotation(QCborValue::DiagnosticNotationOptions opt=QCborValue::Compact) const
int compare(const QCborValue &other) const
friend Qt::strong_ordering compareThreeWay(const QCborValueConstRef &lhs, const QCborValue &rhs) noexcept
operator QCborValue() const
friend Qt::strong_ordering compareThreeWay(const QCborValueConstRef &lhs, const QCborValueConstRef &rhs) noexcept
constexpr QCborValueConstRef(QCborContainerPrivate *dd, qsizetype ii)
QCborValue concrete() const noexcept
QString toString(const QString &defaultValue={}) const
QUrl toUrl(const QUrl &defaultValue={}) const
QJsonValue toJsonValue() const
double toDouble(double defaultValue=0) const
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
friend bool comparesEqual(const QJsonValueConstRef &lhs, const QJsonValue &rhs)
constexpr QJsonValueConstRef(QCborContainerPrivate *d, size_t index, bool is_object)
friend bool comparesEqual(const QJsonValueConstRef &lhs, const QJsonValueConstRef &rhs)
operator QJsonValue() const
QAnyStringView objectKeyView() const
void rebind(QJsonValueConstRef other)
QString objectKey() const
QAnyStringView toStringView(QAnyStringView defaultValue={}) const
QJsonValueConstRef(const QJsonValueConstRef &)=default
qint64 toInteger(qint64 defaultValue=0) const
bool toBool(bool defaultValue=false) const
QJsonValueConstRef & operator=(const QJsonValueConstRef &)=delete
QString toString(const QString &defaultValue={}) const
QJsonValue::Type type() const
QJsonValueConstRef(QJsonArray *array, qsizetype idx)
QCborContainerPrivate * d
QJsonValueConstRef(QJsonObject *object, qsizetype idx)
double toDouble(double defaultValue=0) const
int toInt(int defaultValue=0) const
const QJsonValue operator[](QStringView key) const
\inmodule QtCore\reentrant
\inmodule QtCore\compares equality \compareswith equality QLine \endcompareswith
\inmodule QtCore\compares equality \compareswith equality QLineF \endcompareswith
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
\keyword 16-bit Floating Point Support\inmodule QtCore \inheaderfile QFloat16
Combined button and popup list for selecting options.
QMutableListIterator< QByteArray > QMutableByteArrayListIterator
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
QList< QVariant > QVariantList
Q_DECLARE_TYPEINFO(QLine, Q_PRIMITIVE_TYPE)
Q_DECLARE_TYPEINFO(QLineF, Q_PRIMITIVE_TYPE)
#define qCWarning(category,...)
#define Q_STATIC_LOGGING_CATEGORY(name,...)
#define QStringLiteral(str)
\inmodule QtCore\reentrant
QString errorString() const
\variable QCborParserError::offset
~QListSpecialMethods()=default
QListSpecialMethods & operator=(const QListSpecialMethods &)=default
QListSpecialMethods(QListSpecialMethods &&)=default
QListSpecialMethods & operator=(QListSpecialMethods &&)=default
QListSpecialMethods()=default
QListSpecialMethods(const QListSpecialMethods &)=default
QByteArray join(QByteArrayView sep={}) const
static T value(const Iterator &it)
static T value(Iterator &it)
static QCborValueConstRef key(Iterator &it)
static QCborValueConstRef key(const Iterator &it)
static QAnyStringView key(Iterator &it)
static T value(const Iterator &it)
static QAnyStringView key(const Iterator &it)
static T value(Iterator &it)