Home | History | Annotate | Download | only in common
      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_GLOBALHISTOGRAMBINARIZER_H_
      8 #define _BC_GLOBALHISTOGRAMBINARIZER_H_
      9 class CBC_CommonBinarizer;
     10 class CBC_CommonBitArray;
     11 class CBC_CommonBitMatrix;
     12 class CBC_LuminanceSource;
     13 class CBC_GlobalHistogramBinarizer;
     14 class CBC_GlobalHistogramBinarizer : public CBC_Binarizer {
     15  public:
     16   CBC_GlobalHistogramBinarizer(CBC_LuminanceSource* source);
     17   virtual ~CBC_GlobalHistogramBinarizer();
     18 
     19   void InitArrays(int32_t luminanceSize);
     20   CBC_CommonBitMatrix* GetBlackMatrix(int32_t& e);
     21   CBC_CommonBitArray* GetBlackRow(int32_t y,
     22                                   CBC_CommonBitArray* row,
     23                                   int32_t& e);
     24   static int32_t EstimateBlackPoint(CFX_Int32Array& buckets, int32_t& e);
     25 
     26  private:
     27   CFX_ByteArray m_luminance;
     28   CFX_Int32Array m_buckets;
     29 };
     30 #endif
     31