Home | History | Annotate | Download | only in oned
      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 _BC_ONEDREADER_H_
      8 #define _BC_ONEDREADER_H_
      9 class CBC_Reader;
     10 class CBC_BinaryBitmap;
     11 class CBC_CommonBitArray;
     12 class CBC_OneDReader;
     13 class CBC_OneDReader : public CBC_Reader {
     14  public:
     15   CBC_OneDReader();
     16   virtual ~CBC_OneDReader();
     17   virtual CFX_ByteString Decode(CBC_BinaryBitmap* image, int32_t& e);
     18   virtual CFX_ByteString Decode(CBC_BinaryBitmap* image,
     19                                 int32_t hints,
     20                                 int32_t& e);
     21   virtual CFX_ByteString DecodeRow(int32_t rowNumber,
     22                                    CBC_CommonBitArray* row,
     23                                    int32_t hints,
     24                                    int32_t& e) {
     25     return "";
     26   }
     27 
     28  private:
     29   CFX_ByteString DeDecode(CBC_BinaryBitmap* image, int32_t hints, int32_t& e);
     30 
     31  protected:
     32   const static int32_t INTEGER_MATH_SHIFT;
     33   const static int32_t PATTERN_MATCH_RESULT_SCALE_FACTOR;
     34   void RecordPattern(CBC_CommonBitArray* row,
     35                      int32_t start,
     36                      CFX_Int32Array* counters,
     37                      int32_t& e);
     38   void RecordPatternInReverse(CBC_CommonBitArray* row,
     39                               int32_t start,
     40                               CFX_Int32Array* counters,
     41                               int32_t& e);
     42   int32_t PatternMatchVariance(CFX_Int32Array* counters,
     43                                const int32_t* pattern,
     44                                int32_t maxIndividualVariance);
     45 };
     46 #endif
     47