code: function intersect(rect, cropRect) {
        var x1, y1, x2, y2;
  
        x1 = max(rect.x, cropRect.x);
        y1 = max(rect.y, cropRect.y);
        x2 = min(rect.x + rect.w, cropRect.x + cropRect.w);
        y2 = min(rect.y + rect.h, cropRect.y + cropRect.h);
  
        if (x2 - x1 < 0 || y2 - y1 < 0) {
          return null;
        }
  
        return create(x1, y1, x2 - x1, y2 - y1);
      }
docs: Returns the intersection of the specified rectangles.
  
  @method intersect
  @param {Rect} rect The first rectangle to compare.
  @param {Rect} cropRect The second rectangle to compare.
  @return {Rect} The intersection of the two rectangles or null if they don't intersect.