aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/gpu/GrSurface.cpp
diff options
context:
space:
mode:
authorGravatar Hal Canary <halcanary@google.com>2016-11-22 09:03:03 -0700
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-11-22 18:25:55 +0000
commit248ff02331d7f73ee4b6c5a7eabeae1080c16cd4 (patch)
treea55e2402ef1494e2fb719bc046f1f97c8e75da53 /src/gpu/GrSurface.cpp
parent46e66a2bf51546a7c3b08625769899b9ead56ec6 (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.cpp7
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;