From ab4258295f4c6a4800ea83db0149e7331168f5cb Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 21 Mar 2022 14:13:55 +0300 Subject: [PATCH] piqt PILine support --- libs/piqt/piqt.cpp | 9 +++++++++ libs/piqt/piqt.h | 7 +++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/libs/piqt/piqt.cpp b/libs/piqt/piqt.cpp index 5a85fbe..de5a2b9 100644 --- a/libs/piqt/piqt.cpp +++ b/libs/piqt/piqt.cpp @@ -50,6 +50,7 @@ const QVariant PI2QVariant(const PIVariant & v) { case PIVariant::pivColor: return QVariant::fromValue(PI2QColor(v.toColor())); case PIVariant::pivPoint: return QVariant(PI2QPoint(v.toPoint())); case PIVariant::pivRect: return QVariant(PI2QRect(v.toRect())); + case PIVariant::pivLine: return QVariant(PI2QLine(v.toLine())); case PIVariant::pivIODevice: return QVariant::fromValue(PI2QADIODevice(v.toIODevice())); case PIVariant::pivMathVector: return QVariant::fromValue(PI2QMathVector(v.toMathVector())); case PIVariant::pivMathMatrix: return QVariant::fromValue(PI2QMathMatrix(v.toMathMatrix())); @@ -160,6 +161,14 @@ const PIVariant Q2PIVariant(const QVariant & v) { case QMetaType::QRectF: #endif return PIVariant(Q2PIRect(v.toRectF())); +#if QT_VERSION_MAJOR <= 5 + case QVariant::Line: + case QVariant::LineF: +#else + case QMetaType::Line: + case QMetaType::LineF: +#endif + return PIVariant(Q2PILine(v.toLineF())); default: break; } if (v.canConvert()) return PIVariant(v.value()); diff --git a/libs/piqt/piqt.h b/libs/piqt/piqt.h index 0ae3e74..e0a9664 100644 --- a/libs/piqt/piqt.h +++ b/libs/piqt/piqt.h @@ -76,8 +76,11 @@ inline const PIMathVectorT3d Q2PIVector3(const QVector3D & v) {return PIMathVect inline const QPointF PI2QPoint(const PIPointd & v) {return QPointF(v.x, v.y);} inline const PIPointd Q2PIPoint(const QPointF & v) {return PIPointd(v.x(), v.y());} -inline const QRectF PI2QRect(const PIRectd & v) {return QRectF(v.x0, v.y0, v.width(), v.height());} -inline const PIRectd Q2PIRect(const QRectF & v) {return PIRectd(v.x(), v.y(), v.width(), v.height());} +inline const QRectF PI2QRect(const PIRectd & v) {return QRectF(v.left(), v.top(), v.width(), v.height());} +inline const PIRectd Q2PIRect(const QRectF & v) {return PIRectd(v.left(), v.bottom(), v.width(), v.height());} + +inline const QLineF PI2QLine(const PILined & v) {return QLineF(PI2QPoint(v.p0), PI2QPoint(v.p1));} +inline const PILined Q2PILine(const QLineF & v) {return PILined(Q2PIPoint(v.p1()), Q2PIPoint(v.p2()));} inline const QAD::MathVector PI2QMathVector(const PIMathVectord & v) { QVector q = QVector(v.size());