diff options
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/kernel/qcore_foundation.mm | 44 | ||||
-rw-r--r-- | src/corelib/tools/qrect.h | 13 |
2 files changed, 57 insertions, 0 deletions
diff --git a/src/corelib/kernel/qcore_foundation.mm b/src/corelib/kernel/qcore_foundation.mm index 335920c911..a488f4066d 100644 --- a/src/corelib/kernel/qcore_foundation.mm +++ b/src/corelib/kernel/qcore_foundation.mm @@ -44,9 +44,14 @@ #include <QtCore/qdatetime.h> #include <QtCore/quuid.h> #include <QtCore/qbytearray.h> +#include <QtCore/qrect.h> #import <Foundation/Foundation.h> +#if defined(QT_PLATFORM_UIKIT) +#import <CoreGraphics/CoreGraphics.h> +#endif + QT_BEGIN_NAMESPACE /*! @@ -415,4 +420,43 @@ NSDate *QDateTime::toNSDate() const dateWithTimeIntervalSince1970:static_cast<NSTimeInterval>(toMSecsSinceEpoch()) / 1000]; } +// ---------------------------------------------------------------------------- + +/*! + \since 5.8 + + Creates a CGRect from a QRect. + + \sa fromCGRect() +*/ +CGRect QRect::toCGRect() const Q_DECL_NOTHROW +{ + return CGRectMake(x(), y(), width(), height()); +} + +/*! + \since 5.8 + + Creates a CGRect from a QRectF. + + \sa fromCGRect() +*/ +CGRect QRectF::toCGRect() const Q_DECL_NOTHROW +{ + return CGRectMake(x(), y(), width(), height()); +} + +/*! + \since 5.8 + + Creates a QRectF from a CGRect. + + \sa toCGRect() +*/ +QRectF QRectF::fromCGRect(CGRect rect) Q_DECL_NOTHROW +{ + return QRectF(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height); +} + + QT_END_NAMESPACE diff --git a/src/corelib/tools/qrect.h b/src/corelib/tools/qrect.h index b376b6b999..8ce668f8ec 100644 --- a/src/corelib/tools/qrect.h +++ b/src/corelib/tools/qrect.h @@ -48,6 +48,10 @@ #error qrect.h must be included before any header file that defines topLeft #endif +#if defined(Q_OS_DARWIN) +struct CGRect; +#endif + QT_BEGIN_NAMESPACE class Q_CORE_EXPORT QRect @@ -149,6 +153,10 @@ public: friend Q_DECL_CONSTEXPR inline bool operator==(const QRect &, const QRect &) Q_DECL_NOTHROW; friend Q_DECL_CONSTEXPR inline bool operator!=(const QRect &, const QRect &) Q_DECL_NOTHROW; +#if defined(Q_OS_DARWIN) || defined(Q_QDOC) + CGRect toCGRect() const Q_DECL_NOTHROW Q_REQUIRED_RESULT; +#endif + private: int x1; int y1; @@ -604,6 +612,11 @@ public: Q_DECL_CONSTEXPR inline QRect toRect() const Q_DECL_NOTHROW Q_REQUIRED_RESULT; QRect toAlignedRect() const Q_DECL_NOTHROW Q_REQUIRED_RESULT; +#if defined(Q_OS_DARWIN) || defined(Q_QDOC) + static QRectF fromCGRect(CGRect rect) Q_DECL_NOTHROW Q_REQUIRED_RESULT; + CGRect toCGRect() const Q_DECL_NOTHROW Q_REQUIRED_RESULT; +#endif + private: qreal xp; qreal yp; |