diff options
| author | bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-04-05 17:08:27 +0000 |
|---|---|---|
| committer | bsalomon@google.com <bsalomon@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2011-04-05 17:08:27 +0000 |
| commit | 669fdc4ed8ed461a141cb97d0afdd9ef72a82be1 (patch) | |
| tree | 8c39d9d769e212749ce8e970129460f575a76f96 /samplecode/SampleApp.cpp | |
| parent | 62ab7addb06bbc5b93460eaf2f70a9f8399308d3 (diff) | |
Adds read pixels to GrTexture and GrRenderTarget
Adds SkGrRenderTargetPixelRef for SkBitmaps that are backed by RTs that aren't textures.
Adds onReadPixels implementations for SkGr pixel ref types
git-svn-id: http://skia.googlecode.com/svn/trunk@1056 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode/SampleApp.cpp')
| -rw-r--r-- | samplecode/SampleApp.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp index c525a5de92..e58fa26b08 100644 --- a/samplecode/SampleApp.cpp +++ b/samplecode/SampleApp.cpp @@ -766,17 +766,12 @@ void SampleWindow::afterChildren(SkCanvas* orig) { SkCanvas* canvas = fGpuCanvas ? fGpuCanvas : orig; SkDevice* device = canvas->getDevice(); - SkBitmap bitmap; - SkIRect bounds = { - 0, 0, - SkScalarRound(this->width()), - SkScalarRound(this->height()) - }; - if (device->readPixels(bounds, &bitmap)) { + SkBitmap bmp; + if (device->accessBitmap(false).copyTo(&bmp, SkBitmap::kARGB_8888_Config)) { static int gSampleGrabCounter; SkString name; name.printf("sample_grab_%d", gSampleGrabCounter++); - SkImageEncoder::EncodeFile(name.c_str(), bitmap, + SkImageEncoder::EncodeFile(name.c_str(), bmp, SkImageEncoder::kPNG_Type, 100); } } |
