diff options
author | Hal Canary <halcanary@google.com> | 2016-11-22 09:03:03 -0700 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-11-22 18:25:55 +0000 |
commit | 248ff02331d7f73ee4b6c5a7eabeae1080c16cd4 (patch) | |
tree | a55e2402ef1494e2fb719bc046f1f97c8e75da53 /src/gpu/GrSurface.cpp | |
parent | 46e66a2bf51546a7c3b08625769899b9ead56ec6 (diff) |
SkImageEncoder: simplify API
- Hide SkImageEncoder class in private header.
- SkImageEncoder::Type becomes SkEncodedImageFormat
- SkEncodedFormat becomes SkEncodedImageFormat
- SkImageEncoder static functions replaced with
single function EncodeImage()
- utility wrappers for EncodeImage() are in
sk_tool_utils.h
TODO: remove link-time registration mechanism.
TODO: clean up clients use of API and flip the flag.
TODO: implement EncodeImage() in chromeium/skia/ext
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4909
Change-Id: Ib48b31fdc05cf23cda7f56ebfd67c841c149ce70
Reviewed-on: https://skia-review.googlesource.com/4909
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Diffstat (limited to 'src/gpu/GrSurface.cpp')
-rw-r--r-- | src/gpu/GrSurface.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gpu/GrSurface.cpp b/src/gpu/GrSurface.cpp index f67bfd4eb5..3bb666e427 100644 --- a/src/gpu/GrSurface.cpp +++ b/src/gpu/GrSurface.cpp @@ -165,6 +165,11 @@ bool GrSurface::readPixels(int left, int top, int width, int height, rowBytes, pixelOpsFlags); } +static bool encode_image_to_file(const char* path, const SkBitmap& src) { + SkFILEWStream file(path); + return file.isValid() && SkEncodeImage(&file, src, SkEncodedImageFormat::kPNG, 100); +} + // TODO: This should probably be a non-member helper function. It might only be needed in // debug or developer builds. bool GrSurface::savePixels(const char* filename) { @@ -183,7 +188,7 @@ bool GrSurface::savePixels(const char* filename) { // remove any previous version of this file remove(filename); - if (!SkImageEncoder::EncodeFile(filename, bm, SkImageEncoder::kPNG_Type, 100)) { + if (!encode_image_to_file(filename, bm)) { SkDebugf("------ failed to encode %s\n", filename); remove(filename); // remove any partial file return false; |