*/\r
FinderPatternFinder(MonochromeBitmapSource image) {\r
this.image = image;\r
- this.possibleCenters = new Vector(5);\r
+ this.possibleCenters = new Vector();\r
}\r
\r
FinderPatternInfo find() throws ReaderException {\r
\r
if (size == 3) {\r
// Found just enough -- hope these are good!\r
- // toArray() is not available\r
- FinderPattern[] result = new FinderPattern[possibleCenters.size()];\r
- for (int i = 0; i < possibleCenters.size(); i++) {\r
- result[i] = (FinderPattern) possibleCenters.elementAt(i);\r
- }\r
- return result;\r
+ return new FinderPattern[] {\r
+ (FinderPattern) possibleCenters.elementAt(0),\r
+ (FinderPattern) possibleCenters.elementAt(1),\r
+ (FinderPattern) possibleCenters.elementAt(2) \r
+ };\r
}\r
\r
possibleCenters.setSize(size);\r
// We don't have java.util.Collections in J2ME\r
Collections.insertionSort(possibleCenters, new ClosestToAverageComparator(averageModuleSize));\r
\r
- FinderPattern[] result = new FinderPattern[3];\r
- for (int i = 0; i < 3; i++) {\r
- result[i] = (FinderPattern) possibleCenters.elementAt(i);\r
- }\r
- return result;\r
+ return new FinderPattern[] {\r
+ (FinderPattern) possibleCenters.elementAt(0),\r
+ (FinderPattern) possibleCenters.elementAt(1),\r
+ (FinderPattern) possibleCenters.elementAt(2)\r
+ };\r
}\r
\r
/**\r
bottomLeft = temp;\r
}\r
\r
- return new FinderPattern[]{bottomLeft, topLeft, topRight};\r
+ return new FinderPattern[] {bottomLeft, topLeft, topRight};\r
}\r
\r
/**\r
* <p>Orders by variance from average module size, ascending.</p>\r
*/\r
private static class ClosestToAverageComparator implements Comparator {\r
- private float averageModuleSize;\r
-\r
+ private final float averageModuleSize;\r
private ClosestToAverageComparator(float averageModuleSize) {\r
this.averageModuleSize = averageModuleSize;\r
}\r
-\r
public int compare(Object center1, Object center2) {\r
- return\r
- Math.abs(((FinderPattern) center1).getEstimatedModuleSize() - averageModuleSize) <\r
- Math.abs(((FinderPattern) center2).getEstimatedModuleSize() - averageModuleSize) ?\r
- -1 :\r
+ return Math.abs(((FinderPattern) center1).getEstimatedModuleSize() - averageModuleSize) <\r
+ Math.abs(((FinderPattern) center2).getEstimatedModuleSize() - averageModuleSize) ?\r
+ -1 :\r
1;\r
}\r
}\r