aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/utils
diff options
context:
space:
mode:
authorGravatar reed <reed@chromium.org>2015-05-26 19:22:17 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-05-26 19:22:17 -0700
commit9572a10c9a6a868bbb8f71d7806d0a45f183333f (patch)
tree0539d48f7217b058a59e917c43d4f0a0156ba7fb /src/utils
parent4b195e5d8f19ee5ef06ce32cc86473ab7c083e6a (diff)
don't use accessBitmap
BUG=skia: TBR= Review URL: https://codereview.chromium.org/1154293002
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/SkCanvasStateUtils.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/utils/SkCanvasStateUtils.cpp b/src/utils/SkCanvasStateUtils.cpp
index f7a9447de2..759ba92fc8 100644
--- a/src/utils/SkCanvasStateUtils.cpp
+++ b/src/utils/SkCanvasStateUtils.cpp
@@ -224,8 +224,8 @@ SkCanvasState* SkCanvasStateUtils::CaptureCanvasState(SkCanvas* canvas) {
for (SkCanvas::LayerIter layer(canvas, true/*skipEmptyClips*/); !layer.done(); layer.next()) {
// we currently only work for bitmap backed devices
- const SkBitmap& bitmap = layer.device()->accessBitmap(true/*changePixels*/);
- if (bitmap.empty() || bitmap.isNull() || !bitmap.lockPixelsAreWritable()) {
+ SkPixmap pmap;
+ if (!layer.device()->accessPixels(&pmap) || 0 == pmap.width() || 0 == pmap.height()) {
return NULL;
}
@@ -234,10 +234,10 @@ SkCanvasState* SkCanvasStateUtils::CaptureCanvasState(SkCanvas* canvas) {
layerState->type = kRaster_CanvasBackend;
layerState->x = layer.x();
layerState->y = layer.y();
- layerState->width = bitmap.width();
- layerState->height = bitmap.height();
+ layerState->width = pmap.width();
+ layerState->height = pmap.height();
- switch (bitmap.colorType()) {
+ switch (pmap.colorType()) {
case kN32_SkColorType:
layerState->raster.config = kARGB_8888_RasterConfig;
break;
@@ -247,8 +247,8 @@ SkCanvasState* SkCanvasStateUtils::CaptureCanvasState(SkCanvas* canvas) {
default:
return NULL;
}
- layerState->raster.rowBytes = bitmap.rowBytes();
- layerState->raster.pixels = bitmap.getPixels();
+ layerState->raster.rowBytes = pmap.rowBytes();
+ layerState->raster.pixels = pmap.writable_addr();
setup_MC_state(&layerState->mcState, layer.matrix(), layer.clip());
layerCount++;