OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef _JBIG2_SEGMENT_H_ | 7 #ifndef _JBIG2_SEGMENT_H_ |
8 #define _JBIG2_SEGMENT_H_ | 8 #define _JBIG2_SEGMENT_H_ |
9 #include "JBig2_Define.h" | 9 #include "JBig2_Define.h" |
10 #include "JBig2_SymbolDict.h" | 10 #include "JBig2_SymbolDict.h" |
(...skipping 10 matching lines...) Expand all Loading... |
21 JBIG2_SEGMENT_PAUSED, | 21 JBIG2_SEGMENT_PAUSED, |
22 JBIG2_SEGMENT_ERROR | 22 JBIG2_SEGMENT_ERROR |
23 } JBig2_SegmentState; | 23 } JBig2_SegmentState; |
24 typedef enum { | 24 typedef enum { |
25 JBIG2_VOID_POINTER = 0, | 25 JBIG2_VOID_POINTER = 0, |
26 JBIG2_IMAGE_POINTER, | 26 JBIG2_IMAGE_POINTER, |
27 JBIG2_SYMBOL_DICT_POINTER, | 27 JBIG2_SYMBOL_DICT_POINTER, |
28 JBIG2_PATTERN_DICT_POINTER, | 28 JBIG2_PATTERN_DICT_POINTER, |
29 JBIG2_HUFFMAN_TABLE_POINTER | 29 JBIG2_HUFFMAN_TABLE_POINTER |
30 } JBig2_ResultType; | 30 } JBig2_ResultType; |
31 class CJBig2_Segment : public CJBig2_Object { | 31 class CJBig2_Segment { |
32 public: | 32 public: |
33 CJBig2_Segment(); | 33 CJBig2_Segment(); |
34 | 34 |
35 ~CJBig2_Segment(); | 35 ~CJBig2_Segment(); |
36 | 36 |
37 void clean(); | |
38 | |
39 public: | |
40 FX_DWORD m_dwNumber; | 37 FX_DWORD m_dwNumber; |
41 union { | 38 union { |
42 struct { | 39 struct { |
43 uint8_t type : 6; | 40 uint8_t type : 6; |
44 uint8_t page_association_size : 1; | 41 uint8_t page_association_size : 1; |
45 uint8_t deferred_non_retain : 1; | 42 uint8_t deferred_non_retain : 1; |
46 } s; | 43 } s; |
47 uint8_t c; | 44 uint8_t c; |
48 } m_cFlags; | 45 } m_cFlags; |
49 int32_t m_nReferred_to_segment_count; | 46 int32_t m_nReferred_to_segment_count; |
50 FX_DWORD* m_pReferred_to_segment_numbers; | 47 FX_DWORD* m_pReferred_to_segment_numbers; |
51 FX_DWORD m_dwPage_association; | 48 FX_DWORD m_dwPage_association; |
52 FX_DWORD m_dwData_length; | 49 FX_DWORD m_dwData_length; |
53 | 50 |
54 FX_DWORD m_dwHeader_Length; | 51 FX_DWORD m_dwHeader_Length; |
55 uint8_t* m_pData; | 52 uint8_t* m_pData; |
56 JBig2_SegmentState m_State; | 53 JBig2_SegmentState m_State; |
57 JBig2_ResultType m_nResultType; | 54 JBig2_ResultType m_nResultType; |
58 union { | 55 union { |
59 CJBig2_SymbolDict* sd; | 56 CJBig2_SymbolDict* sd; |
60 CJBig2_PatternDict* pd; | 57 CJBig2_PatternDict* pd; |
61 CJBig2_Image* im; | 58 CJBig2_Image* im; |
62 CJBig2_HuffmanTable* ht; | 59 CJBig2_HuffmanTable* ht; |
63 void* vd; | 60 void* vd; |
64 } m_Result; | 61 } m_Result; |
65 }; | 62 }; |
66 #endif | 63 #endif |
OLD | NEW |