diff options
author | Mike Reed <reed@google.com> | 2017-07-21 11:01:18 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-07-21 15:27:23 +0000 |
commit | 353196f44f8c4f5fc3dc3783241faef264b80927 (patch) | |
tree | 2dd4d14e7bb5991dcfdbed98e2ecb4d54d4ddda5 /src/image/SkSurface.cpp | |
parent | 35a5e418b96053bbdebef2cceb33db995f960010 (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.cpp | 11 |
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) { |