Home | History | Annotate | Download | only in qrcode
      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_QRGRIDSAMPLER_H_
      8 #define _BC_QRGRIDSAMPLER_H_
      9 class CBC_CommonBitMatrix;
     10 class CBC_CommonPerspectiveTransform;
     11 class CBC_CommonDefaultGridSampler;
     12 class CBC_QRGridSampler;
     13 class CBC_QRGridSampler {
     14  private:
     15   static CBC_QRGridSampler m_gridSampler;
     16 
     17  public:
     18   CBC_QRGridSampler();
     19   virtual ~CBC_QRGridSampler();
     20   virtual CBC_CommonBitMatrix* SampleGrid(CBC_CommonBitMatrix* image,
     21                                           int32_t dimensionX,
     22                                           int32_t dimensionY,
     23                                           FX_FLOAT p1ToX,
     24                                           FX_FLOAT p1ToY,
     25                                           FX_FLOAT p2ToX,
     26                                           FX_FLOAT p2ToY,
     27                                           FX_FLOAT p3ToX,
     28                                           FX_FLOAT p3ToY,
     29                                           FX_FLOAT p4ToX,
     30                                           FX_FLOAT p4ToY,
     31                                           FX_FLOAT p1FromX,
     32                                           FX_FLOAT p1FromY,
     33                                           FX_FLOAT p2FromX,
     34                                           FX_FLOAT p2FromY,
     35                                           FX_FLOAT p3FromX,
     36                                           FX_FLOAT p3FromY,
     37                                           FX_FLOAT p4FromX,
     38                                           FX_FLOAT p4FromY,
     39                                           int32_t& e);
     40 
     41   static CBC_QRGridSampler& GetInstance();
     42   static void CheckAndNudgePoints(CBC_CommonBitMatrix* image,
     43                                   CFX_FloatArray* points,
     44                                   int32_t& e);
     45 };
     46 #endif
     47