1 /* 2 * Copyright 2010 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 8 #include "GrClipData.h" 9 10 #include "GrSurface.h" 11 #include "SkRect.h" 12 13 /////////////////////////////////////////////////////////////////////////////// 14 15 /** 16 * getConservativeBounds returns the conservative bounding box of the clip 17 * in device (as opposed to canvas) coordinates. If the bounding box is 18 * the result of purely intersections of rects (with an initial replace) 19 * isIntersectionOfRects will be set to true. 20 */ 21 void GrClipData::getConservativeBounds(const GrSurface* surface, 22 SkIRect* devResult, 23 bool* isIntersectionOfRects) const { 24 SkRect devBounds; 25 26 fClipStack->getConservativeBounds(-fOrigin.fX, 27 -fOrigin.fY, 28 surface->width(), 29 surface->height(), 30 &devBounds, 31 isIntersectionOfRects); 32 33 devBounds.roundOut(devResult); 34 } 35