Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(721)

Unified Diff: src/ports/SkImageDecoder_CG.cpp

Issue 23477009: Change SkImageDecoders to take an SkStreamRewindable. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Remove accidental whitespace change Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698