| // Copyright 2020 The PDFium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| |
| #include "core/fxcodec/gif/gif_progressive_decoder.h" |
| |
| #include "core/fxcodec/cfx_codec_memory.h" |
| #include "core/fxcodec/gif/gif_decoder.h" |
| #include "core/fxcrt/check.h" |
| |
| namespace fxcodec { |
| |
| namespace { |
| |
| GifProgressiveDecoder* g_gif_decoder = nullptr; |
| |
| } // namespace |
| |
| // static |
| void GifProgressiveDecoder::InitializeGlobals() { |
| CHECK(!g_gif_decoder); |
| g_gif_decoder = new GifProgressiveDecoder(); |
| } |
| |
| // static |
| void GifProgressiveDecoder::DestroyGlobals() { |
| delete g_gif_decoder; |
| g_gif_decoder = nullptr; |
| } |
| |
| // static |
| GifProgressiveDecoder* GifProgressiveDecoder::GetInstance() { |
| return g_gif_decoder; |
| } |
| |
| GifProgressiveDecoder::GifProgressiveDecoder() = default; |
| |
| GifProgressiveDecoder::~GifProgressiveDecoder() = default; |
| |
| FX_FILESIZE GifProgressiveDecoder::GetAvailInput(Context* context) const { |
| return GifDecoder::GetAvailInput(context); |
| } |
| |
| bool GifProgressiveDecoder::Input(Context* context, |
| RetainPtr<CFX_CodecMemory> codec_memory) { |
| return GifDecoder::Input(context, codec_memory); |
| } |
| |
| } // namespace fxcodec |