Index: src/utils/android/SkAndroidSDKCanvas.cpp |
diff --git a/src/utils/android/SkAndroidSDKCanvas.cpp b/src/utils/android/SkAndroidSDKCanvas.cpp |
index 06b960b5d9d08ae9d9feb3e7a4e47250091c297f..860bb6c48049ef22390ff074b037252bce4eb64a 100644 |
--- a/src/utils/android/SkAndroidSDKCanvas.cpp |
+++ b/src/utils/android/SkAndroidSDKCanvas.cpp |
@@ -273,12 +273,30 @@ SkSurface* SkAndroidSDKCanvas::onNewSurface(const SkImageInfo& info, |
return fProxyTarget->newSurface(info, &props); |
} |
-const void* SkAndroidSDKCanvas::onPeekPixels(SkImageInfo* info, size_t* data) { |
- return fProxyTarget->peekPixels(info, data); |
+bool SkAndroidSDKCanvas::onPeekPixels(SkPixmap* data) { |
scroggo
2015/05/26 20:29:28
nit: data seems a little vague. Why not "pmap"?
|
+ SkImageInfo info; |
+ size_t rowBytes; |
+ const void* addr = fProxyTarget->peekPixels(&info, &rowBytes); |
+ if (data) { |
scroggo
2015/05/26 20:29:28
I think the pixmap will always be non-null?
reed1
2015/05/26 20:53:22
should be
if (addr) {
|
+ data->reset(info, addr, rowBytes); |
+ if (addr) { |
reed1
2015/05/26 20:53:21
this check of addr is unneeded
|
+ return true; |
+ } |
+ } |
+ return false; |
} |
-void* SkAndroidSDKCanvas::onAccessTopLayerPixels(SkImageInfo* info, size_t* data) { |
- return fProxyTarget->accessTopLayerPixels(info, data); |
+bool SkAndroidSDKCanvas::onAccessTopLayerPixels(SkPixmap* data) { |
scroggo
2015/05/26 20:29:28
Same comments for this method.
|
+ SkImageInfo info; |
+ size_t rowBytes; |
+ const void* addr = fProxyTarget->accessTopLayerPixels(&info, &rowBytes, NULL); |
+ if (data) { |
+ data->reset(info, addr, rowBytes); |
+ if (addr) { |
+ return true; |
+ } |
+ } |
+ return false; |
} |
void SkAndroidSDKCanvas::willSave() { |