// Copyright 2015 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 #ifndef CORE_FXCODEC_JBIG2_JBIG2_HTRDPROC_H_ #define CORE_FXCODEC_JBIG2_JBIG2_HTRDPROC_H_ #include #include #include #include "core/fxcodec/jbig2/JBig2_Image.h" #include "core/fxcrt/span.h" #include "core/fxcrt/unowned_ptr.h" class CJBig2_ArithDecoder; class CJBig2_BitStream; class JBig2ArithCtx; class PauseIndicatorIface; class CJBig2_HTRDProc { public: CJBig2_HTRDProc(); ~CJBig2_HTRDProc(); std::unique_ptr DecodeArith( CJBig2_ArithDecoder* pArithDecoder, pdfium::span gbContexts, PauseIndicatorIface* pPause); std::unique_ptr DecodeMMR(CJBig2_BitStream* pStream); public: uint32_t HBW; uint32_t HBH; bool HMMR; uint8_t HTEMPLATE; uint32_t HNUMPATS; UnownedPtr>> HPATS; bool HDEFPIXEL; JBig2ComposeOp HCOMBOP; bool HENABLESKIP; uint32_t HGW; uint32_t HGH; int32_t HGX; int32_t HGY; uint16_t HRX; uint16_t HRY; uint8_t HPW; uint8_t HPH; private: std::unique_ptr DecodeImage( const std::vector>& GSPLANES); }; #endif // CORE_FXCODEC_JBIG2_JBIG2_HTRDPROC_H_