summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/skia/src/utils/SkGatherPixelRefsAndRects.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/skia/src/utils/SkGatherPixelRefsAndRects.cpp')
-rw-r--r--chromium/third_party/skia/src/utils/SkGatherPixelRefsAndRects.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/chromium/third_party/skia/src/utils/SkGatherPixelRefsAndRects.cpp b/chromium/third_party/skia/src/utils/SkGatherPixelRefsAndRects.cpp
new file mode 100644
index 00000000000..f46fe8ed42f
--- /dev/null
+++ b/chromium/third_party/skia/src/utils/SkGatherPixelRefsAndRects.cpp
@@ -0,0 +1,25 @@
+/*
+ * Copyright 2014 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+
+#include "SkGatherPixelRefsAndRects.h"
+#include "SkNoSaveLayerCanvas.h"
+#include "SkPictureUtils.h"
+
+void SkPictureUtils::GatherPixelRefsAndRects(SkPicture* pict,
+ SkPictureUtils::SkPixelRefContainer* prCont) {
+ if (0 == pict->width() || 0 == pict->height()) {
+ return ;
+ }
+
+ SkGatherPixelRefsAndRectsDevice device(pict->width(), pict->height(), prCont);
+ SkNoSaveLayerCanvas canvas(&device);
+
+ canvas.clipRect(SkRect::MakeWH(SkIntToScalar(pict->width()),
+ SkIntToScalar(pict->height())),
+ SkRegion::kIntersect_Op, false);
+ canvas.drawPicture(pict);
+}