Revert of add peekPixels to SkCanvas and SkSurface (https://codereview.chromium.org/161733002/)
Reason for revert:
compile issues with gm/xfermodes3
Original issue's description:
> add peekPixels to SkCanvas and SkSurface
>
> clone of https://codereview.chromium.org/159723006/
>
> Committed: https://code.google.com/p/skia/source/detail?r=13427
R=jvanverth@google.com
NOTREECHECKS=true
NOTRY=true
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/163823002
git-svn-id: http://skia.googlecode.com/svn/trunk@13428 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 15e56a3..53e15a5 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -1128,9 +1128,8 @@
static SkBitmap capture_bitmap(SkCanvas* canvas) {
SkBitmap bm;
- if (bm.allocPixels(canvas->imageInfo())) {
- canvas->readPixels(&bm, 0, 0);
- }
+ const SkBitmap& src = canvas->getDevice()->accessBitmap(false);
+ src.copyTo(&bm, src.config());
return bm;
}
diff --git a/samplecode/SampleCircle.cpp b/samplecode/SampleCircle.cpp
index 9cc927e..b101a1f 100644
--- a/samplecode/SampleCircle.cpp
+++ b/samplecode/SampleCircle.cpp
@@ -71,6 +71,12 @@
}
}
+ static void blowup(SkCanvas* canvas, const SkIRect& src, const SkRect& dst) {
+ SkBaseDevice* device = canvas->getDevice();
+ const SkBitmap& bm = device->accessBitmap(false);
+ canvas->drawBitmapRect(bm, &src, dst, NULL);
+ }
+
static void make_poly(SkPath* path, int n) {
if (n <= 0) {
return;
diff --git a/samplecode/SampleLayers.cpp b/samplecode/SampleLayers.cpp
index bc8b873..483943d 100644
--- a/samplecode/SampleLayers.cpp
+++ b/samplecode/SampleLayers.cpp
@@ -42,10 +42,10 @@
SkCanvas::LayerIter iter(canvas, true);
int index = 0;
while (!iter.done()) {
- SkImageInfo info = iter.device()->imageInfo();
+ const SkBitmap& bm = iter.device()->accessBitmap(false);
const SkIRect& clip = iter.clip().getBounds();
SkDebugf("Layer[%d] bitmap [%d %d] X=%d Y=%d clip=[%d %d %d %d] alpha=%d\n", index++,
- info.width(), info.height(), iter.x(), iter.y(),
+ bm.width(), bm.height(), iter.x(), iter.y(),
clip.fLeft, clip.fTop, clip.fRight, clip.fBottom,
iter.paint().getAlpha());
iter.next();