Home | History | Annotate | Download | only in jbig2
      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 #include "JBig2_Segment.h"
      8 
      9 #include "core/include/fxcrt/fx_memory.h"
     10 
     11 CJBig2_Segment::CJBig2_Segment() {
     12   m_dwNumber = 0;
     13   m_cFlags.c = 0;
     14   m_nReferred_to_segment_count = 0;
     15   m_pReferred_to_segment_numbers = NULL;
     16   m_dwPage_association = 0;
     17   m_dwData_length = 0;
     18   m_dwHeader_Length = 0;
     19   m_dwObjNum = 0;
     20   m_dwDataOffset = 0;
     21   m_State = JBIG2_SEGMENT_HEADER_UNPARSED;
     22   m_nResultType = JBIG2_VOID_POINTER;
     23   m_Result.vd = NULL;
     24 }
     25 CJBig2_Segment::~CJBig2_Segment() {
     26   FX_Free(m_pReferred_to_segment_numbers);
     27 
     28   switch (m_nResultType) {
     29     case JBIG2_IMAGE_POINTER:
     30       delete m_Result.im;
     31       break;
     32     case JBIG2_SYMBOL_DICT_POINTER:
     33       delete m_Result.sd;
     34       break;
     35     case JBIG2_PATTERN_DICT_POINTER:
     36       delete m_Result.pd;
     37       break;
     38     case JBIG2_HUFFMAN_TABLE_POINTER:
     39       delete m_Result.ht;
     40       break;
     41     default:
     42       FX_Free(m_Result.vd);
     43   }
     44 }
     45