Home | History | Annotate | Download | only in codec
      1 // Copyright 2017 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 #ifndef CORE_FXCODEC_CODEC_ICODEC_TIFFMODULE_H_
      8 #define CORE_FXCODEC_CODEC_ICODEC_TIFFMODULE_H_
      9 
     10 #include "core/fxcrt/cfx_retain_ptr.h"
     11 #include "core/fxcrt/fx_system.h"
     12 
     13 class CCodec_TiffContext;
     14 class CFX_DIBAttribute;
     15 class CFX_DIBitmap;
     16 class IFX_SeekableReadStream;
     17 
     18 class ICodec_TiffModule {
     19  public:
     20   virtual ~ICodec_TiffModule() {}
     21 
     22   virtual CCodec_TiffContext* CreateDecoder(
     23       const CFX_RetainPtr<IFX_SeekableReadStream>& file_ptr) = 0;
     24   virtual bool LoadFrameInfo(CCodec_TiffContext* ctx,
     25                              int32_t frame,
     26                              int32_t* width,
     27                              int32_t* height,
     28                              int32_t* comps,
     29                              int32_t* bpc,
     30                              CFX_DIBAttribute* pAttribute) = 0;
     31   virtual bool Decode(CCodec_TiffContext* ctx,
     32                       class CFX_DIBitmap* pDIBitmap) = 0;
     33   virtual void DestroyDecoder(CCodec_TiffContext* ctx) = 0;
     34 };
     35 
     36 #endif  // CORE_FXCODEC_CODEC_ICODEC_TIFFMODULE_H_
     37