| OLD | NEW |
| (Empty) |
| 1 // Copyright 2014 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_SRC_FXCODEC_JBIG2_JBIG2_SEGMENT_H_ | |
| 8 #define CORE_SRC_FXCODEC_JBIG2_JBIG2_SEGMENT_H_ | |
| 9 | |
| 10 #include "core/src/fxcodec/jbig2/JBig2_Define.h" | |
| 11 #include "core/src/fxcodec/jbig2/JBig2_HuffmanTable.h" | |
| 12 #include "core/src/fxcodec/jbig2/JBig2_PatternDict.h" | |
| 13 #include "core/src/fxcodec/jbig2/JBig2_SymbolDict.h" | |
| 14 | |
| 15 #define JBIG2_GET_INT32(buf) \ | |
| 16 (((buf)[0] << 24) | ((buf)[1] << 16) | ((buf)[2] << 8) | (buf)[3]) | |
| 17 #define JBIG2_GET_INT16(buf) (((buf)[0] << 8) | (buf)[1]) | |
| 18 typedef enum { | |
| 19 JBIG2_SEGMENT_HEADER_UNPARSED, | |
| 20 JBIG2_SEGMENT_DATA_UNPARSED, | |
| 21 JBIG2_SEGMENT_PARSE_COMPLETE, | |
| 22 JBIG2_SEGMENT_PAUSED, | |
| 23 JBIG2_SEGMENT_ERROR | |
| 24 } JBig2_SegmentState; | |
| 25 typedef enum { | |
| 26 JBIG2_VOID_POINTER = 0, | |
| 27 JBIG2_IMAGE_POINTER, | |
| 28 JBIG2_SYMBOL_DICT_POINTER, | |
| 29 JBIG2_PATTERN_DICT_POINTER, | |
| 30 JBIG2_HUFFMAN_TABLE_POINTER | |
| 31 } JBig2_ResultType; | |
| 32 class CJBig2_Segment { | |
| 33 public: | |
| 34 CJBig2_Segment(); | |
| 35 | |
| 36 ~CJBig2_Segment(); | |
| 37 | |
| 38 FX_DWORD m_dwNumber; | |
| 39 union { | |
| 40 struct { | |
| 41 uint8_t type : 6; | |
| 42 uint8_t page_association_size : 1; | |
| 43 uint8_t deferred_non_retain : 1; | |
| 44 } s; | |
| 45 uint8_t c; | |
| 46 } m_cFlags; | |
| 47 int32_t m_nReferred_to_segment_count; | |
| 48 FX_DWORD* m_pReferred_to_segment_numbers; | |
| 49 FX_DWORD m_dwPage_association; | |
| 50 FX_DWORD m_dwData_length; | |
| 51 | |
| 52 FX_DWORD m_dwHeader_Length; | |
| 53 FX_DWORD m_dwObjNum; | |
| 54 FX_DWORD m_dwDataOffset; | |
| 55 JBig2_SegmentState m_State; | |
| 56 JBig2_ResultType m_nResultType; | |
| 57 union { | |
| 58 CJBig2_SymbolDict* sd; | |
| 59 CJBig2_PatternDict* pd; | |
| 60 CJBig2_Image* im; | |
| 61 CJBig2_HuffmanTable* ht; | |
| 62 void* vd; | |
| 63 } m_Result; | |
| 64 }; | |
| 65 | |
| 66 #endif // CORE_SRC_FXCODEC_JBIG2_JBIG2_SEGMENT_H_ | |
| OLD | NEW |