Index: src/ports/SkImageDecoder_CG.cpp |
diff --git a/src/ports/SkImageDecoder_CG.cpp b/src/ports/SkImageDecoder_CG.cpp |
index eb2b46a080f72455100d6b16162e78cff8c22004..5dd0f8722c7b04196d2d16091f19445bc3fda009 100644 |
--- a/src/ports/SkImageDecoder_CG.cpp |
+++ b/src/ports/SkImageDecoder_CG.cpp |
@@ -4,12 +4,9 @@ |
* Use of this source code is governed by a BSD-style license that can be |
* found in the LICENSE file. |
*/ |
- |
+#include "SkImageDecoder_CG.h" |
#include "SkCGUtils.h" |
#include "SkColorPriv.h" |
-#include "SkImageDecoder.h" |
-#include "SkImageEncoder.h" |
-#include "SkMovie.h" |
#include "SkStream.h" |
#include "SkStreamPriv.h" |
#include "SkTemplates.h" |
@@ -204,25 +201,6 @@ SkImageDecoder::Result SkImageDecoder_CG::onDecode(SkStream* stream, SkBitmap* b |
/////////////////////////////////////////////////////////////////////////////// |
-extern SkImageDecoder* image_decoder_from_stream(SkStreamRewindable*); |
- |
-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. |
- return SkNEW(SkImageDecoder_CG); |
- } else { |
- return decoder; |
- } |
-} |
- |
-///////////////////////////////////////////////////////////////////////// |
- |
-SkMovie* SkMovie::DecodeStream(SkStreamRewindable* stream) { |
- return NULL; |
-} |
- |
-///////////////////////////////////////////////////////////////////////// |
static size_t consumer_put(void* info, const void* buffer, size_t count) { |
SkWStream* stream = reinterpret_cast<SkWStream*>(info); |
@@ -320,14 +298,14 @@ bool SkImageEncoder_CG::onEncode(SkWStream* stream, const SkBitmap& bm, |
return CGImageDestinationFinalize(dst); |
} |
-/////////////////////////////////////////////////////////////////////////////// |
- |
-static SkImageEncoder* sk_imageencoder_cg_factory(SkImageEncoder::Type t) { |
+SkImageEncoder* SkCreateImageEncoder_CG(SkImageEncoder::Type t) { |
switch (t) { |
+#ifndef SK_BUILD_FOR_IOS |
case SkImageEncoder::kICO_Type: |
case SkImageEncoder::kBMP_Type: |
case SkImageEncoder::kGIF_Type: |
case SkImageEncoder::kJPEG_Type: |
+#endif |
case SkImageEncoder::kPNG_Type: |
break; |
default: |
@@ -336,19 +314,6 @@ static SkImageEncoder* sk_imageencoder_cg_factory(SkImageEncoder::Type t) { |
return SkNEW_ARGS(SkImageEncoder_CG, (t)); |
} |
-static SkImageEncoder_EncodeReg gEReg(sk_imageencoder_cg_factory); |
- |
-#ifdef SK_BUILD_FOR_IOS |
-class SkPNGImageEncoder_IOS : public SkImageEncoder_CG { |
-public: |
- SkPNGImageEncoder_IOS() |
- : SkImageEncoder_CG(kPNG_Type) { |
- } |
-}; |
- |
-DEFINE_ENCODER_CREATOR(PNGImageEncoder_IOS); |
-#endif |
- |
struct FormatConversion { |
CFStringRef fUTType; |
SkImageDecoder::Format fFormat; |
@@ -374,7 +339,7 @@ static SkImageDecoder::Format UTType_to_Format(const CFStringRef uttype) { |
return SkImageDecoder::kUnknown_Format; |
} |
-static SkImageDecoder::Format get_format_cg(SkStreamRewindable* stream) { |
+SkImageDecoder::Format SkDetectFormatImageDecoder_CG(SkStreamRewindable* stream) { |
CGImageSourceRef imageSrc = SkStreamToCGImageSource(stream); |
if (NULL == imageSrc) { |
@@ -389,4 +354,7 @@ static SkImageDecoder::Format get_format_cg(SkStreamRewindable* stream) { |
return UTType_to_Format(name); |
} |
-static SkImageDecoder_FormatReg gFormatReg(get_format_cg); |
+SkImageDecoder* SkCreateImageDecoder_CG(SkImageDecoder::Format format) { |
+ SkASSERT(SkImageDecoder::kUnknown_Format != format); |
+ return SkNEW(SkImageDecoder_CG); |
+} |