For reference - if rectangkes do not intersect, the Clip result will have infinite size.
I.e.

Rect r1(-1000, -1000, -500, -500);
Rect r2(500, 5000, 1000, 1000);
r1.Clip(r2);
if (r1.length == M_INFINITY)
Print("do not intersect")
else
Print("intersect")

QRect (from Qt) overloads the binary | & and bool operators, which will return a new rect that contains both, a new rect that defines the intersection, and returns true if position and size are not 0, respectively. I feel like those should be added to Urho as well. Checking if they intersect would then look like:

if(r1 & r2) {
// the two intersect
} else {
// no intersection
}