• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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