1// Copyright 2015 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_JBIG2_JBIG2_HTRDPROC_H_ 8#define CORE_FXCODEC_JBIG2_JBIG2_HTRDPROC_H_ 9 10#include <memory> 11#include <vector> 12 13#include "core/fxcodec/jbig2/JBig2_Image.h" 14#include "core/fxcrt/fx_system.h" 15 16class CJBig2_ArithDecoder; 17class CJBig2_BitStream; 18class IFX_PauseIndicator; 19struct JBig2ArithCtx; 20 21class CJBig2_HTRDProc { 22 public: 23 std::unique_ptr<CJBig2_Image> decode_Arith(CJBig2_ArithDecoder* pArithDecoder, 24 JBig2ArithCtx* gbContext, 25 IFX_PauseIndicator* pPause); 26 27 std::unique_ptr<CJBig2_Image> decode_MMR(CJBig2_BitStream* pStream); 28 29 public: 30 uint32_t HBW; 31 uint32_t HBH; 32 bool HMMR; 33 uint8_t HTEMPLATE; 34 uint32_t HNUMPATS; 35 const std::vector<std::unique_ptr<CJBig2_Image>>* HPATS; 36 bool HDEFPIXEL; 37 JBig2ComposeOp HCOMBOP; 38 bool HENABLESKIP; 39 uint32_t HGW; 40 uint32_t HGH; 41 int32_t HGX; 42 int32_t HGY; 43 uint16_t HRX; 44 uint16_t HRY; 45 uint8_t HPW; 46 uint8_t HPH; 47 48 private: 49 std::unique_ptr<CJBig2_Image> decode_image( 50 const std::vector<std::unique_ptr<CJBig2_Image>>& GSPLANES); 51}; 52 53#endif // CORE_FXCODEC_JBIG2_JBIG2_HTRDPROC_H_ 54