8#ifndef SkAndroidCodec_DEFINED
9#define SkAndroidCodec_DEFINED
57 static std::unique_ptr<SkAndroidCodec> MakeFromCodec(std::unique_ptr<SkCodec>);
69 static std::unique_ptr<SkAndroidCodec> MakeFromStream(std::unique_ptr<SkStream>,
91 return fCodec->getEncodedInfo().profile();
119 SkAlphaType computeOutputAlphaType(
bool requestedUnpremul);
141 int computeSampleSize(
SkISize* size)
const;
159 SkISize getSampledDimensions(
int sampleSize)
const;
181 bool getSupportedSubset(
SkIRect* desiredSubset)
const;
196 SkISize getSampledSubsetDimensions(
int sampleSize,
const SkIRect& subset)
const;
261 return this->getAndroidPixels(
info, pixels, rowBytes);
281 std::unique_ptr<SkStream>* outGainmapImageStream);
295 std::unique_ptr<SkCodec> fCodec;
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
virtual SkCodec::Result onGetAndroidPixels(const SkImageInfo &info, void *pixels, size_t rowBytes, const AndroidOptions &options)=0
SkEncodedImageFormat getEncodedFormat() const
const SkImageInfo & getInfo() const
SkCodec::Result getPixels(const SkImageInfo &info, void *pixels, size_t rowBytes)
virtual SkISize onGetSampledDimensions(int sampleSize) const =0
const skcms_ICCProfile * getICCProfile() const
virtual bool onGetSupportedSubset(SkIRect *desiredSubset) const =0