| Index: src/images/SkDecodingImageGenerator.cpp
|
| diff --git a/src/images/SkDecodingImageGenerator.cpp b/src/images/SkDecodingImageGenerator.cpp
|
| index 2a07308447f0df2dbdd30261f913c76f2c16d522..6b2f73b2e4bc7921be5e1e2f323892ef4f40c420 100644
|
| --- a/src/images/SkDecodingImageGenerator.cpp
|
| +++ b/src/images/SkDecodingImageGenerator.cpp
|
| @@ -38,9 +38,14 @@ public:
|
|
|
| protected:
|
| SkData* onRefEncodedData() override;
|
| +#ifdef SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS
|
| Result onGetPixels(const SkImageInfo& info,
|
| void* pixels, size_t rowBytes, const Options&,
|
| SkPMColor ctable[], int* ctableCount) override;
|
| +#else
|
| + bool onGetPixels(const SkImageInfo& info, void* pixels, size_t rowBytes,
|
| + SkPMColor ctable[], int* ctableCount) override;
|
| +#endif
|
| bool onGetYUV8Planes(SkISize sizes[3], void* planes[3], size_t rowBytes[3],
|
| SkYUVColorSpace* colorSpace) override;
|
|
|
| @@ -144,23 +149,36 @@ SkData* DecodingImageGenerator::onRefEncodedData() {
|
| return SkSafeRef(fData);
|
| }
|
|
|
| +#ifdef SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS
|
| SkImageGenerator::Result DecodingImageGenerator::onGetPixels(const SkImageInfo& info,
|
| void* pixels, size_t rowBytes, const Options& options, SkPMColor ctableEntries[],
|
| int* ctableCount) {
|
| +#else
|
| +bool DecodingImageGenerator::onGetPixels(const SkImageInfo& info, void* pixels, size_t rowBytes,
|
| + SkPMColor ctableEntries[], int* ctableCount) {
|
| +#endif
|
| if (fInfo != info) {
|
| // The caller has specified a different info. This is an
|
| // error for this kind of SkImageGenerator. Use the Options
|
| // to change the settings.
|
| +#ifdef SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS
|
| if (info.dimensions() != fInfo.dimensions()) {
|
| return kInvalidScale;
|
| }
|
| return kInvalidConversion;
|
| +#else
|
| + return false;
|
| +#endif
|
| }
|
|
|
| SkAssertResult(fStream->rewind());
|
| SkAutoTDelete<SkImageDecoder> decoder(SkImageDecoder::Factory(fStream));
|
| if (NULL == decoder.get()) {
|
| +#ifdef SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS
|
| return kInvalidInput;
|
| +#else
|
| + return false;
|
| +#endif
|
| }
|
| decoder->setDitherImage(fDitherImage);
|
| decoder->setSampleSize(fSampleSize);
|
| @@ -173,7 +191,11 @@ SkImageGenerator::Result DecodingImageGenerator::onGetPixels(const SkImageInfo&
|
| SkImageDecoder::kDecodePixels_Mode);
|
| decoder->setAllocator(NULL);
|
| if (SkImageDecoder::kFailure == decodeResult) {
|
| +#ifdef SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS
|
| return kInvalidInput;
|
| +#else
|
| + return false;
|
| +#endif
|
| }
|
| if (allocator.isReady()) { // Did not use pixels!
|
| SkBitmap bm;
|
| @@ -182,7 +204,11 @@ SkImageGenerator::Result DecodingImageGenerator::onGetPixels(const SkImageInfo&
|
| if (!copySuccess || allocator.isReady()) {
|
| SkDEBUGFAIL("bitmap.copyTo(requestedConfig) failed.");
|
| // Earlier we checked canCopyto(); we expect consistency.
|
| +#ifdef SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS
|
| return kInvalidConversion;
|
| +#else
|
| + return false;
|
| +#endif
|
| }
|
| SkASSERT(check_alpha(info.alphaType(), bm.alphaType()));
|
| } else {
|
| @@ -192,20 +218,32 @@ SkImageGenerator::Result DecodingImageGenerator::onGetPixels(const SkImageInfo&
|
| if (kIndex_8_SkColorType == info.colorType()) {
|
| if (kIndex_8_SkColorType != bitmap.colorType()) {
|
| // they asked for Index8, but we didn't receive that from decoder
|
| +#ifdef SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS
|
| return kInvalidConversion;
|
| +#else
|
| + return false;
|
| +#endif
|
| }
|
| SkColorTable* ctable = bitmap.getColorTable();
|
| if (NULL == ctable) {
|
| +#ifdef SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS
|
| return kInvalidConversion;
|
| +#else
|
| + return false;
|
| +#endif
|
| }
|
| const int count = ctable->count();
|
| memcpy(ctableEntries, ctable->readColors(), count * sizeof(SkPMColor));
|
| *ctableCount = count;
|
| }
|
| +#ifdef SK_LEGACY_IMAGE_GENERATOR_ENUMS_AND_OPTIONS
|
| if (SkImageDecoder::kPartialSuccess == decodeResult) {
|
| return kIncompleteInput;
|
| }
|
| return kSuccess;
|
| +#else
|
| + return true;
|
| +#endif
|
| }
|
|
|
| bool DecodingImageGenerator::onGetYUV8Planes(SkISize sizes[3], void* planes[3],
|
|
|