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 */
21void GrClipData::getConservativeBounds(int width, int height,
22                                       SkIRect* devResult,
23                                       bool* isIntersectionOfRects) const {
24    SkRect devBounds;
25
26    fClipStack->getConservativeBounds(-fOrigin.fX,
27                                      -fOrigin.fY,
28                                      width,
29                                      height,
30                                      &devBounds,
31                                      isIntersectionOfRects);
32
33    devBounds.roundOut(devResult);
34}
35