Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 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 "GrClip.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 GrClip::getConservativeBounds(int width, int height, SkIRect* devResult, | |
| 22 bool* isIntersectionOfRects) const { | |
| 23 switch (fClipType) { | |
| 24 default: | |
| 25 SkFAIL("incomplete switch\n"); | |
| 26 case kWideOpen_ClipType: { | |
| 27 devResult->setLTRB(0, 0, SkIntToScalar(width), SkIntToScalar(height) ); | |
| 28 if (isIntersectionOfRects) { | |
| 29 *isIntersectionOfRects = false; | |
|
bsalomon
2015/02/23 19:31:29
I think we should say true here... it is effective
| |
| 30 } | |
| 31 } break; | |
| 32 case kIRect_ClipType: { | |
| 33 *devResult = this->irect(); | |
| 34 if (isIntersectionOfRects) { | |
| 35 *isIntersectionOfRects = false; | |
|
bsalomon
2015/02/23 19:31:29
true
| |
| 36 } | |
| 37 } break; | |
| 38 case kClipStack_ClipType: { | |
| 39 SkRect devBounds; | |
| 40 this->clipStack()->getConservativeBounds(-this->origin().fX, | |
| 41 -this->origin().fY, | |
| 42 width, | |
| 43 height, | |
| 44 &devBounds, | |
| 45 isIntersectionOfRects); | |
| 46 devBounds.roundOut(devResult); | |
| 47 } break; | |
| 48 | |
| 49 } | |
| 50 } | |
| OLD | NEW |