diff --git a/python/core/qgsrect.sip b/python/core/qgsrect.sip index 66c6065e2fc..b57add911c0 100644 --- a/python/core/qgsrect.sip +++ b/python/core/qgsrect.sip @@ -61,6 +61,9 @@ class QgsRectangle QgsRectangle intersect(QgsRectangle *rect); //! returns true when rectangle intersects with other rectangle bool intersects(const QgsRectangle& rect) const; + //! return true when rectangle contains other rectangle + //! @note added in version 1.1 + bool contains( const QgsRectangle& rect ) const; //! expand the rectangle so that covers both the original rectangle and the given rectangle void combineExtentWith(QgsRectangle *rect); //! expand the rectangle so that covers both the original rectangle and the given point diff --git a/src/core/qgsrectangle.cpp b/src/core/qgsrectangle.cpp index bebe83bbe55..9816d292d44 100644 --- a/src/core/qgsrectangle.cpp +++ b/src/core/qgsrectangle.cpp @@ -156,6 +156,11 @@ bool QgsRectangle::intersects( const QgsRectangle& rect ) const return TRUE; } +bool QgsRectangle::contains( const QgsRectangle& rect ) const +{ + return (rect.xmin >= xmin && rect.xmax <= xmax && rect.ymin >= ymin && rect.ymax <= ymax); +} + void QgsRectangle::combineExtentWith( QgsRectangle * rect ) { diff --git a/src/core/qgsrectangle.h b/src/core/qgsrectangle.h index 97c5b8c5b1f..0f9a03a38cd 100644 --- a/src/core/qgsrectangle.h +++ b/src/core/qgsrectangle.h @@ -84,6 +84,9 @@ class CORE_EXPORT QgsRectangle QgsRectangle intersect( QgsRectangle *rect ) const; //! returns true when rectangle intersects with other rectangle bool intersects( const QgsRectangle& rect ) const; + //! return true when rectangle contains other rectangle + //! @note added in version 1.1 + bool contains( const QgsRectangle& rect ) const; //! expand the rectangle so that covers both the original rectangle and the given rectangle void combineExtentWith( QgsRectangle *rect ); //! expand the rectangle so that covers both the original rectangle and the given point