| Index: src/images/SkImageDecoder_FactoryRegistrar.cpp
|
| diff --git a/src/images/SkImageDecoder_Factory.cpp b/src/images/SkImageDecoder_FactoryRegistrar.cpp
|
| similarity index 61%
|
| rename from src/images/SkImageDecoder_Factory.cpp
|
| rename to src/images/SkImageDecoder_FactoryRegistrar.cpp
|
| index c276a3d4ebe76048eac9b3798afa1360fce464b9..6cc417a46f599f7c2e5264b99c5780f0e45bb416 100644
|
| --- a/src/images/SkImageDecoder_Factory.cpp
|
| +++ b/src/images/SkImageDecoder_FactoryRegistrar.cpp
|
| @@ -1,24 +1,27 @@
|
| -
|
| /*
|
| - * Copyright 2006 The Android Open Source Project
|
| + * Copyright 2013 The Android Open Source Project
|
| *
|
| * Use of this source code is governed by a BSD-style license that can be
|
| * found in the LICENSE file.
|
| */
|
|
|
| -
|
| #include "SkImageDecoder.h"
|
| -#include "SkMovie.h"
|
| #include "SkStream.h"
|
| #include "SkTRegistry.h"
|
|
|
| +// This file is used for registration of SkImageDecoders. It also holds a function
|
| +// for checking all the the registered SkImageDecoders for one that matches an
|
| +// input SkStream.
|
| +
|
| typedef SkTRegistry<SkImageDecoder*, SkStream*> DecodeReg;
|
|
|
| // N.B. You can't use "DecodeReg::gHead here" due to complex C++
|
| // corner cases.
|
| template DecodeReg* SkTRegistry<SkImageDecoder*, SkStream*>::gHead;
|
|
|
| -SkImageDecoder* SkImageDecoder::Factory(SkStream* stream) {
|
| +SkImageDecoder* image_decoder_from_stream(SkStream*);
|
| +
|
| +SkImageDecoder* image_decoder_from_stream(SkStream* stream) {
|
| SkImageDecoder* codec = NULL;
|
| const DecodeReg* curr = DecodeReg::Head();
|
| while (curr) {
|
| @@ -42,22 +45,3 @@ SkImageDecoder* SkImageDecoder::Factory(SkStream* stream) {
|
| }
|
| return NULL;
|
| }
|
| -
|
| -/////////////////////////////////////////////////////////////////////////
|
| -
|
| -typedef SkTRegistry<SkMovie*, SkStream*> MovieReg;
|
| -
|
| -SkMovie* SkMovie::DecodeStream(SkStream* stream) {
|
| - const MovieReg* curr = MovieReg::Head();
|
| - while (curr) {
|
| - SkMovie* movie = curr->factory()(stream);
|
| - if (movie) {
|
| - return movie;
|
| - }
|
| - // we must rewind only if we got NULL, since we gave the stream to the
|
| - // movie, who may have already started reading from it
|
| - stream->rewind();
|
| - curr = curr->next();
|
| - }
|
| - return NULL;
|
| -}
|
|
|