Revert "SkImageEncoder::* going away"
authorHal Canary <halcanary@google.com>
Wed, 7 Dec 2016 16:37:43 +0000 (16:37 +0000)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Wed, 7 Dec 2016 16:50:32 +0000 (16:50 +0000)
This reverts commit d7e16661bb36924b2c8f717c527b876dabb595f3.
Reason for revert: breaking g3
NOTRY=true
Change-Id: I56d53adca64a94b4f66dd0539634804a96e92ddf
Reviewed-on: https://skia-review.googlesource.com/5672
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Herb Derby <herb@google.com>
gn/android_framework_defines.gni
include/core/SkImage.h
include/core/SkImageEncoder.h
include/images/SkForceLinking.h [new file with mode: 0644]
public.bzl

index 90fea2fb25fd39dead2c02a6cce6b1c91444961c..a80e38d09ea0cc023298995f248deeceefd88550 100644 (file)
@@ -14,5 +14,6 @@ android_framework_defines = [
   "SK_IGNORE_GPU_DITHER",
   "SK_SUPPORT_LEGACY_CANVAS_IS_REFCNT",
   "SK_SUPPORT_LEGACY_CLIP_REGIONOPS",
+  "SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS",
   "SK_SUPPORT_LEGACY_SHADER_ISABITMAP",
 ]
index 8c73eebb15fcdceb0edf08ede54ee65c5742dd9f..625d0a0b63dca7826c62983240831cf4e037901b 100644 (file)
@@ -276,6 +276,11 @@ public:
      *  even if the image returns a data from refEncoded(). That data will be ignored.
      */
     SkData* encode(SkEncodedImageFormat, int quality) const;
+#ifdef SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS
+    SkData* encode(SkImageEncoder::Type t, int quality) const {
+        return this->encode((SkEncodedImageFormat)t, quality);
+    }
+#endif
 
     /**
      *  Encode the image and return the result as a caller-managed SkData.  This will
index e4f746ab96504a89593968ff94888a910daef089..17d06035314a1371a31613d4f1c625f56adc827b 100644 (file)
@@ -39,4 +39,36 @@ inline bool SkEncodeImage(SkWStream* dst, const SkBitmap& src, SkEncodedImageFor
     return src.peekPixels(&pixmap) && SkEncodeImage(dst, pixmap, f, q);
 }
 
+//TODO(halcanary):  remove this code once all changes land.
+#ifdef SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS
+class SkImageEncoder {
+public:
+    enum Type {
+#ifdef GOOGLE3
+        kUnknown_Type = (int)SkEncodedImageFormat::kUnknown,
+#endif
+        kBMP_Type     = (int)SkEncodedImageFormat::kBMP,
+        kGIF_Type     = (int)SkEncodedImageFormat::kGIF,
+        kICO_Type     = (int)SkEncodedImageFormat::kICO,
+        kJPEG_Type    = (int)SkEncodedImageFormat::kJPEG,
+        kPNG_Type     = (int)SkEncodedImageFormat::kPNG,
+        kWBMP_Type    = (int)SkEncodedImageFormat::kWBMP,
+        kWEBP_Type    = (int)SkEncodedImageFormat::kWEBP,
+        kKTX_Type     = (int)SkEncodedImageFormat::kKTX,
+    };
+    static SkData* EncodeData(const SkBitmap& src, Type t, int quality) {
+        SkDynamicMemoryWStream buf;
+        return SkEncodeImage(&buf, src, (SkEncodedImageFormat)t, quality)
+            ? buf.detachAsData().release() : nullptr;
+    }
+    static bool EncodeFile(const char path[], const SkBitmap& src, Type t, int quality) {
+        SkFILEWStream file(path);
+        return SkEncodeImage(&file, src, (SkEncodedImageFormat)t, quality);
+    }
+    static bool EncodeStream(SkWStream* dst, const SkBitmap& bm, Type t, int quality) {
+        return SkEncodeImage(dst, bm, (SkEncodedImageFormat)t, quality);
+    }
+};
+#endif  // SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS
+
 #endif  // SkImageEncoder_DEFINED
diff --git a/include/images/SkForceLinking.h b/include/images/SkForceLinking.h
new file mode 100644 (file)
index 0000000..ca52eeb
--- /dev/null
@@ -0,0 +1,7 @@
+/*
+ * Copyright 2013 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+// TODO(halcanary): delete this file.
index acec1ffea768057a3f5434076f0b99d8dc0dea1c..d12adf5583499f504e0c289b294feb3a800b1d63 100644 (file)
@@ -591,6 +591,7 @@ DEFINES_ALL = [
     "GOOGLE3",
     # Staging flags for API changes
     "SK_SUPPORT_LEGACY_CLIP_REGIONOPS",
+    "SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS",
     # Temporarily Disable analytic AA for Google3
     "SK_NO_ANALYTIC_AA",
 ]