blob: 8d4cc6541be035d5edf4d1b63e43b37005188a4e [file] [log] [blame]
epoger@google.comec3ed6a2011-07-28 14:26:00 +00001
reed@android.comb08eb2b2009-01-06 20:16:26 +00002/*
epoger@google.comec3ed6a2011-07-28 14:26:00 +00003 * Copyright 2009 The Android Open Source Project
reed@android.comb08eb2b2009-01-06 20:16:26 +00004 *
epoger@google.comec3ed6a2011-07-28 14:26:00 +00005 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
reed@android.comb08eb2b2009-01-06 20:16:26 +00007 */
8
9#include "SkImageEncoder.h"
10
mtklein@google.combd6343b2013-09-04 17:20:18 +000011template SkImageEncoder_EncodeReg* SkImageEncoder_EncodeReg::gHead;
reed@android.com3c2b7e82009-01-27 01:43:36 +000012
reed@android.comb08eb2b2009-01-06 20:16:26 +000013SkImageEncoder* SkImageEncoder::Create(Type t) {
halcanary96fcdcc2015-08-27 07:41:13 -070014 SkImageEncoder* codec = nullptr;
mtklein@google.combd6343b2013-09-04 17:20:18 +000015 const SkImageEncoder_EncodeReg* curr = SkImageEncoder_EncodeReg::Head();
reed@android.com00bf85a2009-01-22 13:04:56 +000016 while (curr) {
halcanary96fcdcc2015-08-27 07:41:13 -070017 if ((codec = curr->factory()(t)) != nullptr) {
reed@android.com00bf85a2009-01-22 13:04:56 +000018 return codec;
19 }
20 curr = curr->next();
reed@android.comb08eb2b2009-01-06 20:16:26 +000021 }
halcanary96fcdcc2015-08-27 07:41:13 -070022 return nullptr;
reed@android.comb08eb2b2009-01-06 20:16:26 +000023}