Index: xfa/src/fxbarcode/qrcode/BC_QRDetector.cpp |
diff --git a/xfa/src/fxbarcode/qrcode/BC_QRDetector.cpp b/xfa/src/fxbarcode/qrcode/BC_QRDetector.cpp |
index 01d90832b9bdc45a0b33fefc3ccc9607f7070bf0..0b75da7beca9ec6b355507e518126ca0778f7ab1 100644 |
--- a/xfa/src/fxbarcode/qrcode/BC_QRDetector.cpp |
+++ b/xfa/src/fxbarcode/qrcode/BC_QRDetector.cpp |
@@ -37,7 +37,7 @@ CBC_QRDetector::CBC_QRDetector(CBC_CommonBitMatrix *image): m_image(image) |
CBC_QRDetector::~CBC_QRDetector() |
{ |
} |
-CBC_QRDetectorResult *CBC_QRDetector::Detect(FX_INT32 hints, FX_INT32 &e) |
+CBC_QRDetectorResult *CBC_QRDetector::Detect(int32_t hints, int32_t &e) |
{ |
CBC_QRFinderPatternFinder finder(m_image); |
CBC_QRFinderPatternInfo* qpi = finder.Find(hints, e); |
@@ -47,7 +47,7 @@ CBC_QRDetectorResult *CBC_QRDetector::Detect(FX_INT32 hints, FX_INT32 &e) |
BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
return qdr; |
} |
-CBC_QRDetectorResult* CBC_QRDetector::ProcessFinderPatternInfo(CBC_QRFinderPatternInfo *info, FX_INT32 &e) |
+CBC_QRDetectorResult* CBC_QRDetector::ProcessFinderPatternInfo(CBC_QRFinderPatternInfo *info, int32_t &e) |
{ |
CBC_AutoPtr<CBC_QRFinderPattern> topLeft(info->GetTopLeft()); |
CBC_AutoPtr<CBC_QRFinderPattern> topRight(info->GetTopRight()); |
@@ -57,21 +57,21 @@ CBC_QRDetectorResult* CBC_QRDetector::ProcessFinderPatternInfo(CBC_QRFinderPatte |
e = BCExceptionRead; |
BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
} |
- FX_INT32 dimension = ComputeDimension(topLeft.get(), topRight.get(), bottomLeft.get(), moduleSize, e); |
+ int32_t dimension = ComputeDimension(topLeft.get(), topRight.get(), bottomLeft.get(), moduleSize, e); |
BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
CBC_QRCoderVersion *provisionalVersion = CBC_QRCoderVersion::GetProvisionalVersionForDimension(dimension, e); |
BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
- FX_INT32 modulesBetweenFPCenters = provisionalVersion->GetDimensionForVersion() - 7; |
+ int32_t modulesBetweenFPCenters = provisionalVersion->GetDimensionForVersion() - 7; |
CBC_QRAlignmentPattern * alignmentPattern = NULL; |
if(provisionalVersion->GetAlignmentPatternCenters()->GetSize() > 0) { |
FX_FLOAT bottomRightX = topRight->GetX() - topLeft->GetX() + bottomLeft->GetX(); |
FX_FLOAT bottomRightY = topRight->GetY() - topLeft->GetY() + bottomLeft->GetY(); |
FX_FLOAT correctionToTopLeft = 1.0f - 3.0f / (FX_FLOAT) modulesBetweenFPCenters; |
FX_FLOAT xtemp = (topLeft->GetX() + correctionToTopLeft * (bottomRightX - topLeft->GetX())); |
- FX_INT32 estAlignmentX = (FX_INT32)xtemp ; |
+ int32_t estAlignmentX = (int32_t)xtemp ; |
FX_FLOAT ytemp = (topLeft->GetY() + correctionToTopLeft * (bottomRightY - topLeft->GetY())); |
- FX_INT32 estAlignmentY = (FX_INT32)ytemp; |
- for(FX_INT32 i = 4; i <= 16; i <<= 1) { |
+ int32_t estAlignmentY = (int32_t)ytemp; |
+ for(int32_t i = 4; i <= 16; i <<= 1) { |
CBC_QRAlignmentPattern *temp = FindAlignmentInRegion(moduleSize, estAlignmentX, estAlignmentY, (FX_FLOAT) i, e); |
alignmentPattern = temp; |
break; |
@@ -94,7 +94,7 @@ CBC_QRDetectorResult* CBC_QRDetector::ProcessFinderPatternInfo(CBC_QRFinderPatte |
} |
CBC_CommonBitMatrix *CBC_QRDetector::SampleGrid(CBC_CommonBitMatrix *image, CBC_ResultPoint *topLeft, CBC_ResultPoint *topRight, |
CBC_ResultPoint *bottomLeft, CBC_ResultPoint* alignmentPattern, |
- FX_INT32 dimension, FX_INT32 &e) |
+ int32_t dimension, int32_t &e) |
{ |
FX_FLOAT dimMinusThree = (FX_FLOAT) dimension - 3.5f; |
FX_FLOAT bottomRightX; |
@@ -132,12 +132,12 @@ CBC_CommonBitMatrix *CBC_QRDetector::SampleGrid(CBC_CommonBitMatrix *image, CBC_ |
BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
return cbm; |
} |
-FX_INT32 CBC_QRDetector::ComputeDimension(CBC_ResultPoint *topLeft, CBC_ResultPoint *topRight, |
- CBC_ResultPoint *bottomLeft, FX_FLOAT moduleSize, FX_INT32 &e) |
+int32_t CBC_QRDetector::ComputeDimension(CBC_ResultPoint *topLeft, CBC_ResultPoint *topRight, |
+ CBC_ResultPoint *bottomLeft, FX_FLOAT moduleSize, int32_t &e) |
{ |
- FX_INT32 tltrCentersDimension = Round(CBC_QRFinderPatternFinder::Distance(topLeft, topRight) / moduleSize); |
- FX_INT32 tlblCentersDimension = Round(CBC_QRFinderPatternFinder::Distance(topLeft, bottomLeft) / moduleSize); |
- FX_INT32 dimension = ((tltrCentersDimension + tlblCentersDimension) >> 1) + 7; |
+ int32_t tltrCentersDimension = Round(CBC_QRFinderPatternFinder::Distance(topLeft, topRight) / moduleSize); |
+ int32_t tlblCentersDimension = Round(CBC_QRFinderPatternFinder::Distance(topLeft, bottomLeft) / moduleSize); |
+ int32_t dimension = ((tltrCentersDimension + tlblCentersDimension) >> 1) + 7; |
switch(dimension & 0x03) { |
case 0: |
dimension++; |
@@ -158,14 +158,14 @@ FX_FLOAT CBC_QRDetector::CalculateModuleSize(CBC_ResultPoint *topLeft, CBC_Resul |
} |
FX_FLOAT CBC_QRDetector::CalculateModuleSizeOneWay(CBC_ResultPoint *pattern, CBC_ResultPoint *otherPattern) |
{ |
- FX_FLOAT moduleSizeEst1 = SizeOfBlackWhiteBlackRunBothWays((FX_INT32) pattern->GetX(), |
- (FX_INT32) pattern->GetY(), |
- (FX_INT32) otherPattern->GetX(), |
- (FX_INT32) otherPattern->GetY()); |
- FX_FLOAT moduleSizeEst2 = SizeOfBlackWhiteBlackRunBothWays((FX_INT32) otherPattern->GetX(), |
- (FX_INT32) otherPattern->GetY(), |
- (FX_INT32) pattern->GetX(), |
- (FX_INT32) pattern->GetY()); |
+ FX_FLOAT moduleSizeEst1 = SizeOfBlackWhiteBlackRunBothWays((int32_t) pattern->GetX(), |
+ (int32_t) pattern->GetY(), |
+ (int32_t) otherPattern->GetX(), |
+ (int32_t) otherPattern->GetY()); |
+ FX_FLOAT moduleSizeEst2 = SizeOfBlackWhiteBlackRunBothWays((int32_t) otherPattern->GetX(), |
+ (int32_t) otherPattern->GetY(), |
+ (int32_t) pattern->GetX(), |
+ (int32_t) pattern->GetY()); |
if (FXSYS_isnan(moduleSizeEst1)) { |
return moduleSizeEst2; |
} |
@@ -174,20 +174,20 @@ FX_FLOAT CBC_QRDetector::CalculateModuleSizeOneWay(CBC_ResultPoint *pattern, CBC |
} |
return (moduleSizeEst1 + moduleSizeEst2) / 14.0f; |
} |
-FX_INT32 CBC_QRDetector::Round(FX_FLOAT d) |
+int32_t CBC_QRDetector::Round(FX_FLOAT d) |
{ |
- return (FX_INT32)(d + 0.5f); |
+ return (int32_t)(d + 0.5f); |
} |
-FX_FLOAT CBC_QRDetector::SizeOfBlackWhiteBlackRunBothWays(FX_INT32 fromX, FX_INT32 fromY, FX_INT32 toX, FX_INT32 toY) |
+FX_FLOAT CBC_QRDetector::SizeOfBlackWhiteBlackRunBothWays(int32_t fromX, int32_t fromY, int32_t toX, int32_t toY) |
{ |
FX_FLOAT result = SizeOfBlackWhiteBlackRun(fromX, fromY, toX, toY); |
- FX_INT32 otherToX = fromX - (toX - fromX); |
+ int32_t otherToX = fromX - (toX - fromX); |
if (otherToX < 0) { |
otherToX = -1; |
} else if (otherToX >= m_image->GetWidth()) { |
otherToX = m_image->GetWidth(); |
} |
- FX_INT32 otherToY = fromY - (toY - fromY); |
+ int32_t otherToY = fromY - (toY - fromY); |
if (otherToY < 0) { |
otherToY = -1; |
} else if (otherToY >= m_image->GetHeight()) { |
@@ -196,26 +196,26 @@ FX_FLOAT CBC_QRDetector::SizeOfBlackWhiteBlackRunBothWays(FX_INT32 fromX, FX_INT |
result += SizeOfBlackWhiteBlackRun(fromX, fromY, otherToX, otherToY); |
return result - 1.0f; |
} |
-FX_FLOAT CBC_QRDetector::SizeOfBlackWhiteBlackRun(FX_INT32 fromX, FX_INT32 fromY, FX_INT32 toX, FX_INT32 toY) |
+FX_FLOAT CBC_QRDetector::SizeOfBlackWhiteBlackRun(int32_t fromX, int32_t fromY, int32_t toX, int32_t toY) |
{ |
FX_BOOL steep = FXSYS_abs(toY - fromY) > FXSYS_abs(toX - fromX); |
if (steep) { |
- FX_INT32 temp = fromX; |
+ int32_t temp = fromX; |
fromX = fromY; |
fromY = temp; |
temp = toX; |
toX = toY; |
toY = temp; |
} |
- FX_INT32 dx = FXSYS_abs(toX - fromX); |
- FX_INT32 dy = FXSYS_abs(toY - fromY); |
- FX_INT32 error = -dx >> 1; |
- FX_INT32 ystep = fromY < toY ? 1 : -1; |
- FX_INT32 xstep = fromX < toX ? 1 : -1; |
- FX_INT32 state = 0; |
- for (FX_INT32 x = fromX, y = fromY; x != toX; x += xstep) { |
- FX_INT32 realX = steep ? y : x; |
- FX_INT32 realY = steep ? x : y; |
+ int32_t dx = FXSYS_abs(toX - fromX); |
+ int32_t dy = FXSYS_abs(toY - fromY); |
+ int32_t error = -dx >> 1; |
+ int32_t ystep = fromY < toY ? 1 : -1; |
+ int32_t xstep = fromX < toX ? 1 : -1; |
+ int32_t state = 0; |
+ for (int32_t x = fromX, y = fromY; x != toX; x += xstep) { |
+ int32_t realX = steep ? y : x; |
+ int32_t realY = steep ? x : y; |
if (state == 1) { |
if (m_image->Get(realX, realY)) { |
state++; |
@@ -226,8 +226,8 @@ FX_FLOAT CBC_QRDetector::SizeOfBlackWhiteBlackRun(FX_INT32 fromX, FX_INT32 fromY |
} |
} |
if (state == 3) { |
- FX_INT32 diffX = x - fromX; |
- FX_INT32 diffY = y - fromY; |
+ int32_t diffX = x - fromX; |
+ int32_t diffY = y - fromY; |
return (FX_FLOAT) sqrt((double) (diffX * diffX + diffY * diffY)); |
} |
error += dy; |
@@ -236,22 +236,22 @@ FX_FLOAT CBC_QRDetector::SizeOfBlackWhiteBlackRun(FX_INT32 fromX, FX_INT32 fromY |
error -= dx; |
} |
} |
- FX_INT32 diffX = toX - fromX; |
- FX_INT32 diffY = toY - fromY; |
+ int32_t diffX = toX - fromX; |
+ int32_t diffY = toY - fromY; |
return (FX_FLOAT) sqrt((double) (diffX * diffX + diffY * diffY)); |
} |
-CBC_QRAlignmentPattern *CBC_QRDetector::FindAlignmentInRegion(FX_FLOAT overallEstModuleSize, FX_INT32 estAlignmentX, |
- FX_INT32 estAlignmentY, FX_FLOAT allowanceFactor, FX_INT32 &e) |
+CBC_QRAlignmentPattern *CBC_QRDetector::FindAlignmentInRegion(FX_FLOAT overallEstModuleSize, int32_t estAlignmentX, |
+ int32_t estAlignmentY, FX_FLOAT allowanceFactor, int32_t &e) |
{ |
- FX_INT32 allowance = (FX_INT32) (allowanceFactor * overallEstModuleSize); |
- FX_INT32 alignmentAreaLeftX = FX_MAX(0, estAlignmentX - allowance); |
- FX_INT32 alignmentAreaRightX = FX_MIN(m_image->GetWidth() - 1, estAlignmentX + allowance); |
+ int32_t allowance = (int32_t) (allowanceFactor * overallEstModuleSize); |
+ int32_t alignmentAreaLeftX = FX_MAX(0, estAlignmentX - allowance); |
+ int32_t alignmentAreaRightX = FX_MIN(m_image->GetWidth() - 1, estAlignmentX + allowance); |
if (alignmentAreaRightX - alignmentAreaLeftX < overallEstModuleSize * 3) { |
e = BCExceptionRead; |
BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
} |
- FX_INT32 alignmentAreaTopY = FX_MAX(0, estAlignmentY - allowance); |
- FX_INT32 alignmentAreaBottomY = FX_MIN(m_image->GetHeight() - 1, estAlignmentY + allowance); |
+ int32_t alignmentAreaTopY = FX_MAX(0, estAlignmentY - allowance); |
+ int32_t alignmentAreaBottomY = FX_MIN(m_image->GetHeight() - 1, estAlignmentY + allowance); |
CBC_QRAlignmentPatternFinder alignmentFinder(m_image, |
alignmentAreaLeftX, |
alignmentAreaTopY, |