| Index: src/ports/SkImageDecoder_CG.cpp
|
| diff --git a/src/ports/SkImageDecoder_CG.cpp b/src/ports/SkImageDecoder_CG.cpp
|
| index 7734ea527b3610573b1aa56ec3f5396f41ff8f52..c9f259a842b3f07e7233c4c1697b0305677ee703 100644
|
| --- a/src/ports/SkImageDecoder_CG.cpp
|
| +++ b/src/ports/SkImageDecoder_CG.cpp
|
| @@ -28,7 +28,7 @@ static void malloc_release_proc(void* info, const void* data, size_t size) {
|
| sk_free(info);
|
| }
|
|
|
| -static CGDataProviderRef SkStreamToDataProvider(SkStream* stream) {
|
| +static CGDataProviderRef SkStreamToDataProvider(SkStreamRewindable* stream) {
|
| // TODO: use callbacks, so we don't have to load all the data into RAM
|
| size_t len = stream->getLength();
|
| void* data = sk_malloc_throw(len);
|
| @@ -37,7 +37,7 @@ static CGDataProviderRef SkStreamToDataProvider(SkStream* stream) {
|
| return CGDataProviderCreateWithData(data, data, len, malloc_release_proc);
|
| }
|
|
|
| -static CGImageSourceRef SkStreamToCGImageSource(SkStream* stream) {
|
| +static CGImageSourceRef SkStreamToCGImageSource(SkStreamRewindable* stream) {
|
| CGDataProviderRef data = SkStreamToDataProvider(stream);
|
| CGImageSourceRef imageSrc = CGImageSourceCreateWithDataProvider(data, 0);
|
| CGDataProviderRelease(data);
|
| @@ -46,7 +46,7 @@ static CGImageSourceRef SkStreamToCGImageSource(SkStream* stream) {
|
|
|
| class SkImageDecoder_CG : public SkImageDecoder {
|
| protected:
|
| - virtual bool onDecode(SkStream* stream, SkBitmap* bm, Mode);
|
| + virtual bool onDecode(SkStreamRewindable* stream, SkBitmap* bm, Mode);
|
| };
|
|
|
| // Returns an unpremultiplied version of color. It will have the same ordering and size as an
|
| @@ -62,7 +62,7 @@ static SkPMColor unpremultiply_pmcolor(SkPMColor color) {
|
|
|
| #define BITMAP_INFO (kCGBitmapByteOrder32Big | kCGImageAlphaPremultipliedLast)
|
|
|
| -bool SkImageDecoder_CG::onDecode(SkStream* stream, SkBitmap* bm, Mode mode) {
|
| +bool SkImageDecoder_CG::onDecode(SkStreamRewindable* stream, SkBitmap* bm, Mode mode) {
|
| CGImageSourceRef imageSrc = SkStreamToCGImageSource(stream);
|
|
|
| if (NULL == imageSrc) {
|
| @@ -125,9 +125,9 @@ bool SkImageDecoder_CG::onDecode(SkStream* stream, SkBitmap* bm, Mode mode) {
|
|
|
| ///////////////////////////////////////////////////////////////////////////////
|
|
|
| -extern SkImageDecoder* image_decoder_from_stream(SkStream*);
|
| +extern SkImageDecoder* image_decoder_from_stream(SkStreamRewindable*);
|
|
|
| -SkImageDecoder* SkImageDecoder::Factory(SkStream* stream) {
|
| +SkImageDecoder* SkImageDecoder::Factory(SkStreamRewindable* stream) {
|
| SkImageDecoder* decoder = image_decoder_from_stream(stream);
|
| if (NULL == decoder) {
|
| // If no image decoder specific to the stream exists, use SkImageDecoder_CG.
|
| @@ -139,7 +139,7 @@ SkImageDecoder* SkImageDecoder::Factory(SkStream* stream) {
|
|
|
| /////////////////////////////////////////////////////////////////////////
|
|
|
| -SkMovie* SkMovie::DecodeStream(SkStream* stream) {
|
| +SkMovie* SkMovie::DecodeStream(SkStreamRewindable* stream) {
|
| return NULL;
|
| }
|
|
|
| @@ -286,7 +286,7 @@ static SkImageDecoder::Format UTType_to_Format(const CFStringRef uttype) {
|
| return SkImageDecoder::kUnknown_Format;
|
| }
|
|
|
| -static SkImageDecoder::Format get_format_cg(SkStream *stream) {
|
| +static SkImageDecoder::Format get_format_cg(SkStreamRewindable* stream) {
|
| CGImageSourceRef imageSrc = SkStreamToCGImageSource(stream);
|
|
|
| if (NULL == imageSrc) {
|
| @@ -301,4 +301,4 @@ static SkImageDecoder::Format get_format_cg(SkStream *stream) {
|
| return UTType_to_Format(name);
|
| }
|
|
|
| -static SkTRegistry<SkImageDecoder::Format, SkStream*> gFormatReg(get_format_cg);
|
| +static SkTRegistry<SkImageDecoder::Format, SkStreamRewindable*> gFormatReg(get_format_cg);
|
|
|