aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/image/SkSurface.cpp
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-07-21 11:01:18 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-07-21 15:27:23 +0000
commit353196f44f8c4f5fc3dc3783241faef264b80927 (patch)
tree2dd4d14e7bb5991dcfdbed98e2ecb4d54d4ddda5 /src/image/SkSurface.cpp
parent35a5e418b96053bbdebef2cceb33db995f960010 (diff)
clean read/write pixels signatures, augment SkSurface API
For now, not adding writePixels to surface, since it appears we may not be able to remove writePixels from canvas :( Bug: skia:3216 Change-Id: I64ccebb31effacffe615ae4537fb46a161a6768d Reviewed-on: https://skia-review.googlesource.com/25562 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/image/SkSurface.cpp')
-rw-r--r--src/image/SkSurface.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/image/SkSurface.cpp b/src/image/SkSurface.cpp
index d7fa60589a..29068b2c4a 100644
--- a/src/image/SkSurface.cpp
+++ b/src/image/SkSurface.cpp
@@ -170,9 +170,18 @@ bool SkSurface::peekPixels(SkPixmap* pmap) {
return this->getCanvas()->peekPixels(pmap);
}
+bool SkSurface::readPixels(const SkPixmap& pm, int srcX, int srcY) {
+ return this->getCanvas()->readPixels(pm, srcX, srcY);
+}
+
bool SkSurface::readPixels(const SkImageInfo& dstInfo, void* dstPixels, size_t dstRowBytes,
int srcX, int srcY) {
- return this->getCanvas()->readPixels(dstInfo, dstPixels, dstRowBytes, srcX, srcY);
+ return this->readPixels({dstInfo, dstPixels, dstRowBytes}, srcX, srcY);
+}
+
+bool SkSurface::readPixels(const SkBitmap& bitmap, int srcX, int srcY) {
+ SkPixmap pm;
+ return bitmap.peekPixels(&pm) && this->readPixels(pm, srcX, srcY);
}
GrBackendObject SkSurface::getTextureHandle(BackendHandleAccess access) {