summaryrefslogtreecommitdiffstats
path: root/src/gui/painting
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-03-16 15:05:20 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-03-16 15:05:20 (GMT)
commitdbcca9a809c9a5eb47f5c9236eb84c5baba7c560 (patch)
treee57f650d04872261f8e03ecbdd4f9634b03c6a56 /src/gui/painting
parentb83172f8cfb4439f17c96886f0c6046a885370f6 (diff)
parentd5e7356a16e51c544b7c5d148af7dcc70a7d6532 (diff)
downloadQt-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.cpp36
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 &region) 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