Revert "SkImageEncoder::* going away"
Breaks 5 compiles on google3.
This reverts commit 3489b2b727bfb725d45208049e82309280b79ad8.
Reason for revert: <INSERT REASONING HERE>
Original change's description:
> SkImageEncoder::* going away
>
> Approval from https://review.skia.org/5006
> TBR=reed@google.com
>
> Change-Id: Ib5fb1b624594598e2316f9247069ecd207d7a974
> Reviewed-on: https://skia-review.googlesource.com/5751
> Reviewed-by: Hal Canary <halcanary@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>
>
TBR=halcanary@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I0c0b863056c90435374769e85fb08c1b2f5113a2
Reviewed-on: https://skia-review.googlesource.com/5760
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
diff --git a/gn/android_framework_defines.gni b/gn/android_framework_defines.gni
index 3447efe..7ffd36d 100644
--- a/gn/android_framework_defines.gni
+++ b/gn/android_framework_defines.gni
@@ -12,6 +12,7 @@
"SK_SUPPORT_LEGACY_GRADIENT_DITHERING",
"SK_SUPPORT_LEGACY_DRAWFILTER",
"SK_IGNORE_GPU_DITHER",
+ "SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS",
"SK_SUPPORT_LEGACY_SHADER_ISABITMAP",
"SK_SUPPORT_LEGACY_EMBOSSMASKFILTER",
]
diff --git a/include/core/SkImage.h b/include/core/SkImage.h
index 8c73eeb..625d0a0 100644
--- a/include/core/SkImage.h
+++ b/include/core/SkImage.h
@@ -276,6 +276,11 @@
* 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
diff --git a/include/core/SkImageEncoder.h b/include/core/SkImageEncoder.h
index e4f746a..17d0603 100644
--- a/include/core/SkImageEncoder.h
+++ b/include/core/SkImageEncoder.h
@@ -39,4 +39,36 @@
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
index 0000000..ca52eeb
--- /dev/null
+++ b/include/images/SkForceLinking.h
@@ -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.
diff --git a/public.bzl b/public.bzl
index 8bebd19..e17352b 100644
--- a/public.bzl
+++ b/public.bzl
@@ -590,6 +590,7 @@
# Turn on a few Google3-specific build fixes.
"GOOGLE3",
# Staging flags for API changes
+ "SK_SUPPORT_LEGACY_IMAGE_ENCODER_CLASS",
# Temporarily Disable analytic AA for Google3
"SK_NO_ANALYTIC_AA",
]