\r
package com.google.zxing.qrcode.detector;\r
\r
+import com.google.zxing.DecodeHintType;\r
import com.google.zxing.MonochromeBitmapSource;\r
import com.google.zxing.ReaderException;\r
import com.google.zxing.ResultPoint;\r
import com.google.zxing.common.Collections;\r
import com.google.zxing.common.Comparator;\r
\r
+import java.util.Hashtable;\r
import java.util.Vector;\r
\r
/**\r
this.possibleCenters = new Vector();\r
}\r
\r
- FinderPatternInfo find() throws ReaderException {\r
+ FinderPatternInfo find(Hashtable hints) throws ReaderException {\r
+ boolean tryHarder = hints != null && hints.containsKey(DecodeHintType.TRY_HARDER);\r
int maxI = image.getHeight();\r
int maxJ = image.getWidth();\r
// We are looking for black/white/black/white/black modules in\r
boolean done = false;\r
// We can afford to examine every few lines until we've started finding\r
// the patterns\r
- int iSkip = BIG_SKIP;\r
+ int iSkip = tryHarder ? 1 : BIG_SKIP;\r
for (int i = iSkip - 1; i < maxI && !done; i += iSkip) {\r
// Get a row of black/white values\r
BitArray blackRow = image.getBlackRow(i, null, 0, maxJ);\r