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