pull from android: use registry to build up list of image codecs
git-svn-id: http://skia.googlecode.com/svn/trunk@76 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/images/SkImageDecoder_libbmp.cpp b/src/images/SkImageDecoder_libbmp.cpp
index 32a7a6d..a4dcbf6 100644
--- a/src/images/SkImageDecoder_libbmp.cpp
+++ b/src/images/SkImageDecoder_libbmp.cpp
@@ -20,6 +20,7 @@
#include "SkStream.h"
#include "SkColorPriv.h"
#include "SkTDArray.h"
+#include "SkTRegistry.h"
class SkBMPImageDecoder : public SkImageDecoder {
public:
@@ -34,8 +35,7 @@
SkBitmap::Config pref, Mode mode);
};
-SkImageDecoder* SkImageDecoder_BMP_Factory(SkStream*);
-SkImageDecoder* SkImageDecoder_BMP_Factory(SkStream* stream) {
+static SkImageDecoder* Factory(SkStream* stream) {
static const char kBmpMagic[] = { 'B', 'M' };
size_t len = stream->getLength();
@@ -49,6 +49,8 @@
return NULL;
}
+static SkTRegistry<SkImageDecoder*, SkStream*> gReg(Factory);
+
///////////////////////////////////////////////////////////////////////////////
class SkBmpDecoderCallback : public image_codec::BmpDecoderCallback {