1/*
2 * Copyright 2015 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7#ifndef SkWebpAdapterCodec_DEFINED
8#define SkWebpAdapterCodec_DEFINED
9
10#include "SkAndroidCodec.h"
11#include "SkWebpCodec.h"
12
13/**
14 *  This class implements the functionality of SkAndroidCodec.  It uses an
15 *  SkWebpCodec.
16 */
17class SkWebpAdapterCodec : public SkAndroidCodec {
18public:
19
20    explicit SkWebpAdapterCodec(SkWebpCodec*);
21
22    virtual ~SkWebpAdapterCodec() {}
23
24protected:
25
26    SkISize onGetSampledDimensions(int sampleSize) const override;
27
28    bool onGetSupportedSubset(SkIRect* desiredSubset) const override;
29
30    SkCodec::Result onGetAndroidPixels(const SkImageInfo& info, void* pixels, size_t rowBytes,
31            const AndroidOptions& options) override;
32
33private:
34
35    typedef SkAndroidCodec INHERITED;
36};
37#endif // SkWebpAdapterCodec_DEFINED
38