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_ 9class CBC_CommonBitMatrix; 10class CBC_CommonPerspectiveTransform; 11class CBC_CommonDefaultGridSampler; 12class CBC_QRGridSampler; 13class 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