diff options
author | Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> | 2016-05-13 13:30:46 +0200 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> | 2016-06-10 23:47:15 +0000 |
commit | ebee64645a672e82ffca3b48dbc007cd2f2a52f4 (patch) | |
tree | 0ab5e31523110666cac37f2b8cb76235efab929b /src/corelib/kernel/qcore_foundation.mm | |
parent | cbe62a0e6d0caba8dcb0a63d3af3c458a6298e10 (diff) |
darwin: Add Foundation conversion functions for QRect/QRectF
The fromCGRect function was left out for QRect, as the foundation type is
using CGFloats internally. Clients should use an explicit QRectF::toRect()
when potentially throwing away precision.
Change-Id: I0d4c5c5a4e6a45ea3287e3f37a00b69b0bfdefcf
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com>
Diffstat (limited to 'src/corelib/kernel/qcore_foundation.mm')
-rw-r--r-- | src/corelib/kernel/qcore_foundation.mm | 44 |
1 files changed, 44 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 |