| Index: src/core/SkImageGenerator.cpp
|
| diff --git a/src/core/SkImageGenerator.cpp b/src/core/SkImageGenerator.cpp
|
| index 187b46047af7e403feb2577940d15f0ea83a286f..0ce2cc9ed40d6c2a9d0c17cc3a2f1528060f652b 100644
|
| --- a/src/core/SkImageGenerator.cpp
|
| +++ b/src/core/SkImageGenerator.cpp
|
| @@ -199,6 +199,26 @@ bool SkImageGenerator::tryGenerateBitmap(SkBitmap* bitmap, const SkImageInfo* in
|
| return true;
|
| }
|
|
|
| +bool SkImageGenerator::canDecodeAndScale(const SkColorType colorType, const SkScalar scale, SkISize *availableSize, SkISize *lowerSize) {
|
| + return this->onCanDecodeAndScale(colorType, scale, availableSize, lowerSize);
|
| +}
|
| +
|
| +bool SkImageGenerator::onCanDecodeAndScale(const SkColorType colorType, const SkScalar scale, SkISize *availableSize, SkISize *lowerSize) {
|
| + if (colorType != fInfo.colorType())
|
| + return false;
|
| + if (scale != SK_Scalar1)
|
| + return false;
|
| + if (availableSize) {
|
| + availableSize->fWidth = fInfo.width();
|
| + availableSize->fHeight = fInfo.height();
|
| + }
|
| + if (lowerSize) {
|
| + availableSize->fWidth = availableSize->fHeight = 0;
|
| + }
|
| + return true;
|
| +}
|
| +
|
| +
|
| #include "SkGraphics.h"
|
|
|
| static SkGraphics::ImageGeneratorFromEncodedFactory gFactory;
|
| @@ -217,8 +237,10 @@ SkImageGenerator* SkImageGenerator::NewFromEncoded(SkData* data) {
|
| }
|
| if (gFactory) {
|
| if (SkImageGenerator* generator = gFactory(data)) {
|
| + SkDebugf("minggle %s generator opaque %d size %d %d", __func__, generator->getInfo().isOpaque(), generator->getInfo().width(), generator->getInfo().height());
|
| return generator;
|
| }
|
| }
|
| + SkDebugf("minggle %s generator1", __func__);
|
| return SkImageGenerator::NewFromEncodedImpl(data);
|
| }
|
|
|