diff options
author | 2013-09-04 17:20:18 +0000 | |
---|---|---|
committer | 2013-09-04 17:20:18 +0000 | |
commit | bd6343b1d60d2a85e930f33f4b06b4502b3e8caa (patch) | |
tree | 4c8e362b21994e36c823e260f32b2f31ace9ffe9 /src/images/SkImageDecoder_libpng.cpp | |
parent | 339e79fbeabae18a8b9ea094293c7c25eaf9dd68 (diff) |
Rewrite SkTRegistry to take any trivially-copyable type.
Obviously these are all currently function pointers of type T(*)(P) for various
T and P. In bench refactoring, I'm trying to register a function pointer of
type T(*)(), which can't be done as is (passing P=void doesn't work). This
also lets us register things like primitives, which is conceivable useful.
BUG=
R=reed@google.com, scroggo@google.com
Review URL: https://codereview.chromium.org/23453031
git-svn-id: http://skia.googlecode.com/svn/trunk@11082 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/images/SkImageDecoder_libpng.cpp')
-rw-r--r-- | src/images/SkImageDecoder_libpng.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/images/SkImageDecoder_libpng.cpp b/src/images/SkImageDecoder_libpng.cpp index c188a2fabc..56c19fd98c 100644 --- a/src/images/SkImageDecoder_libpng.cpp +++ b/src/images/SkImageDecoder_libpng.cpp @@ -1174,8 +1174,6 @@ DEFINE_DECODER_CREATOR(PNGImageDecoder); DEFINE_ENCODER_CREATOR(PNGImageEncoder); /////////////////////////////////////////////////////////////////////////////// -#include "SkTRegistry.h" - static bool is_png(SkStream* stream) { char buf[PNG_BYTES_TO_CHECK]; if (stream->read(buf, PNG_BYTES_TO_CHECK) == PNG_BYTES_TO_CHECK && @@ -1203,6 +1201,6 @@ SkImageEncoder* sk_libpng_efactory(SkImageEncoder::Type t) { return (SkImageEncoder::kPNG_Type == t) ? SkNEW(SkPNGImageEncoder) : NULL; } -static SkTRegistry<SkImageEncoder*, SkImageEncoder::Type> gEReg(sk_libpng_efactory); -static SkTRegistry<SkImageDecoder::Format, SkStream*> gFormatReg(get_format_png); -static SkTRegistry<SkImageDecoder*, SkStream*> gDReg(sk_libpng_dfactory); +static SkImageDecoder_DecodeReg gDReg(sk_libpng_dfactory); +static SkImageDecoder_FormatReg gFormatReg(get_format_png); +static SkImageEncoder_EncodeReg gEReg(sk_libpng_efactory); |