diff options
author | mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-02-13 15:11:11 +0000 |
---|---|---|
committer | mike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2014-02-13 15:11:11 +0000 |
commit | b2d93a91222dac2edb3c19128fd58fa2e74272aa (patch) | |
tree | 542e5234ce9408bb85fe36ae131746376eb3ae53 /samplecode | |
parent | deee496cd30070e52556dcb538c2e5eb39b66b81 (diff) |
add peekPixels to SkCanvas and SkSurface
clone of https://codereview.chromium.org/159723006/
Review URL: https://codereview.chromium.org/161733002
git-svn-id: http://skia.googlecode.com/svn/trunk@13427 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode')
-rw-r--r-- | samplecode/SampleApp.cpp | 5 | ||||
-rw-r--r-- | samplecode/SampleCircle.cpp | 6 | ||||
-rw-r--r-- | samplecode/SampleLayers.cpp | 4 |
3 files changed, 5 insertions, 10 deletions
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp index 53e15a5fdf..15e56a3bb6 100644 --- a/samplecode/SampleApp.cpp +++ b/samplecode/SampleApp.cpp @@ -1128,8 +1128,9 @@ void SampleWindow::listTitles() { static SkBitmap capture_bitmap(SkCanvas* canvas) { SkBitmap bm; - const SkBitmap& src = canvas->getDevice()->accessBitmap(false); - src.copyTo(&bm, src.config()); + if (bm.allocPixels(canvas->imageInfo())) { + canvas->readPixels(&bm, 0, 0); + } return bm; } diff --git a/samplecode/SampleCircle.cpp b/samplecode/SampleCircle.cpp index b101a1f257..9cc927e47d 100644 --- a/samplecode/SampleCircle.cpp +++ b/samplecode/SampleCircle.cpp @@ -71,12 +71,6 @@ protected: } } - 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 483943d5d4..bc8b8730bb 100644 --- a/samplecode/SampleLayers.cpp +++ b/samplecode/SampleLayers.cpp @@ -42,10 +42,10 @@ static void dump_layers(const char label[], SkCanvas* canvas) { SkCanvas::LayerIter iter(canvas, true); int index = 0; while (!iter.done()) { - const SkBitmap& bm = iter.device()->accessBitmap(false); + SkImageInfo info = iter.device()->imageInfo(); 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++, - bm.width(), bm.height(), iter.x(), iter.y(), + info.width(), info.height(), iter.x(), iter.y(), clip.fLeft, clip.fTop, clip.fRight, clip.fBottom, iter.paint().getAlpha()); iter.next(); |