SkAndroidCodecAdapter.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  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 SkAndroidCodecAdapter_DEFINED
  8. #define SkAndroidCodecAdapter_DEFINED
  9. #include "include/codec/SkAndroidCodec.h"
  10. /**
  11. * This class wraps SkCodec to implement the functionality of SkAndroidCodec.
  12. * The underlying SkCodec implements sampled decodes. SkCodec's that do not
  13. * implement that are wrapped with SkSampledCodec instead.
  14. */
  15. class SkAndroidCodecAdapter : public SkAndroidCodec {
  16. public:
  17. explicit SkAndroidCodecAdapter(SkCodec*, ExifOrientationBehavior);
  18. ~SkAndroidCodecAdapter() override {}
  19. protected:
  20. SkISize onGetSampledDimensions(int sampleSize) const override;
  21. bool onGetSupportedSubset(SkIRect* desiredSubset) const override;
  22. SkCodec::Result onGetAndroidPixels(const SkImageInfo& info, void* pixels, size_t rowBytes,
  23. const AndroidOptions& options) override;
  24. private:
  25. typedef SkAndroidCodec INHERITED;
  26. };
  27. #endif // SkAndroidCodecAdapter_DEFINED