bd6343b1d6
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
24 lines
585 B
C++
24 lines
585 B
C++
|
|
/*
|
|
* Copyright 2009 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 "SkImageEncoder.h"
|
|
|
|
template SkImageEncoder_EncodeReg* SkImageEncoder_EncodeReg::gHead;
|
|
|
|
SkImageEncoder* SkImageEncoder::Create(Type t) {
|
|
SkImageEncoder* codec = NULL;
|
|
const SkImageEncoder_EncodeReg* curr = SkImageEncoder_EncodeReg::Head();
|
|
while (curr) {
|
|
if ((codec = curr->factory()(t)) != NULL) {
|
|
return codec;
|
|
}
|
|
curr = curr->next();
|
|
}
|
|
return NULL;
|
|
}
|