diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2010-03-16 15:05:20 (GMT) |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2010-03-16 15:05:20 (GMT) |
commit | dbcca9a809c9a5eb47f5c9236eb84c5baba7c560 (patch) | |
tree | e57f650d04872261f8e03ecbdd4f9634b03c6a56 /src/gui/painting | |
parent | b83172f8cfb4439f17c96886f0c6046a885370f6 (diff) | |
parent | d5e7356a16e51c544b7c5d148af7dcc70a7d6532 (diff) | |
download | Qt-dbcca9a809c9a5eb47f5c9236eb84c5baba7c560.zip Qt-dbcca9a809c9a5eb47f5c9236eb84c5baba7c560.tar.gz Qt-dbcca9a809c9a5eb47f5c9236eb84c5baba7c560.tar.bz2 |
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integration
* '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: (100 commits)
Remove test in .pro file also
Remove unneeded #include and add needed header to .pri
Add easing changes to QmlChanges.txt
Update more animation on property value source docs.
Doc fixes.
QmlChanges.txt cleanup.
Remove WorkerListModel and integrate its functionality into ListModel.
Split post alpha API changes into a separate section.
Optimize drawPixmapFragments for the GL2 paint engine.
Optimize QRegion::intersects(QRect).
Compile with user defined Qt namespace
Fix regression from previous commit
Import "content" with as qualifier to support network without qmldir
Small fixes to photoviewer demo
Little more doc on QabstractItemModel and QML.
Fix benchmark.
Add basic QUrl benchmarks.
Add busy indicator to photoviewer demo
Set maximumExtents correctly for highlightRangeMode: StrictlyEnforceRange
fix installation of imports libraries
...
Diffstat (limited to 'src/gui/painting')
-rw-r--r-- | src/gui/painting/qregion.cpp | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/src/gui/painting/qregion.cpp b/src/gui/painting/qregion.cpp index bea2b6e..bfeef72 100644 --- a/src/gui/painting/qregion.cpp +++ b/src/gui/painting/qregion.cpp @@ -704,28 +704,13 @@ bool QRegion::intersects(const QRegion ®ion) const } /*! + \fn bool QRegion::intersects(const QRect &rect) const \since 4.2 Returns true if this region intersects with \a rect, otherwise returns false. */ -bool QRegion::intersects(const QRect &rect) const -{ - if (isEmpty() || rect.isNull()) - return false; - const QRect r = rect.normalized(); - if (!rect_intersects(boundingRect(), r)) - return false; - if (rectCount() == 1) - return true; - - const QVector<QRect> myRects = rects(); - for (QVector<QRect>::const_iterator it = myRects.constBegin(); it < myRects.constEnd(); ++it) - if (rect_intersects(r, *it)) - return true; - return false; -} #if !defined (Q_OS_UNIX) && !defined (Q_WS_WIN) /*! @@ -4349,5 +4334,24 @@ bool QRegion::operator==(const QRegion &r) const return EqualRegion(d->qt_rgn, r.d->qt_rgn); } +bool QRegion::intersects(const QRect &rect) const +{ + if (isEmptyHelper(d->qt_rgn) || rect.isNull()) + return false; + + const QRect r = rect.normalized(); + if (!rect_intersects(d->qt_rgn->extents, r)) + return false; + if (d->qt_rgn->numRects == 1) + return true; + + const QVector<QRect> myRects = rects(); + for (QVector<QRect>::const_iterator it = myRects.constBegin(); it < myRects.constEnd(); ++it) + if (rect_intersects(r, *it)) + return true; + return false; +} + + #endif QT_END_NAMESPACE |