diff options
author | reed <reed@google.com> | 2015-07-09 11:47:36 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-09 11:47:36 -0700 |
commit | 1c84634454aa78fb26f23875b86a243aa4596c59 (patch) | |
tree | ced1b33e730a196a7ad6fb9721543af9b62f3565 /src/core/SkImageGenerator.cpp | |
parent | 3547505278f5f9fe9602ec767c20d461f7a5dab6 (diff) |
add runtime option to provide data->imagegenerator factory
BUG=skia:
Review URL: https://codereview.chromium.org/1229933003
Diffstat (limited to 'src/core/SkImageGenerator.cpp')
-rw-r--r-- | src/core/SkImageGenerator.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/core/SkImageGenerator.cpp b/src/core/SkImageGenerator.cpp index b4a3fc21c8..7da4d40b0c 100644 --- a/src/core/SkImageGenerator.cpp +++ b/src/core/SkImageGenerator.cpp @@ -130,3 +130,29 @@ bool SkImageGenerator::onGetPixels(const SkImageInfo& info, void* dst, size_t rb return false; } #endif + +/////////////////////////////////////////////////////////////////////////////////////////////////// + +#include "SkGraphics.h" + +static SkGraphics::ImageGeneratorFromEncodedFactory gImageGeneratorFromEncodedFactory; + +SkGraphics::ImageGeneratorFromEncodedFactory SkGraphics::GetImageGeneratorFromEncodedFactory() { + return gImageGeneratorFromEncodedFactory; +} + +void SkGraphics::SetImageGeneratorFromEncodedFactory(ImageGeneratorFromEncodedFactory factory) { + gImageGeneratorFromEncodedFactory = factory; +} + +SkImageGenerator* SkImageGenerator::NewFromEncoded(SkData* data) { + if (NULL == data) { + return NULL; + } + if (gImageGeneratorFromEncodedFactory) { + if (SkImageGenerator* generator = gImageGeneratorFromEncodedFactory(data)) { + return generator; + } + } + return SkImageGenerator::NewFromEncodedImpl(data); +} |