aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/codec/SkWebpAdapterCodec.h
diff options
context:
space:
mode:
authorGravatar msarett <msarett@google.com>2015-10-21 10:27:10 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-10-21 10:27:10 -0700
commit3d9d7a7213748761d46ade183e11aa7cb55313c1 (patch)
tree80478ddd5999b26b6671287ccd5803791454a4c9 /src/codec/SkWebpAdapterCodec.h
parentc7378af961cabef5b77c4dae40d8d3b9c1471a9e (diff)
Create an SkAndroidCodec API separate from SkCodec
We will implement this API using SkCodecs. SkAndroidCodecs will be used to implement the BitmapRegionDecoder Java API (and possibly BitmapFactory). BUG=skia: Review URL: https://codereview.chromium.org/1406223002
Diffstat (limited to 'src/codec/SkWebpAdapterCodec.h')
-rw-r--r--src/codec/SkWebpAdapterCodec.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/codec/SkWebpAdapterCodec.h b/src/codec/SkWebpAdapterCodec.h
new file mode 100644
index 0000000000..b48f39bb60
--- /dev/null
+++ b/src/codec/SkWebpAdapterCodec.h
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2015 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#ifndef SkWebpAdapterCodec_DEFINED
+#define SkWebpAdapterCodec_DEFINED
+
+#include "SkAndroidCodec.h"
+#include "SkWebpCodec.h"
+
+/**
+ * This class implements the functionality of SkAndroidCodec. It uses an
+ * SkWebpCodec.
+ */
+class SkWebpAdapterCodec : public SkAndroidCodec {
+public:
+
+ explicit SkWebpAdapterCodec(SkWebpCodec*);
+
+ virtual ~SkWebpAdapterCodec() {}
+
+protected:
+
+ SkEncodedFormat onGetEncodedFormat() const override { return kWEBP_SkEncodedFormat; };
+
+ SkISize onGetSampledDimensions(int sampleSize) const override;
+
+ bool onGetSupportedSubset(SkIRect* desiredSubset) const override;
+
+ SkCodec::Result onGetAndroidPixels(const SkImageInfo& info, void* pixels, size_t rowBytes,
+ AndroidOptions& options) override;
+
+private:
+
+ SkAutoTDelete<SkWebpCodec> fCodec;
+
+ typedef SkAndroidCodec INHERITED;
+};
+#endif // SkWebpAdapterCodec_DEFINED