Stop inlining CJBig2_BitStream.
[pdfium.git] / core / src / fxcodec / jbig2 / JBig2_Segment.h
index fe44bc9..b80a5d2 100644 (file)
@@ -1,68 +1,64 @@
 // Copyright 2014 PDFium Authors. All rights reserved.
 // 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 _JBIG2_SEGMENT_H_
 #define _JBIG2_SEGMENT_H_
+
 #include "JBig2_Define.h"
-#include "JBig2_SymbolDict.h"
-#include "JBig2_PatternDict.h"
-#include "JBig2_Module.h"
 #include "JBig2_HuffmanTable.h"
-#define JBIG2_GET_INT32(buf) (((buf)[0]<<24) | ((buf)[1]<<16) | ((buf)[2]<<8) | (buf)[3])
-#define JBIG2_GET_INT16(buf) (((buf)[0]<<8) | (buf)[1])
+#include "JBig2_PatternDict.h"
+#include "JBig2_SymbolDict.h"
+
+#define JBIG2_GET_INT32(buf) \
+  (((buf)[0] << 24) | ((buf)[1] << 16) | ((buf)[2] << 8) | (buf)[3])
+#define JBIG2_GET_INT16(buf) (((buf)[0] << 8) | (buf)[1])
 typedef enum {
-    JBIG2_SEGMENT_HEADER_UNPARSED,
-    JBIG2_SEGMENT_DATA_UNPARSED,
-    JBIG2_SEGMENT_PARSE_COMPLETE,
-    JBIG2_SEGMENT_PAUSED,
-    JBIG2_SEGMENT_ERROR
+  JBIG2_SEGMENT_HEADER_UNPARSED,
+  JBIG2_SEGMENT_DATA_UNPARSED,
+  JBIG2_SEGMENT_PARSE_COMPLETE,
+  JBIG2_SEGMENT_PAUSED,
+  JBIG2_SEGMENT_ERROR
 } JBig2_SegmentState;
 typedef enum {
-    JBIG2_VOID_POINTER = 0,
-    JBIG2_IMAGE_POINTER,
-    JBIG2_SYMBOL_DICT_POINTER,
-    JBIG2_PATTERN_DICT_POINTER,
-    JBIG2_HUFFMAN_TABLE_POINTER
+  JBIG2_VOID_POINTER = 0,
+  JBIG2_IMAGE_POINTER,
+  JBIG2_SYMBOL_DICT_POINTER,
+  JBIG2_PATTERN_DICT_POINTER,
+  JBIG2_HUFFMAN_TABLE_POINTER
 } JBig2_ResultType;
-class CJBig2_Segment : public CJBig2_Object
-{
-public:
-
-    CJBig2_Segment();
-
-    ~CJBig2_Segment();
+class CJBig2_Segment {
+ public:
+  CJBig2_Segment();
 
-    void init();
+  ~CJBig2_Segment();
 
-    void clean();
-public:
-    FX_DWORD m_dwNumber;
-    union {
-        struct {
-            uint8_t type                                       :       6;
-            uint8_t page_association_size      :       1;
-            uint8_t deferred_non_retain                :       1;
-        } s;
-        uint8_t c;
-    } m_cFlags;
-    int32_t m_nReferred_to_segment_count;
-    FX_DWORD * m_pReferred_to_segment_numbers;
-    FX_DWORD m_dwPage_association;
-    FX_DWORD m_dwData_length;
+  FX_DWORD m_dwNumber;
+  union {
+    struct {
+      uint8_t type : 6;
+      uint8_t page_association_size : 1;
+      uint8_t deferred_non_retain : 1;
+    } s;
+    uint8_t c;
+  } m_cFlags;
+  int32_t m_nReferred_to_segment_count;
+  FX_DWORD* m_pReferred_to_segment_numbers;
+  FX_DWORD m_dwPage_association;
+  FX_DWORD m_dwData_length;
 
-    FX_DWORD m_dwHeader_Length;
-    uint8_t  *m_pData;
-    JBig2_SegmentState m_State;
-    JBig2_ResultType m_nResultType;
-    union {
-        CJBig2_SymbolDict      *sd;
-        CJBig2_PatternDict     *pd;
-        CJBig2_Image           *im;
-        CJBig2_HuffmanTable    *ht;
-        FX_LPVOID                       vd;
-    } m_Result;
+  FX_DWORD m_dwHeader_Length;
+  const uint8_t* m_pData;
+  JBig2_SegmentState m_State;
+  JBig2_ResultType m_nResultType;
+  union {
+    CJBig2_SymbolDict* sd;
+    CJBig2_PatternDict* pd;
+    CJBig2_Image* im;
+    CJBig2_HuffmanTable* ht;
+    void* vd;
+  } m_Result;
 };
 #endif