rhodes 2.4.1 → 3.0.0.beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. data/CHANGELOG +7 -0
  2. data/Rakefile +7 -36
  3. data/doc/build.txt +48 -22
  4. data/doc/device-caps.txt +130 -1
  5. data/doc/rhom.txt +9 -3
  6. data/doc/test-log-debug.txt +5 -2
  7. data/lib/extensions/barcode/ext/barcode/platform/android/Rakefile +40 -20
  8. data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/AUTHORS +58 -0
  9. data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/CHANGES +266 -0
  10. data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/COPYING +201 -0
  11. data/lib/extensions/barcode/ext/barcode/platform/android/ZXing_Info/README +11 -0
  12. data/lib/extensions/barcode/ext/barcode/platform/android/ext_build.files +173 -0
  13. data/lib/extensions/barcode/ext/barcode/platform/android/jni/src/barcode.cpp +34 -0
  14. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/BarcodeFormat.java +103 -0
  15. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Binarizer.java +80 -0
  16. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/BinaryBitmap.java +128 -0
  17. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ChecksumException.java +37 -0
  18. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/DecodeHintType.java +79 -0
  19. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/EncodeHintType.java +39 -0
  20. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/FormatException.java +38 -0
  21. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/LuminanceSource.java +113 -0
  22. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/MultiFormatReader.java +166 -0
  23. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/MultiFormatWriter.java +65 -0
  24. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/NotFoundException.java +37 -0
  25. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Reader.java +64 -0
  26. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ReaderException.java +98 -0
  27. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Result.java +143 -0
  28. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ResultMetadataType.java +109 -0
  29. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ResultPoint.java +127 -0
  30. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/ResultPointCallback.java +29 -0
  31. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/Writer.java +54 -0
  32. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/WriterException.java +35 -0
  33. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AbstractDoCoMoResultParser.java +39 -0
  34. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookAUResultParser.java +73 -0
  35. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookDoCoMoResultParser.java +85 -0
  36. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookParsedResult.java +122 -0
  37. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/BizcardResultParser.java +94 -0
  38. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/BookmarkDoCoMoResultParser.java +46 -0
  39. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/CalendarParsedResult.java +134 -0
  40. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/EmailAddressParsedResult.java +61 -0
  41. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/EmailAddressResultParser.java +64 -0
  42. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/EmailDoCoMoResultParser.java +87 -0
  43. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ExpandedProductParsedResult.java +195 -0
  44. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ExpandedProductResultParser.java +199 -0
  45. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/GeoParsedResult.java +132 -0
  46. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/GeoResultParser.java +77 -0
  47. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ISBNParsedResult.java +39 -0
  48. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ISBNResultParser.java +54 -0
  49. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ParsedResult.java +73 -0
  50. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ParsedResultType.java +53 -0
  51. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ProductParsedResult.java +49 -0
  52. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ProductResultParser.java +66 -0
  53. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/ResultParser.java +319 -0
  54. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/SMSMMSResultParser.java +107 -0
  55. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/SMSParsedResult.java +104 -0
  56. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/SMSTOMMSTOResultParser.java +57 -0
  57. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/TelParsedResult.java +54 -0
  58. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/TelResultParser.java +44 -0
  59. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/TextParsedResult.java +48 -0
  60. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/URIParsedResult.java +113 -0
  61. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/URIResultParser.java +87 -0
  62. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/URLTOResultParser.java +47 -0
  63. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/VCardResultParser.java +346 -0
  64. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/VEventResultParser.java +54 -0
  65. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/WifiParsedResult.java +53 -0
  66. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/WifiResultParser.java +50 -0
  67. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/AbstractNDEFResultParser.java +45 -0
  68. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFRecord.java +87 -0
  69. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFSmartPosterParsedResult.java +63 -0
  70. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFSmartPosterResultParser.java +81 -0
  71. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFTextResultParser.java +57 -0
  72. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFURIResultParser.java +95 -0
  73. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/BitArray.java +247 -0
  74. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/BitMatrix.java +226 -0
  75. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/BitSource.java +97 -0
  76. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/CharacterSetECI.java +110 -0
  77. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/Collections.java +53 -0
  78. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/Comparator.java +27 -0
  79. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/DecoderResult.java +63 -0
  80. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/DefaultGridSampler.java +81 -0
  81. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/DetectorResult.java +46 -0
  82. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/ECI.java +52 -0
  83. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/GlobalHistogramBinarizer.java +196 -0
  84. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/GridSampler.java +171 -0
  85. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/HybridBinarizer.java +185 -0
  86. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/PerspectiveTransform.java +148 -0
  87. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/StringUtils.java +191 -0
  88. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/detector/MonochromeRectangleDetector.java +209 -0
  89. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/detector/WhiteRectangleDetector.java +316 -0
  90. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/GF256.java +139 -0
  91. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/GF256Poly.java +263 -0
  92. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java +194 -0
  93. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java +75 -0
  94. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonException.java +31 -0
  95. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/DataMatrixReader.java +161 -0
  96. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/BitMatrixParser.java +446 -0
  97. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/DataBlock.java +118 -0
  98. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/DecodedBitStreamParser.java +462 -0
  99. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/Decoder.java +134 -0
  100. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/Version.java +242 -0
  101. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/datamatrix/detector/Detector.java +348 -0
  102. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/ByQuadrantReader.java +96 -0
  103. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/GenericMultipleBarcodeReader.java +156 -0
  104. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/MultipleBarcodeReader.java +37 -0
  105. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/QRCodeMultiReader.java +80 -0
  106. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/detector/MultiDetector.java +72 -0
  107. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java +324 -0
  108. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/CodaBarReader.java +263 -0
  109. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code128Reader.java +473 -0
  110. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code128Writer.java +73 -0
  111. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code39Reader.java +333 -0
  112. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code39Writer.java +82 -0
  113. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/Code93Reader.java +273 -0
  114. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN13Reader.java +135 -0
  115. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN13Writer.java +81 -0
  116. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN8Reader.java +72 -0
  117. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EAN8Writer.java +76 -0
  118. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/EANManufacturerOrgSupport.java +170 -0
  119. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/ITFReader.java +348 -0
  120. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/ITFWriter.java +68 -0
  121. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/MultiFormatOneDReader.java +109 -0
  122. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/MultiFormatUPCEANReader.java +113 -0
  123. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/OneDReader.java +297 -0
  124. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCAReader.java +75 -0
  125. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANExtensionSupport.java +186 -0
  126. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANReader.java +355 -0
  127. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANWriter.java +104 -0
  128. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/UPCEReader.java +153 -0
  129. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/AbstractRSSReader.java +110 -0
  130. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/DataCharacter.java +37 -0
  131. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/FinderPattern.java +48 -0
  132. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/Pair.java +41 -0
  133. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/RSS14Reader.java +494 -0
  134. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/RSSUtils.java +155 -0
  135. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/BitArrayBuilder.java +85 -0
  136. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/ExpandedPair.java +68 -0
  137. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java +578 -0
  138. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013103decoder.java +47 -0
  139. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01320xDecoder.java +55 -0
  140. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01392xDecoder.java +66 -0
  141. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01393xDecoder.java +76 -0
  142. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder.java +106 -0
  143. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013x0xDecoder.java +56 -0
  144. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01AndOtherAIs.java +56 -0
  145. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01decoder.java +81 -0
  146. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder.java +58 -0
  147. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder.java +85 -0
  148. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AnyAIDecoder.java +48 -0
  149. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/BlockParsedResult.java +60 -0
  150. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/CurrentParsingState.java +69 -0
  151. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedChar.java +52 -0
  152. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedInformation.java +63 -0
  153. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedNumeric.java +79 -0
  154. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedObject.java +44 -0
  155. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/FieldParser.java +285 -0
  156. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder.java +414 -0
  157. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/PDF417Reader.java +79 -0
  158. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/BitMatrixParser.java +1163 -0
  159. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/DecodedBitStreamParser.java +629 -0
  160. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/Decoder.java +150 -0
  161. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/pdf417/detector/Detector.java +498 -0
  162. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/QRCodeReader.java +166 -0
  163. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/QRCodeWriter.java +108 -0
  164. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/BitMatrixParser.java +203 -0
  165. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DataBlock.java +123 -0
  166. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DataMask.java +155 -0
  167. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java +261 -0
  168. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Decoder.java +148 -0
  169. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevel.java +86 -0
  170. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/FormatInformation.java +171 -0
  171. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Mode.java +112 -0
  172. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Version.java +586 -0
  173. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/AlignmentPattern.java +48 -0
  174. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java +279 -0
  175. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/Detector.java +400 -0
  176. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPattern.java +63 -0
  177. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPatternFinder.java +585 -0
  178. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPatternInfo.java +49 -0
  179. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/BlockPair.java +37 -0
  180. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/ByteMatrix.java +97 -0
  181. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/Encoder.java +557 -0
  182. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/MaskUtil.java +217 -0
  183. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/MatrixUtil.java +524 -0
  184. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/QRCode.java +239 -0
  185. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/Barcode.java +63 -0
  186. data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/RhoLuminanceSource.java +75 -0
  187. data/lib/extensions/barcode/ext/barcode/platform/iphone/Barcode.xcodeproj/project.pbxproj +74 -318
  188. data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/barcode.m +70 -0
  189. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/COPYING +27 -0
  190. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCaptureReader.h +105 -0
  191. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarHelpController.h +60 -0
  192. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImage.h +69 -0
  193. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarImageScanner.h +51 -0
  194. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderController.h +142 -0
  195. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderView.h +118 -0
  196. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderViewController.h +100 -0
  197. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSDK.h +33 -0
  198. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSymbol.h +71 -0
  199. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar.h +1476 -0
  200. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Decoder.h +201 -0
  201. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Exception.h +187 -0
  202. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Image.h +321 -0
  203. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/ImageScanner.h +130 -0
  204. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Processor.h +223 -0
  205. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Scanner.h +162 -0
  206. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Symbol.h +529 -0
  207. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Video.h +170 -0
  208. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Window.h +136 -0
  209. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/LICENSE +504 -0
  210. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/README +59 -0
  211. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-back.png +0 -0
  212. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-help.html +88 -0
  213. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-helpicons.png +0 -0
  214. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Resources/zbar-samples.png +0 -0
  215. data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/libzbar.a +0 -0
  216. data/lib/extensions/debugger/debugger.rb +215 -67
  217. data/lib/extensions/nfc/ext/nfc/platform/android/AndroidManifest.xml +1 -1
  218. data/lib/extensions/nfc/ext/nfc/platform/android/src/com/nfc/Nfc.java +14 -2
  219. data/lib/extensions/timeout/timeout.rb +114 -0
  220. data/lib/framework/rho/render.rb +14 -16
  221. data/lib/framework/rho/rho.rb +38 -14
  222. data/lib/framework/rho/rhoapplication.rb +1 -1
  223. data/lib/framework/rho/rhocontroller.rb +3 -3
  224. data/lib/framework/rho/rhofsconnector.rb +18 -6
  225. data/lib/framework/rho/rhoviewhelpers.rb +1 -1
  226. data/lib/framework/rhoappmanifest.rb +44 -0
  227. data/lib/framework/rhodes.rb +1 -1
  228. data/lib/framework/rhoframework.rb +31 -11
  229. data/lib/framework/rholang/localization_simplified.rb +10 -6
  230. data/lib/framework/rhom/rhom_object_factory.rb +3 -3
  231. data/lib/framework/version.rb +1 -1
  232. data/lib/rhodes.rb +1 -1
  233. data/platform/android/Rhodes/AndroidManifest.xml +2 -2
  234. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesApplication.h +32 -8
  235. data/platform/android/Rhodes/jni/include/rhodes/jni/com_rhomobile_rhodes_RhodesService.h +21 -21
  236. data/platform/android/Rhodes/jni/src/rhocryptimpl.cpp +1 -0
  237. data/platform/android/Rhodes/jni/src/rhodes.cpp +21 -9
  238. data/platform/android/Rhodes/jni/src/sslimpl.cpp +1 -0
  239. data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +7 -6
  240. data/platform/android/Rhodes/src/com/rhomobile/rhodes/PushReceiver.java +19 -1
  241. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoCryptImpl.java +2 -2
  242. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +24 -15
  243. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +39 -47
  244. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +113 -106
  245. data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/Alert.java +11 -0
  246. data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/StatusNotification.java +49 -0
  247. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +1 -1
  248. data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +5 -1
  249. data/platform/android/build/RhodesSRC_build.files +1 -0
  250. data/platform/android/build/android.rake +93 -6
  251. data/platform/bb/RubyVM/src/com/rho/RhodesApp.java +5 -4
  252. data/platform/bb/RubyVM/src/com/rho/file/RhoFile.java +10 -0
  253. data/platform/bb/RubyVM/src/com/rho/sync/SyncEngine.java +16 -15
  254. data/platform/bb/RubyVM/src/com/rho/sync/SyncNotify.java +2 -2
  255. data/platform/bb/RubyVM/src/com/rho/sync/SyncSource.java +21 -19
  256. data/platform/bb/rhodes/src/com/rho/BrowserAdapter5.java +2 -2
  257. data/platform/bb/rhodes/src/com/rho/rubyext/System.java +6 -1
  258. data/platform/bb/rhodes/src/com/rho/rubyext/WebView.java +10 -3
  259. data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +21 -1
  260. data/platform/iphone/Classes/SimpleMainView.m +5 -5
  261. data/platform/iphone/Info.plist +1 -1
  262. data/platform/iphone/rbuild/iphone.rake +30 -1
  263. data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +12 -0
  264. data/platform/shared/SyncClient/SyncClient.cpp +136 -20
  265. data/platform/shared/SyncClient/SyncClient.h +17 -0
  266. data/platform/shared/common/AppMenu.cpp +6 -1
  267. data/platform/shared/common/RhoConf.cpp +13 -1
  268. data/platform/shared/common/RhoConf.h +3 -1
  269. data/platform/shared/common/RhoDefs.h +10 -0
  270. data/platform/shared/common/RhoFile.cpp +15 -0
  271. data/platform/shared/common/RhoFile.h +1 -0
  272. data/platform/shared/common/RhodesApp.cpp +16 -3
  273. data/platform/shared/common/RhodesApp.h +1 -0
  274. data/platform/shared/common/RhodesAppBase.cpp +102 -62
  275. data/platform/shared/common/RhodesAppBase.h +7 -1
  276. data/platform/shared/curl/lib/rhossl.c +1 -0
  277. data/platform/shared/db/DBAdapter.cpp +14 -2
  278. data/platform/shared/logging/RhoLogConf.cpp +21 -0
  279. data/platform/shared/logging/RhoLogConf.h +11 -0
  280. data/platform/shared/logging/RhoLogSink.cpp +24 -0
  281. data/platform/shared/logging/RhoLogSink.h +20 -1
  282. data/platform/shared/net/HttpServer.cpp +8 -6
  283. data/platform/shared/net/RawSocket.cpp +130 -0
  284. data/platform/shared/net/RawSocket.h +74 -0
  285. data/platform/shared/ruby/ext/rho/rhoruby.c +37 -1
  286. data/platform/shared/ruby/ext/rho/rhosupport.c +74 -21
  287. data/platform/shared/ruby/ext/sqlite3_api/sqlite3_api_wrap.c +9 -1
  288. data/platform/shared/ruby/vm_eval.c +4 -3
  289. data/platform/shared/sync/SyncEngine.cpp +11 -12
  290. data/platform/shared/sync/SyncEngine.h +2 -2
  291. data/platform/shared/sync/SyncNotify.cpp +41 -13
  292. data/platform/shared/sync/SyncNotify.h +20 -3
  293. data/platform/shared/sync/SyncSource.cpp +21 -19
  294. data/platform/shared/sync/SyncThread.cpp +11 -1
  295. data/platform/shared/sync/SyncThread.h +3 -0
  296. data/platform/shared/test/test_helper.cpp +7 -0
  297. data/platform/win32/RhoSimulator/QtCore4.dll +0 -0
  298. data/platform/win32/RhoSimulator/QtGui4.dll +0 -0
  299. data/platform/win32/RhoSimulator/QtNetwork4.dll +0 -0
  300. data/platform/win32/RhoSimulator/QtWebKit4.dll +0 -0
  301. data/platform/win32/RhoSimulator/imageformats/qgif4.dll +0 -0
  302. data/platform/win32/RhoSimulator/imageformats/qjpeg4.dll +0 -0
  303. data/platform/win32/RhoSimulator/rhosimulator.exe +0 -0
  304. data/platform/wm/RhoLib/RhoLib.vcproj +762 -14
  305. data/platform/wm/build/wm.rake +87 -10
  306. data/platform/wm/rhodes.sln +155 -72
  307. data/platform/wm/rhodes/MainWindow.cpp +5 -2
  308. data/platform/wm/rhodes/MainWindow.h +9 -1
  309. data/platform/wm/rhodes/RhoNativeViewManager.cpp +4 -0
  310. data/platform/wm/rhodes/Rhodes.cpp +60 -6
  311. data/platform/wm/rhodes/emulator/ExternalWebView.cpp +20 -0
  312. data/platform/wm/rhodes/emulator/ExternalWebView.h +23 -0
  313. data/platform/wm/rhodes/emulator/ExternalWebView.ui +46 -0
  314. data/platform/wm/rhodes/emulator/MainWindowCallback.h +18 -0
  315. data/platform/wm/rhodes/emulator/MainWindowProxy.cpp +268 -0
  316. data/platform/wm/rhodes/emulator/MainWindowProxy.h +34 -0
  317. data/platform/wm/rhodes/emulator/MainWindowQt.cpp +345 -0
  318. data/platform/wm/rhodes/emulator/MainWindowQt.h +118 -0
  319. data/platform/wm/rhodes/emulator/NativeToolbarQt.cpp +57 -0
  320. data/platform/wm/rhodes/emulator/NativeToolbarQt.h +52 -0
  321. data/platform/wm/rhodes/emulator/QtMainWindow.cpp +219 -0
  322. data/platform/wm/rhodes/emulator/QtMainWindow.h +62 -0
  323. data/platform/wm/rhodes/emulator/QtMainWindow.ui +122 -0
  324. data/platform/wm/rhodes/{RhoCryptImpl.cpp → rho/common/RhoCryptImpl.cpp} +0 -0
  325. data/platform/wm/rhodes/{RhoCryptImpl.h → rho/common/RhoCryptImpl.h} +0 -0
  326. data/platform/wm/rhodes/rho/rubyext/NativeToolbar.cpp +2 -86
  327. data/platform/wm/rhodes/rho/rubyext/NativeToolbarExt.cpp +87 -0
  328. data/platform/wm/rhodes/rho/rubyext/NativeToolbarExt.h +6 -0
  329. data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +60 -0
  330. data/platform/wm/rhodes/rhodes.vcproj +4025 -365
  331. data/platform/wm/rhodes/signature/Signature.cpp +29 -13
  332. data/platform/wm/rubylib/rubylib.vcproj +1167 -195
  333. data/platform/wm/shttpd/shttpd.vcproj +4 -4
  334. data/platform/wm/sqlite3/sqlite3.vcproj +441 -13
  335. data/platform/wm/syncengine/syncengine.vcproj +443 -15
  336. data/platform/wm/tcmalloc/tcmalloc.vcproj +0 -154
  337. data/platform/wm/tools/detool/LogServer.cpp +150 -0
  338. data/platform/wm/tools/detool/LogServer.h +23 -0
  339. data/platform/wm/tools/detool/detool.cpp +42 -4
  340. data/platform/wm/tools/detool/detool.vcproj +10 -1
  341. data/platform/wp7/IronRuby/Bin/Silverlight3Release/IronRuby.Libraries.dll +0 -0
  342. data/platform/wp7/IronRuby/Bin/Silverlight3Release/IronRuby.dll +0 -0
  343. data/platform/wp7/IronRuby/Bin/Silverlight3Release/Microsoft.Dynamic.dll +0 -0
  344. data/platform/wp7/IronRuby/Bin/Silverlight3Release/Microsoft.Scripting.Core.dll +0 -0
  345. data/platform/wp7/IronRuby/Bin/Silverlight3Release/Microsoft.Scripting.dll +0 -0
  346. data/platform/wp7/RhoAppRunner/Program.cs +20 -3
  347. data/platform/wp7/RhoLogServer/Program.cs +22 -0
  348. data/platform/wp7/RhoLogServer/Properties/AssemblyInfo.cs +36 -0
  349. data/platform/wp7/RhoLogServer/RhoLogServer.csproj +65 -0
  350. data/platform/wp7/RhoLogServer/SocketServer.cs +210 -0
  351. data/platform/wp7/RhoRubyExtGen/RhoAsyncHttp.cs +6 -0
  352. data/platform/wp7/RhoRubyLib/Initializers.Generated.cs +3 -2
  353. data/platform/wp7/RhoRubyLib/RhoRuby.cs +82 -0
  354. data/platform/wp7/RhoRubyLib/RhoRubyLib.csproj +7 -5
  355. data/platform/wp7/RhoRubyLib/WP_PlatformAdaptationLayer.cs +1 -1
  356. data/platform/wp7/RhoRubyLib/common/RhoParams.cs +1 -1
  357. data/platform/wp7/RhoRubyLib/common/ThreadQueue.cs +4 -1
  358. data/platform/wp7/RhoRubyLib/db/DBAdapter.cs +2 -2
  359. data/platform/wp7/RhoRubyLib/logging/IRhoLogSink.cs +1 -1
  360. data/platform/wp7/RhoRubyLib/logging/RhoEmptyLogger.cs +30 -0
  361. data/platform/wp7/RhoRubyLib/logging/RhoLogConf.cs +10 -0
  362. data/platform/wp7/RhoRubyLib/logging/RhoLogFileSink.cs +6 -1
  363. data/platform/wp7/RhoRubyLib/logging/RhoLogServerSink.cs +56 -0
  364. data/platform/wp7/RhoRubyLib/logging/RhoLogger.cs +24 -11
  365. data/platform/wp7/RhoRubyLib/net/AsyncHttp.cs +57 -14
  366. data/platform/wp7/RhoRubyLib/net/NetRequest.cs +32 -9
  367. data/platform/wp7/RhoRubyLib/rubyext/RhoAsyncHttp.cs +7 -0
  368. data/platform/wp7/RhoRubyLib/rubyext/RhoKernelOps.cs +6 -0
  369. data/platform/wp7/RhoRubyLib/sync/SyncEngine.cs +20 -16
  370. data/platform/wp7/RhoRubyLib/sync/SyncNotify.cs +2 -2
  371. data/platform/wp7/RhoRubyLib/sync/SyncSource.cs +138 -40
  372. data/platform/wp7/WPApplication/rho/apps/app/layout.erb +3 -1
  373. data/platform/wp7/build/wp.rake +151 -12
  374. data/platform/wp7/rhodes.sln +10 -0
  375. data/platform/wp7/rhodes/App.xaml.cs +6 -0
  376. data/platform/wp7/rhodes/MainPage.xaml +3 -0
  377. data/platform/wp7/rhodes/MainPage.xaml.cs +19 -0
  378. data/platform/wp7/rhodes/Rhodes.csproj +4 -2
  379. data/rakefile.rb +7 -36
  380. data/res/build-tools/RhoAppRunner.exe +0 -0
  381. data/res/build-tools/RhoLogServer.exe +0 -0
  382. data/res/build-tools/detool.exe +0 -0
  383. data/res/build-tools/wp7explorer.exe +0 -0
  384. data/res/generators/templates/application/app/layout.erb +3 -1
  385. data/res/generators/templates/application/public/jqtouch/jqtouch.js +1 -1
  386. data/rhodes.gemspec +1 -1
  387. data/spec/framework_spec/app/layout.erb +1 -1
  388. data/spec/framework_spec/build.yml +1 -0
  389. data/spec/perfomance_spec/app/layout.erb +3 -0
  390. data/spec/phone_spec/app/Account_s/account_s.rb +4 -1
  391. data/spec/phone_spec/app/spec/rhom_object_spec.rb +30 -1
  392. data/spec/phone_spec/app/spec_runner.rb +1 -1
  393. data/spec/phone_spec/build.yml +4 -1
  394. metadata +262 -10
  395. data/platform/wp7/IronRuby/Languages/Ruby/Ruby/Builtins/ConsoleStream.cs +0 -107
@@ -0,0 +1,11 @@
1
+ Please refer to the project page for more information:
2
+ http://code.google.com/p/zxing/
3
+ in particular:
4
+ http://code.google.com/p/zxing/wiki/GettingStarted
5
+
6
+ To get started, you can try building and running the command-line client;
7
+ you will need to have Apache's Ant tool installed to run this:
8
+
9
+ ant -f core/build.xml
10
+ ant -f javase/build.xml
11
+ java -cp javase/javase.jar:core/core.jar com.google.zxing.client.j2se.CommandLineRunner [URL]
@@ -0,0 +1,173 @@
1
+ ext/barcode/platform/android/src/com/google/zxing/BarcodeFormat.java
2
+ ext/barcode/platform/android/src/com/google/zxing/Binarizer.java
3
+ ext/barcode/platform/android/src/com/google/zxing/BinaryBitmap.java
4
+ ext/barcode/platform/android/src/com/google/zxing/ChecksumException.java
5
+ ext/barcode/platform/android/src/com/google/zxing/client/result/AbstractDoCoMoResultParser.java
6
+ ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookAUResultParser.java
7
+ ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookDoCoMoResultParser.java
8
+ ext/barcode/platform/android/src/com/google/zxing/client/result/AddressBookParsedResult.java
9
+ ext/barcode/platform/android/src/com/google/zxing/client/result/BizcardResultParser.java
10
+ ext/barcode/platform/android/src/com/google/zxing/client/result/BookmarkDoCoMoResultParser.java
11
+ ext/barcode/platform/android/src/com/google/zxing/client/result/CalendarParsedResult.java
12
+ ext/barcode/platform/android/src/com/google/zxing/client/result/EmailAddressParsedResult.java
13
+ ext/barcode/platform/android/src/com/google/zxing/client/result/EmailAddressResultParser.java
14
+ ext/barcode/platform/android/src/com/google/zxing/client/result/EmailDoCoMoResultParser.java
15
+ ext/barcode/platform/android/src/com/google/zxing/client/result/ExpandedProductParsedResult.java
16
+ ext/barcode/platform/android/src/com/google/zxing/client/result/ExpandedProductResultParser.java
17
+ ext/barcode/platform/android/src/com/google/zxing/client/result/GeoParsedResult.java
18
+ ext/barcode/platform/android/src/com/google/zxing/client/result/GeoResultParser.java
19
+ ext/barcode/platform/android/src/com/google/zxing/client/result/ISBNParsedResult.java
20
+ ext/barcode/platform/android/src/com/google/zxing/client/result/ISBNResultParser.java
21
+ ext/barcode/platform/android/src/com/google/zxing/client/result/optional/AbstractNDEFResultParser.java
22
+ ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFRecord.java
23
+ ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFSmartPosterParsedResult.java
24
+ ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFSmartPosterResultParser.java
25
+ ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFTextResultParser.java
26
+ ext/barcode/platform/android/src/com/google/zxing/client/result/optional/NDEFURIResultParser.java
27
+ ext/barcode/platform/android/src/com/google/zxing/client/result/ParsedResult.java
28
+ ext/barcode/platform/android/src/com/google/zxing/client/result/ParsedResultType.java
29
+ ext/barcode/platform/android/src/com/google/zxing/client/result/ProductParsedResult.java
30
+ ext/barcode/platform/android/src/com/google/zxing/client/result/ProductResultParser.java
31
+ ext/barcode/platform/android/src/com/google/zxing/client/result/ResultParser.java
32
+ ext/barcode/platform/android/src/com/google/zxing/client/result/SMSMMSResultParser.java
33
+ ext/barcode/platform/android/src/com/google/zxing/client/result/SMSParsedResult.java
34
+ ext/barcode/platform/android/src/com/google/zxing/client/result/SMSTOMMSTOResultParser.java
35
+ ext/barcode/platform/android/src/com/google/zxing/client/result/TelParsedResult.java
36
+ ext/barcode/platform/android/src/com/google/zxing/client/result/TelResultParser.java
37
+ ext/barcode/platform/android/src/com/google/zxing/client/result/TextParsedResult.java
38
+ ext/barcode/platform/android/src/com/google/zxing/client/result/URIParsedResult.java
39
+ ext/barcode/platform/android/src/com/google/zxing/client/result/URIResultParser.java
40
+ ext/barcode/platform/android/src/com/google/zxing/client/result/URLTOResultParser.java
41
+ ext/barcode/platform/android/src/com/google/zxing/client/result/VCardResultParser.java
42
+ ext/barcode/platform/android/src/com/google/zxing/client/result/VEventResultParser.java
43
+ ext/barcode/platform/android/src/com/google/zxing/client/result/WifiParsedResult.java
44
+ ext/barcode/platform/android/src/com/google/zxing/client/result/WifiResultParser.java
45
+ ext/barcode/platform/android/src/com/google/zxing/common/BitArray.java
46
+ ext/barcode/platform/android/src/com/google/zxing/common/BitMatrix.java
47
+ ext/barcode/platform/android/src/com/google/zxing/common/BitSource.java
48
+ ext/barcode/platform/android/src/com/google/zxing/common/CharacterSetECI.java
49
+ ext/barcode/platform/android/src/com/google/zxing/common/Collections.java
50
+ ext/barcode/platform/android/src/com/google/zxing/common/Comparator.java
51
+ ext/barcode/platform/android/src/com/google/zxing/common/DecoderResult.java
52
+ ext/barcode/platform/android/src/com/google/zxing/common/DefaultGridSampler.java
53
+ ext/barcode/platform/android/src/com/google/zxing/common/StringUtils.java
54
+ ext/barcode/platform/android/src/com/google/zxing/common/detector/MonochromeRectangleDetector.java
55
+ ext/barcode/platform/android/src/com/google/zxing/common/detector/WhiteRectangleDetector.java
56
+ ext/barcode/platform/android/src/com/google/zxing/common/DetectorResult.java
57
+ ext/barcode/platform/android/src/com/google/zxing/common/ECI.java
58
+ ext/barcode/platform/android/src/com/google/zxing/common/GlobalHistogramBinarizer.java
59
+ ext/barcode/platform/android/src/com/google/zxing/common/GridSampler.java
60
+ ext/barcode/platform/android/src/com/google/zxing/common/HybridBinarizer.java
61
+ ext/barcode/platform/android/src/com/google/zxing/common/PerspectiveTransform.java
62
+ ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/GF256.java
63
+ ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/GF256Poly.java
64
+ ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonDecoder.java
65
+ ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonEncoder.java
66
+ ext/barcode/platform/android/src/com/google/zxing/common/reedsolomon/ReedSolomonException.java
67
+ ext/barcode/platform/android/src/com/google/zxing/datamatrix/DataMatrixReader.java
68
+ ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/BitMatrixParser.java
69
+ ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/DataBlock.java
70
+ ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/DecodedBitStreamParser.java
71
+ ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/Decoder.java
72
+ ext/barcode/platform/android/src/com/google/zxing/datamatrix/decoder/Version.java
73
+ ext/barcode/platform/android/src/com/google/zxing/datamatrix/detector/Detector.java
74
+ ext/barcode/platform/android/src/com/google/zxing/DecodeHintType.java
75
+ ext/barcode/platform/android/src/com/google/zxing/EncodeHintType.java
76
+ ext/barcode/platform/android/src/com/google/zxing/FormatException.java
77
+ ext/barcode/platform/android/src/com/google/zxing/LuminanceSource.java
78
+ ext/barcode/platform/android/src/com/google/zxing/multi/ByQuadrantReader.java
79
+ ext/barcode/platform/android/src/com/google/zxing/multi/GenericMultipleBarcodeReader.java
80
+ ext/barcode/platform/android/src/com/google/zxing/multi/MultipleBarcodeReader.java
81
+ ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/detector/MultiDetector.java
82
+ ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/detector/MultiFinderPatternFinder.java
83
+ ext/barcode/platform/android/src/com/google/zxing/multi/qrcode/QRCodeMultiReader.java
84
+ ext/barcode/platform/android/src/com/google/zxing/MultiFormatReader.java
85
+ ext/barcode/platform/android/src/com/google/zxing/MultiFormatWriter.java
86
+ ext/barcode/platform/android/src/com/google/zxing/NotFoundException.java
87
+ ext/barcode/platform/android/src/com/google/zxing/oned/CodaBarReader.java
88
+ ext/barcode/platform/android/src/com/google/zxing/oned/Code128Reader.java
89
+ ext/barcode/platform/android/src/com/google/zxing/oned/Code128Writer.java
90
+ ext/barcode/platform/android/src/com/google/zxing/oned/Code39Reader.java
91
+ ext/barcode/platform/android/src/com/google/zxing/oned/Code39Writer.java
92
+ ext/barcode/platform/android/src/com/google/zxing/oned/Code93Reader.java
93
+ ext/barcode/platform/android/src/com/google/zxing/oned/EAN13Reader.java
94
+ ext/barcode/platform/android/src/com/google/zxing/oned/EAN13Writer.java
95
+ ext/barcode/platform/android/src/com/google/zxing/oned/EAN8Reader.java
96
+ ext/barcode/platform/android/src/com/google/zxing/oned/EAN8Writer.java
97
+ ext/barcode/platform/android/src/com/google/zxing/oned/ITFReader.java
98
+ ext/barcode/platform/android/src/com/google/zxing/oned/ITFWriter.java
99
+ ext/barcode/platform/android/src/com/google/zxing/oned/EANManufacturerOrgSupport.java
100
+ ext/barcode/platform/android/src/com/google/zxing/oned/MultiFormatOneDReader.java
101
+ ext/barcode/platform/android/src/com/google/zxing/oned/MultiFormatUPCEANReader.java
102
+ ext/barcode/platform/android/src/com/google/zxing/oned/OneDReader.java
103
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/DataCharacter.java
104
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/FinderPattern.java
105
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/Pair.java
106
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/RSS14Reader.java
107
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/RSSUtils.java
108
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/AbstractRSSReader.java
109
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/BitArrayBuilder.java
110
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/ExpandedPair.java
111
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/RSSExpandedReader.java
112
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01AndOtherAIs.java
113
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01decoder.java
114
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01weightDecoder.java
115
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013x0x1xDecoder.java
116
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013x0xDecoder.java
117
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01320xDecoder.java
118
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01392xDecoder.java
119
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI01393xDecoder.java
120
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AI013103decoder.java
121
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AbstractExpandedDecoder.java
122
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/AnyAIDecoder.java
123
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/BlockParsedResult.java
124
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/CurrentParsingState.java
125
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedChar.java
126
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedInformation.java
127
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedNumeric.java
128
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/DecodedObject.java
129
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/FieldParser.java
130
+ ext/barcode/platform/android/src/com/google/zxing/oned/rss/expanded/decoders/GeneralAppIdDecoder.java
131
+ ext/barcode/platform/android/src/com/google/zxing/oned/UPCAReader.java
132
+ ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANReader.java
133
+ ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANWriter.java
134
+ ext/barcode/platform/android/src/com/google/zxing/oned/UPCEReader.java
135
+ ext/barcode/platform/android/src/com/google/zxing/oned/UPCEANExtensionSupport.java
136
+ ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/BitMatrixParser.java
137
+ ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/DecodedBitStreamParser.java
138
+ ext/barcode/platform/android/src/com/google/zxing/pdf417/decoder/Decoder.java
139
+ ext/barcode/platform/android/src/com/google/zxing/pdf417/detector/Detector.java
140
+ ext/barcode/platform/android/src/com/google/zxing/pdf417/PDF417Reader.java
141
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/BitMatrixParser.java
142
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DataBlock.java
143
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DataMask.java
144
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/DecodedBitStreamParser.java
145
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Decoder.java
146
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/ErrorCorrectionLevel.java
147
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/FormatInformation.java
148
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Mode.java
149
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/decoder/Version.java
150
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/AlignmentPattern.java
151
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/AlignmentPatternFinder.java
152
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/Detector.java
153
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPattern.java
154
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPatternFinder.java
155
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/detector/FinderPatternInfo.java
156
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/BlockPair.java
157
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/Encoder.java
158
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/ByteMatrix.java
159
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/MaskUtil.java
160
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/MatrixUtil.java
161
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/encoder/QRCode.java
162
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/QRCodeReader.java
163
+ ext/barcode/platform/android/src/com/google/zxing/qrcode/QRCodeWriter.java
164
+ ext/barcode/platform/android/src/com/google/zxing/Reader.java
165
+ ext/barcode/platform/android/src/com/google/zxing/ReaderException.java
166
+ ext/barcode/platform/android/src/com/google/zxing/Result.java
167
+ ext/barcode/platform/android/src/com/google/zxing/ResultMetadataType.java
168
+ ext/barcode/platform/android/src/com/google/zxing/ResultPoint.java
169
+ ext/barcode/platform/android/src/com/google/zxing/ResultPointCallback.java
170
+ ext/barcode/platform/android/src/com/google/zxing/Writer.java
171
+ ext/barcode/platform/android/src/com/google/zxing/WriterException.java
172
+ ext/barcode/platform/android/src/com/rhomobile/barcode/Barcode.java
173
+ ext/barcode/platform/android/src/com/rhomobile/barcode/RhoLuminanceSource.java
@@ -0,0 +1,34 @@
1
+ //#include "rhodes/JNIRhodes.h"
2
+ #include <rhodes.h>
3
+ #include <android/log.h>
4
+ #include <common/RhodesApp.h>
5
+ #include <logging/RhoLogConf.h>
6
+ #include <stdlib.h>
7
+
8
+
9
+ #define logging_enable false
10
+
11
+ static char barcode_result[16000];
12
+
13
+ extern "C" const char* rho_barcode_barcode_recognize(const char* filename) {
14
+ JNIEnv *env = jnienv();
15
+ jclass cls = rho_find_class(env, "com/rhomobile/barcode/Barcode");
16
+ if (!cls) return NULL;
17
+ jmethodID mid = env->GetStaticMethodID( cls, "recognize", "(Ljava/lang/String;)Ljava/lang/String;");
18
+ if (!mid) return NULL;
19
+
20
+ jstring objFilename = env->NewStringUTF(filename);
21
+ jstring res = (jstring)env->CallStaticObjectMethod(cls, mid, objFilename);
22
+ env->DeleteLocalRef(objFilename);
23
+
24
+ if (res == NULL) {
25
+ return NULL;
26
+ }
27
+
28
+ const char* code = env->GetStringUTFChars(res,0);
29
+ strcpy(barcode_result, code);
30
+ env->ReleaseStringUTFChars(res, code);
31
+
32
+ return barcode_result;
33
+ }
34
+
@@ -0,0 +1,103 @@
1
+ /*
2
+ * Copyright 2007 ZXing authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ package com.google.zxing;
18
+
19
+ import java.util.Hashtable;
20
+
21
+ /**
22
+ * Enumerates barcode formats known to this package.
23
+ *
24
+ * @author Sean Owen
25
+ */
26
+ public final class BarcodeFormat {
27
+
28
+ // No, we can't use an enum here. J2ME doesn't support it.
29
+
30
+ private static final Hashtable VALUES = new Hashtable();
31
+
32
+ /** QR Code 2D barcode format. */
33
+ public static final BarcodeFormat QR_CODE = new BarcodeFormat("QR_CODE");
34
+
35
+ /** Data Matrix 2D barcode format. */
36
+ public static final BarcodeFormat DATA_MATRIX = new BarcodeFormat("DATA_MATRIX");
37
+
38
+ /** UPC-E 1D format. */
39
+ public static final BarcodeFormat UPC_E = new BarcodeFormat("UPC_E");
40
+
41
+ /** UPC-A 1D format. */
42
+ public static final BarcodeFormat UPC_A = new BarcodeFormat("UPC_A");
43
+
44
+ /** EAN-8 1D format. */
45
+ public static final BarcodeFormat EAN_8 = new BarcodeFormat("EAN_8");
46
+
47
+ /** EAN-13 1D format. */
48
+ public static final BarcodeFormat EAN_13 = new BarcodeFormat("EAN_13");
49
+
50
+ /** UPC/EAN extension format. Not a stand-alone format. */
51
+ public static final BarcodeFormat UPC_EAN_EXTENSION = new BarcodeFormat("UPC_EAN_EXTENSION");
52
+
53
+ /** Code 128 1D format. */
54
+ public static final BarcodeFormat CODE_128 = new BarcodeFormat("CODE_128");
55
+
56
+ /** Code 39 1D format. */
57
+ public static final BarcodeFormat CODE_39 = new BarcodeFormat("CODE_39");
58
+
59
+ /** Code 93 1D format. */
60
+ public static final BarcodeFormat CODE_93 = new BarcodeFormat("CODE_93");
61
+
62
+ /** CODABAR 1D format. */
63
+ public static final BarcodeFormat CODABAR = new BarcodeFormat("CODABAR");
64
+
65
+ /** ITF (Interleaved Two of Five) 1D format. */
66
+ public static final BarcodeFormat ITF = new BarcodeFormat("ITF");
67
+
68
+ /** RSS 14 */
69
+ public static final BarcodeFormat RSS14 = new BarcodeFormat("RSS14");
70
+
71
+ /** PDF417 format. */
72
+ public static final BarcodeFormat PDF417 = new BarcodeFormat("PDF417");
73
+
74
+ /** RSS EXPANDED */
75
+ public static final BarcodeFormat RSS_EXPANDED = new BarcodeFormat("RSS_EXPANDED");
76
+
77
+ private final String name;
78
+
79
+ private BarcodeFormat(String name) {
80
+ this.name = name;
81
+ VALUES.put(name, this);
82
+ }
83
+
84
+ public String getName() {
85
+ return name;
86
+ }
87
+
88
+ public String toString() {
89
+ return name;
90
+ }
91
+
92
+ public static BarcodeFormat valueOf(String name) {
93
+ if (name == null || name.length() == 0) {
94
+ throw new IllegalArgumentException();
95
+ }
96
+ BarcodeFormat format = (BarcodeFormat) VALUES.get(name);
97
+ if (format == null) {
98
+ throw new IllegalArgumentException();
99
+ }
100
+ return format;
101
+ }
102
+
103
+ }
@@ -0,0 +1,80 @@
1
+ /*
2
+ * Copyright 2009 ZXing authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ package com.google.zxing;
18
+
19
+ import com.google.zxing.common.BitArray;
20
+ import com.google.zxing.common.BitMatrix;
21
+
22
+ /**
23
+ * This class hierarchy provides a set of methods to convert luminance data to 1 bit data.
24
+ * It allows the algorithm to vary polymorphically, for example allowing a very expensive
25
+ * thresholding technique for servers and a fast one for mobile. It also permits the implementation
26
+ * to vary, e.g. a JNI version for Android and a Java fallback version for other platforms.
27
+ *
28
+ * @author dswitkin@google.com (Daniel Switkin)
29
+ */
30
+ public abstract class Binarizer {
31
+
32
+ private final LuminanceSource source;
33
+
34
+ protected Binarizer(LuminanceSource source) {
35
+ if (source == null) {
36
+ throw new IllegalArgumentException("Source must be non-null.");
37
+ }
38
+ this.source = source;
39
+ }
40
+
41
+ public LuminanceSource getLuminanceSource() {
42
+ return source;
43
+ }
44
+
45
+ /**
46
+ * Converts one row of luminance data to 1 bit data. May actually do the conversion, or return
47
+ * cached data. Callers should assume this method is expensive and call it as seldom as possible.
48
+ * This method is intended for decoding 1D barcodes and may choose to apply sharpening.
49
+ * For callers which only examine one row of pixels at a time, the same BitArray should be reused
50
+ * and passed in with each call for performance. However it is legal to keep more than one row
51
+ * at a time if needed.
52
+ *
53
+ * @param y The row to fetch, 0 <= y < bitmap height.
54
+ * @param row An optional preallocated array. If null or too small, it will be ignored.
55
+ * If used, the Binarizer will call BitArray.clear(). Always use the returned object.
56
+ * @return The array of bits for this row (true means black).
57
+ */
58
+ public abstract BitArray getBlackRow(int y, BitArray row) throws NotFoundException;
59
+
60
+ /**
61
+ * Converts a 2D array of luminance data to 1 bit data. As above, assume this method is expensive
62
+ * and do not call it repeatedly. This method is intended for decoding 2D barcodes and may or
63
+ * may not apply sharpening. Therefore, a row from this matrix may not be identical to one
64
+ * fetched using getBlackRow(), so don't mix and match between them.
65
+ *
66
+ * @return The 2D array of bits for the image (true means black).
67
+ */
68
+ public abstract BitMatrix getBlackMatrix() throws NotFoundException;
69
+
70
+ /**
71
+ * Creates a new object with the same type as this Binarizer implementation, but with pristine
72
+ * state. This is needed because Binarizer implementations may be stateful, e.g. keeping a cache
73
+ * of 1 bit data. See Effective Java for why we can't use Java's clone() method.
74
+ *
75
+ * @param source The LuminanceSource this Binarizer will operate on.
76
+ * @return A new concrete Binarizer implementation object.
77
+ */
78
+ public abstract Binarizer createBinarizer(LuminanceSource source);
79
+
80
+ }
@@ -0,0 +1,128 @@
1
+ /*
2
+ * Copyright 2009 ZXing authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ package com.google.zxing;
18
+
19
+ import com.google.zxing.common.BitArray;
20
+ import com.google.zxing.common.BitMatrix;
21
+
22
+ /**
23
+ * This class is the core bitmap class used by ZXing to represent 1 bit data. Reader objects
24
+ * accept a BinaryBitmap and attempt to decode it.
25
+ *
26
+ * @author dswitkin@google.com (Daniel Switkin)
27
+ */
28
+ public final class BinaryBitmap {
29
+
30
+ private final Binarizer binarizer;
31
+ private BitMatrix matrix;
32
+
33
+ public BinaryBitmap(Binarizer binarizer) {
34
+ if (binarizer == null) {
35
+ throw new IllegalArgumentException("Binarizer must be non-null.");
36
+ }
37
+ this.binarizer = binarizer;
38
+ matrix = null;
39
+ }
40
+
41
+ /**
42
+ * @return The width of the bitmap.
43
+ */
44
+ public int getWidth() {
45
+ return binarizer.getLuminanceSource().getWidth();
46
+ }
47
+
48
+ /**
49
+ * @return The height of the bitmap.
50
+ */
51
+ public int getHeight() {
52
+ return binarizer.getLuminanceSource().getHeight();
53
+ }
54
+
55
+ /**
56
+ * Converts one row of luminance data to 1 bit data. May actually do the conversion, or return
57
+ * cached data. Callers should assume this method is expensive and call it as seldom as possible.
58
+ * This method is intended for decoding 1D barcodes and may choose to apply sharpening.
59
+ *
60
+ * @param y The row to fetch, 0 <= y < bitmap height.
61
+ * @param row An optional preallocated array. If null or too small, it will be ignored.
62
+ * If used, the Binarizer will call BitArray.clear(). Always use the returned object.
63
+ * @return The array of bits for this row (true means black).
64
+ */
65
+ public BitArray getBlackRow(int y, BitArray row) throws NotFoundException {
66
+ return binarizer.getBlackRow(y, row);
67
+ }
68
+
69
+ /**
70
+ * Converts a 2D array of luminance data to 1 bit. As above, assume this method is expensive
71
+ * and do not call it repeatedly. This method is intended for decoding 2D barcodes and may or
72
+ * may not apply sharpening. Therefore, a row from this matrix may not be identical to one
73
+ * fetched using getBlackRow(), so don't mix and match between them.
74
+ *
75
+ * @return The 2D array of bits for the image (true means black).
76
+ */
77
+ public BitMatrix getBlackMatrix() throws NotFoundException {
78
+ // The matrix is created on demand the first time it is requested, then cached. There are two
79
+ // reasons for this:
80
+ // 1. This work will never be done if the caller only installs 1D Reader objects, or if a
81
+ // 1D Reader finds a barcode before the 2D Readers run.
82
+ // 2. This work will only be done once even if the caller installs multiple 2D Readers.
83
+ if (matrix == null) {
84
+ matrix = binarizer.getBlackMatrix();
85
+ }
86
+ return matrix;
87
+ }
88
+
89
+ /**
90
+ * @return Whether this bitmap can be cropped.
91
+ */
92
+ public boolean isCropSupported() {
93
+ return binarizer.getLuminanceSource().isCropSupported();
94
+ }
95
+
96
+ /**
97
+ * Returns a new object with cropped image data. Implementations may keep a reference to the
98
+ * original data rather than a copy. Only callable if isCropSupported() is true.
99
+ *
100
+ * @param left The left coordinate, 0 <= left < getWidth().
101
+ * @param top The top coordinate, 0 <= top <= getHeight().
102
+ * @param width The width of the rectangle to crop.
103
+ * @param height The height of the rectangle to crop.
104
+ * @return A cropped version of this object.
105
+ */
106
+ public BinaryBitmap crop(int left, int top, int width, int height) {
107
+ LuminanceSource newSource = binarizer.getLuminanceSource().crop(left, top, width, height);
108
+ return new BinaryBitmap(binarizer.createBinarizer(newSource));
109
+ }
110
+
111
+ /**
112
+ * @return Whether this bitmap supports counter-clockwise rotation.
113
+ */
114
+ public boolean isRotateSupported() {
115
+ return binarizer.getLuminanceSource().isRotateSupported();
116
+ }
117
+
118
+ /**
119
+ * Returns a new object with rotated image data. Only callable if isRotateSupported() is true.
120
+ *
121
+ * @return A rotated version of this object.
122
+ */
123
+ public BinaryBitmap rotateCounterClockwise() {
124
+ LuminanceSource newSource = binarizer.getLuminanceSource().rotateCounterClockwise();
125
+ return new BinaryBitmap(binarizer.createBinarizer(newSource));
126
+ }
127
+
128
+ }