mirror of
https://github.com/zxing/zxing.git
synced 2024-11-10 04:54:04 -08:00
objective c port for iOS and OS X
git-svn-id: https://zxing.googlecode.com/svn/trunk@1773 59b500cc-1b3d-0410-9834-0bbf25fbcc57
This commit is contained in:
parent
00eedc659f
commit
47b28a4edb
1
cpp/.gitignore
vendored
1
cpp/.gitignore
vendored
|
@ -1,2 +1,3 @@
|
||||||
/build
|
/build
|
||||||
/.sconsign.dblite
|
/.sconsign.dblite
|
||||||
|
xcuserdata
|
||||||
|
|
2
cpp/ios.xcodeproj/.gitignore
vendored
Normal file
2
cpp/ios.xcodeproj/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/*.mode1v3
|
||||||
|
/*.pbxuser
|
414
cpp/ios.xcodeproj/project.pbxproj
Normal file
414
cpp/ios.xcodeproj/project.pbxproj
Normal file
|
@ -0,0 +1,414 @@
|
||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 45;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
3B15E73A12CE996800DC7062 /* LuminanceSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B15E73912CE996800DC7062 /* LuminanceSource.cpp */; };
|
||||||
|
3B15E78612CE9BF900DC7062 /* Exception.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B15E78512CE9BF900DC7062 /* Exception.cpp */; };
|
||||||
|
3B2A325212CE9D31001D9945 /* IllegalArgumentException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A325112CE9D31001D9945 /* IllegalArgumentException.cpp */; };
|
||||||
|
3B2A32B012CEA202001D9945 /* HybridBinarizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A32AF12CEA202001D9945 /* HybridBinarizer.cpp */; };
|
||||||
|
3B2A32B412CEA238001D9945 /* GlobalHistogramBinarizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A32B312CEA238001D9945 /* GlobalHistogramBinarizer.cpp */; };
|
||||||
|
3B2A32B812CEA285001D9945 /* Binarizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A32B712CEA285001D9945 /* Binarizer.cpp */; };
|
||||||
|
3B2A32C612CEA2F9001D9945 /* BitArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A32C512CEA2F9001D9945 /* BitArray.cpp */; };
|
||||||
|
3B2A32CC12CEA380001D9945 /* BitMatrix.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A32CB12CEA380001D9945 /* BitMatrix.cpp */; };
|
||||||
|
3B2A32E812CEA43A001D9945 /* BinaryBitmap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A32E712CEA43A001D9945 /* BinaryBitmap.cpp */; };
|
||||||
|
3B2A32FF12CEA53A001D9945 /* Detector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A32FE12CEA53A001D9945 /* Detector.cpp */; };
|
||||||
|
3B2A330312CEA55B001D9945 /* AlignmentPatternFinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A330212CEA55B001D9945 /* AlignmentPatternFinder.cpp */; };
|
||||||
|
3B2A330712CEA59E001D9945 /* ResultPoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A330612CEA59E001D9945 /* ResultPoint.cpp */; };
|
||||||
|
3B2A330B12CEA5BF001D9945 /* ReaderException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A330A12CEA5BF001D9945 /* ReaderException.cpp */; };
|
||||||
|
3B2A330F12CEA5D2001D9945 /* Version.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A330E12CEA5D2001D9945 /* Version.cpp */; };
|
||||||
|
3B2A331312CEA5F3001D9945 /* FinderPatternFinder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A331212CEA5F3001D9945 /* FinderPatternFinder.cpp */; };
|
||||||
|
3B2A331712CEA60A001D9945 /* DecodeHints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A331612CEA60A001D9945 /* DecodeHints.cpp */; };
|
||||||
|
3B2A331B12CEA624001D9945 /* FinderPatternInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A331A12CEA624001D9945 /* FinderPatternInfo.cpp */; };
|
||||||
|
3B2A331F12CEA638001D9945 /* GridSampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A331E12CEA638001D9945 /* GridSampler.cpp */; };
|
||||||
|
3B2A332312CEA64F001D9945 /* PerspectiveTransform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A332212CEA64F001D9945 /* PerspectiveTransform.cpp */; };
|
||||||
|
3B2A332712CEA664001D9945 /* FinderPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A332612CEA664001D9945 /* FinderPattern.cpp */; };
|
||||||
|
3B2A332B12CEA67F001D9945 /* FormatInformation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A332A12CEA67F001D9945 /* FormatInformation.cpp */; };
|
||||||
|
3B2A332F12CEA696001D9945 /* ErrorCorrectionLevel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A332E12CEA696001D9945 /* ErrorCorrectionLevel.cpp */; };
|
||||||
|
3B2A333312CEA6C2001D9945 /* DetectorResult.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A333212CEA6C2001D9945 /* DetectorResult.cpp */; };
|
||||||
|
3B2A335A12CEA925001D9945 /* Decoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A335912CEA925001D9945 /* Decoder.cpp */; };
|
||||||
|
3B2A335E12CEA93D001D9945 /* BitMatrixParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A335D12CEA93D001D9945 /* BitMatrixParser.cpp */; };
|
||||||
|
3B2A336212CEA95C001D9945 /* DataBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A336112CEA95C001D9945 /* DataBlock.cpp */; };
|
||||||
|
3B2A336612CEA976001D9945 /* Str.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A336512CEA976001D9945 /* Str.cpp */; };
|
||||||
|
3B2A336A12CEA997001D9945 /* DataMask.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A336912CEA997001D9945 /* DataMask.cpp */; };
|
||||||
|
3B2A336E12CEA9B0001D9945 /* DecodedBitStreamParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A336D12CEA9B0001D9945 /* DecodedBitStreamParser.cpp */; };
|
||||||
|
3B2A337212CEA9E2001D9945 /* Mode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A337112CEA9E2001D9945 /* Mode.cpp */; };
|
||||||
|
3B2A337612CEAA06001D9945 /* ReedSolomonDecoder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A337512CEAA06001D9945 /* ReedSolomonDecoder.cpp */; };
|
||||||
|
3B2A337A12CEAA20001D9945 /* GF256.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A337912CEAA20001D9945 /* GF256.cpp */; };
|
||||||
|
3B2A337E12CEAA37001D9945 /* GF256Poly.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A337D12CEAA37001D9945 /* GF256Poly.cpp */; };
|
||||||
|
3B2A338212CEAA4B001D9945 /* ReedSolomonException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A338112CEAA4B001D9945 /* ReedSolomonException.cpp */; };
|
||||||
|
3B2A338612CEAA63001D9945 /* BitSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A338512CEAA63001D9945 /* BitSource.cpp */; };
|
||||||
|
3B2A338E12CEAA95001D9945 /* DecoderResult.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3B2A338D12CEAA95001D9945 /* DecoderResult.cpp */; };
|
||||||
|
3BBCB71E12DD108300B5936D /* Result.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB71D12DD108300B5936D /* Result.cpp */; };
|
||||||
|
3BBCB72012DD10BC00B5936D /* QRCodeReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB71F12DD10BC00B5936D /* QRCodeReader.cpp */; };
|
||||||
|
3BBCB72412DD10DC00B5936D /* Reader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB72312DD10DC00B5936D /* Reader.cpp */; };
|
||||||
|
3BBF0AEE12CBCAFC0061650E /* AlignmentPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3BBF0AED12CBCAFC0061650E /* AlignmentPattern.cpp */; };
|
||||||
|
AA747D9F0F9514B9006C5449 /* ios_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = AA747D9E0F9514B9006C5449 /* ios_Prefix.pch */; };
|
||||||
|
AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
3B15E73912CE996800DC7062 /* LuminanceSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LuminanceSource.cpp; path = core/src/zxing/LuminanceSource.cpp; sourceTree = "<group>"; };
|
||||||
|
3B15E78512CE9BF900DC7062 /* Exception.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Exception.cpp; path = core/src/zxing/Exception.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A325112CE9D31001D9945 /* IllegalArgumentException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IllegalArgumentException.cpp; path = core/src/zxing/common/IllegalArgumentException.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A32AF12CEA202001D9945 /* HybridBinarizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HybridBinarizer.cpp; path = core/src/zxing/common/HybridBinarizer.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A32B312CEA238001D9945 /* GlobalHistogramBinarizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GlobalHistogramBinarizer.cpp; path = core/src/zxing/common/GlobalHistogramBinarizer.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A32B712CEA285001D9945 /* Binarizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Binarizer.cpp; path = core/src/zxing/Binarizer.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A32C512CEA2F9001D9945 /* BitArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BitArray.cpp; path = core/src/zxing/common/BitArray.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A32CB12CEA380001D9945 /* BitMatrix.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BitMatrix.cpp; path = core/src/zxing/common/BitMatrix.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A32E712CEA43A001D9945 /* BinaryBitmap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryBitmap.cpp; path = core/src/zxing/BinaryBitmap.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A32FE12CEA53A001D9945 /* Detector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Detector.cpp; path = core/src/zxing/qrcode/detector/Detector.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A330212CEA55B001D9945 /* AlignmentPatternFinder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AlignmentPatternFinder.cpp; path = core/src/zxing/qrcode/detector/AlignmentPatternFinder.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A330612CEA59E001D9945 /* ResultPoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ResultPoint.cpp; path = core/src/zxing/ResultPoint.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A330A12CEA5BF001D9945 /* ReaderException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ReaderException.cpp; path = core/src/zxing/ReaderException.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A330E12CEA5D2001D9945 /* Version.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Version.cpp; path = core/src/zxing/qrcode/Version.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A331212CEA5F3001D9945 /* FinderPatternFinder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FinderPatternFinder.cpp; path = core/src/zxing/qrcode/detector/FinderPatternFinder.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A331612CEA60A001D9945 /* DecodeHints.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecodeHints.cpp; path = core/src/zxing/DecodeHints.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A331A12CEA624001D9945 /* FinderPatternInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FinderPatternInfo.cpp; path = core/src/zxing/qrcode/detector/FinderPatternInfo.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A331E12CEA638001D9945 /* GridSampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GridSampler.cpp; path = core/src/zxing/common/GridSampler.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A332212CEA64F001D9945 /* PerspectiveTransform.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PerspectiveTransform.cpp; path = core/src/zxing/common/PerspectiveTransform.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A332612CEA664001D9945 /* FinderPattern.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FinderPattern.cpp; path = core/src/zxing/qrcode/detector/FinderPattern.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A332A12CEA67F001D9945 /* FormatInformation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = FormatInformation.cpp; path = core/src/zxing/qrcode/FormatInformation.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A332E12CEA696001D9945 /* ErrorCorrectionLevel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ErrorCorrectionLevel.cpp; path = core/src/zxing/qrcode/ErrorCorrectionLevel.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A333212CEA6C2001D9945 /* DetectorResult.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DetectorResult.cpp; path = core/src/zxing/common/DetectorResult.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A335912CEA925001D9945 /* Decoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Decoder.cpp; path = core/src/zxing/qrcode/decoder/Decoder.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A335D12CEA93D001D9945 /* BitMatrixParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BitMatrixParser.cpp; path = core/src/zxing/qrcode/decoder/BitMatrixParser.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A336112CEA95C001D9945 /* DataBlock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DataBlock.cpp; path = core/src/zxing/qrcode/decoder/DataBlock.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A336512CEA976001D9945 /* Str.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Str.cpp; path = core/src/zxing/common/Str.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A336912CEA997001D9945 /* DataMask.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DataMask.cpp; path = core/src/zxing/qrcode/decoder/DataMask.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A336D12CEA9B0001D9945 /* DecodedBitStreamParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecodedBitStreamParser.cpp; path = core/src/zxing/qrcode/decoder/DecodedBitStreamParser.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A337112CEA9E2001D9945 /* Mode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Mode.cpp; path = core/src/zxing/qrcode/decoder/Mode.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A337512CEAA06001D9945 /* ReedSolomonDecoder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ReedSolomonDecoder.cpp; path = core/src/zxing/common/reedsolomon/ReedSolomonDecoder.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A337912CEAA20001D9945 /* GF256.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GF256.cpp; path = core/src/zxing/common/reedsolomon/GF256.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A337D12CEAA37001D9945 /* GF256Poly.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GF256Poly.cpp; path = core/src/zxing/common/reedsolomon/GF256Poly.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A338112CEAA4B001D9945 /* ReedSolomonException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ReedSolomonException.cpp; path = core/src/zxing/common/reedsolomon/ReedSolomonException.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A338512CEAA63001D9945 /* BitSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BitSource.cpp; path = core/src/zxing/common/BitSource.cpp; sourceTree = "<group>"; };
|
||||||
|
3B2A338D12CEAA95001D9945 /* DecoderResult.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DecoderResult.cpp; path = core/src/zxing/common/DecoderResult.cpp; sourceTree = "<group>"; };
|
||||||
|
3BBCB71D12DD108300B5936D /* Result.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Result.cpp; path = core/src/zxing/Result.cpp; sourceTree = "<group>"; };
|
||||||
|
3BBCB71F12DD10BC00B5936D /* QRCodeReader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = QRCodeReader.cpp; path = core/src/zxing/qrcode/QRCodeReader.cpp; sourceTree = "<group>"; };
|
||||||
|
3BBCB72312DD10DC00B5936D /* Reader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Reader.cpp; path = core/src/zxing/Reader.cpp; sourceTree = "<group>"; };
|
||||||
|
3BBF0AED12CBCAFC0061650E /* AlignmentPattern.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AlignmentPattern.cpp; path = core/src/zxing/qrcode/detector/AlignmentPattern.cpp; sourceTree = "<group>"; };
|
||||||
|
AA747D9E0F9514B9006C5449 /* ios_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_Prefix.pch; sourceTree = SOURCE_ROOT; };
|
||||||
|
AACBBE490F95108600F1A2B1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||||
|
D2AAC07E0554694100DB518D /* libzxing.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libzxing.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
D2AAC07C0554694100DB518D /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
034768DFFF38A50411DB9C8B /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D2AAC07E0554694100DB518D /* libzxing.a */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
0867D691FE84028FC02AAC07 /* zxing */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
08FB77AEFE84172EC02AAC07 /* Classes */,
|
||||||
|
32C88DFF0371C24200C91783 /* Other Sources */,
|
||||||
|
0867D69AFE84028FC02AAC07 /* Frameworks */,
|
||||||
|
034768DFFF38A50411DB9C8B /* Products */,
|
||||||
|
);
|
||||||
|
name = zxing;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
0867D69AFE84028FC02AAC07 /* Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
AACBBE490F95108600F1A2B1 /* Foundation.framework */,
|
||||||
|
);
|
||||||
|
name = Frameworks;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
08FB77AEFE84172EC02AAC07 /* Classes */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
3BBCB72312DD10DC00B5936D /* Reader.cpp */,
|
||||||
|
3BBCB71F12DD10BC00B5936D /* QRCodeReader.cpp */,
|
||||||
|
3BBCB71D12DD108300B5936D /* Result.cpp */,
|
||||||
|
3B2A338D12CEAA95001D9945 /* DecoderResult.cpp */,
|
||||||
|
3B2A338512CEAA63001D9945 /* BitSource.cpp */,
|
||||||
|
3B2A338112CEAA4B001D9945 /* ReedSolomonException.cpp */,
|
||||||
|
3B2A337D12CEAA37001D9945 /* GF256Poly.cpp */,
|
||||||
|
3B2A337912CEAA20001D9945 /* GF256.cpp */,
|
||||||
|
3B2A337512CEAA06001D9945 /* ReedSolomonDecoder.cpp */,
|
||||||
|
3B2A337112CEA9E2001D9945 /* Mode.cpp */,
|
||||||
|
3B2A336D12CEA9B0001D9945 /* DecodedBitStreamParser.cpp */,
|
||||||
|
3B2A336912CEA997001D9945 /* DataMask.cpp */,
|
||||||
|
3B2A336512CEA976001D9945 /* Str.cpp */,
|
||||||
|
3B2A336112CEA95C001D9945 /* DataBlock.cpp */,
|
||||||
|
3B2A335D12CEA93D001D9945 /* BitMatrixParser.cpp */,
|
||||||
|
3B2A335912CEA925001D9945 /* Decoder.cpp */,
|
||||||
|
3B2A333212CEA6C2001D9945 /* DetectorResult.cpp */,
|
||||||
|
3B2A332E12CEA696001D9945 /* ErrorCorrectionLevel.cpp */,
|
||||||
|
3B2A332A12CEA67F001D9945 /* FormatInformation.cpp */,
|
||||||
|
3B2A332612CEA664001D9945 /* FinderPattern.cpp */,
|
||||||
|
3B2A332212CEA64F001D9945 /* PerspectiveTransform.cpp */,
|
||||||
|
3B2A331E12CEA638001D9945 /* GridSampler.cpp */,
|
||||||
|
3B2A331A12CEA624001D9945 /* FinderPatternInfo.cpp */,
|
||||||
|
3B2A331612CEA60A001D9945 /* DecodeHints.cpp */,
|
||||||
|
3B2A331212CEA5F3001D9945 /* FinderPatternFinder.cpp */,
|
||||||
|
3B2A330E12CEA5D2001D9945 /* Version.cpp */,
|
||||||
|
3B2A330A12CEA5BF001D9945 /* ReaderException.cpp */,
|
||||||
|
3B2A330612CEA59E001D9945 /* ResultPoint.cpp */,
|
||||||
|
3B2A330212CEA55B001D9945 /* AlignmentPatternFinder.cpp */,
|
||||||
|
3B2A32FE12CEA53A001D9945 /* Detector.cpp */,
|
||||||
|
3B2A32E712CEA43A001D9945 /* BinaryBitmap.cpp */,
|
||||||
|
3B2A32CB12CEA380001D9945 /* BitMatrix.cpp */,
|
||||||
|
3B2A32C512CEA2F9001D9945 /* BitArray.cpp */,
|
||||||
|
3B2A32B712CEA285001D9945 /* Binarizer.cpp */,
|
||||||
|
3B2A32B312CEA238001D9945 /* GlobalHistogramBinarizer.cpp */,
|
||||||
|
3B2A32AF12CEA202001D9945 /* HybridBinarizer.cpp */,
|
||||||
|
3B2A325112CE9D31001D9945 /* IllegalArgumentException.cpp */,
|
||||||
|
3B15E78512CE9BF900DC7062 /* Exception.cpp */,
|
||||||
|
3B15E73912CE996800DC7062 /* LuminanceSource.cpp */,
|
||||||
|
3BBF0AED12CBCAFC0061650E /* AlignmentPattern.cpp */,
|
||||||
|
);
|
||||||
|
name = Classes;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
32C88DFF0371C24200C91783 /* Other Sources */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
AA747D9E0F9514B9006C5449 /* ios_Prefix.pch */,
|
||||||
|
);
|
||||||
|
name = "Other Sources";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXHeadersBuildPhase section */
|
||||||
|
D2AAC07A0554694100DB518D /* Headers */ = {
|
||||||
|
isa = PBXHeadersBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
AA747D9F0F9514B9006C5449 /* ios_Prefix.pch in Headers */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXHeadersBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */
|
||||||
|
D2AAC07D0554694100DB518D /* zxing */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "zxing" */;
|
||||||
|
buildPhases = (
|
||||||
|
D2AAC07A0554694100DB518D /* Headers */,
|
||||||
|
D2AAC07B0554694100DB518D /* Sources */,
|
||||||
|
D2AAC07C0554694100DB518D /* Frameworks */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = zxing;
|
||||||
|
productName = zxing;
|
||||||
|
productReference = D2AAC07E0554694100DB518D /* libzxing.a */;
|
||||||
|
productType = "com.apple.product-type.library.static";
|
||||||
|
};
|
||||||
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "ios" */;
|
||||||
|
compatibilityVersion = "Xcode 3.1";
|
||||||
|
developmentRegion = English;
|
||||||
|
hasScannedForEncodings = 1;
|
||||||
|
knownRegions = (
|
||||||
|
English,
|
||||||
|
Japanese,
|
||||||
|
French,
|
||||||
|
German,
|
||||||
|
);
|
||||||
|
mainGroup = 0867D691FE84028FC02AAC07 /* zxing */;
|
||||||
|
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
||||||
|
projectDirPath = "";
|
||||||
|
projectRoot = "";
|
||||||
|
targets = (
|
||||||
|
D2AAC07D0554694100DB518D /* zxing */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
D2AAC07B0554694100DB518D /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
3BBF0AEE12CBCAFC0061650E /* AlignmentPattern.cpp in Sources */,
|
||||||
|
3B15E73A12CE996800DC7062 /* LuminanceSource.cpp in Sources */,
|
||||||
|
3B15E78612CE9BF900DC7062 /* Exception.cpp in Sources */,
|
||||||
|
3B2A325212CE9D31001D9945 /* IllegalArgumentException.cpp in Sources */,
|
||||||
|
3B2A32B012CEA202001D9945 /* HybridBinarizer.cpp in Sources */,
|
||||||
|
3B2A32B412CEA238001D9945 /* GlobalHistogramBinarizer.cpp in Sources */,
|
||||||
|
3B2A32B812CEA285001D9945 /* Binarizer.cpp in Sources */,
|
||||||
|
3B2A32C612CEA2F9001D9945 /* BitArray.cpp in Sources */,
|
||||||
|
3B2A32CC12CEA380001D9945 /* BitMatrix.cpp in Sources */,
|
||||||
|
3B2A32E812CEA43A001D9945 /* BinaryBitmap.cpp in Sources */,
|
||||||
|
3B2A32FF12CEA53A001D9945 /* Detector.cpp in Sources */,
|
||||||
|
3B2A330312CEA55B001D9945 /* AlignmentPatternFinder.cpp in Sources */,
|
||||||
|
3B2A330712CEA59E001D9945 /* ResultPoint.cpp in Sources */,
|
||||||
|
3B2A330B12CEA5BF001D9945 /* ReaderException.cpp in Sources */,
|
||||||
|
3B2A330F12CEA5D2001D9945 /* Version.cpp in Sources */,
|
||||||
|
3B2A331312CEA5F3001D9945 /* FinderPatternFinder.cpp in Sources */,
|
||||||
|
3B2A331712CEA60A001D9945 /* DecodeHints.cpp in Sources */,
|
||||||
|
3B2A331B12CEA624001D9945 /* FinderPatternInfo.cpp in Sources */,
|
||||||
|
3B2A331F12CEA638001D9945 /* GridSampler.cpp in Sources */,
|
||||||
|
3B2A332312CEA64F001D9945 /* PerspectiveTransform.cpp in Sources */,
|
||||||
|
3B2A332712CEA664001D9945 /* FinderPattern.cpp in Sources */,
|
||||||
|
3B2A332B12CEA67F001D9945 /* FormatInformation.cpp in Sources */,
|
||||||
|
3B2A332F12CEA696001D9945 /* ErrorCorrectionLevel.cpp in Sources */,
|
||||||
|
3B2A333312CEA6C2001D9945 /* DetectorResult.cpp in Sources */,
|
||||||
|
3B2A335A12CEA925001D9945 /* Decoder.cpp in Sources */,
|
||||||
|
3B2A335E12CEA93D001D9945 /* BitMatrixParser.cpp in Sources */,
|
||||||
|
3B2A336212CEA95C001D9945 /* DataBlock.cpp in Sources */,
|
||||||
|
3B2A336612CEA976001D9945 /* Str.cpp in Sources */,
|
||||||
|
3B2A336A12CEA997001D9945 /* DataMask.cpp in Sources */,
|
||||||
|
3B2A336E12CEA9B0001D9945 /* DecodedBitStreamParser.cpp in Sources */,
|
||||||
|
3B2A337212CEA9E2001D9945 /* Mode.cpp in Sources */,
|
||||||
|
3B2A337612CEAA06001D9945 /* ReedSolomonDecoder.cpp in Sources */,
|
||||||
|
3B2A337A12CEAA20001D9945 /* GF256.cpp in Sources */,
|
||||||
|
3B2A337E12CEAA37001D9945 /* GF256Poly.cpp in Sources */,
|
||||||
|
3B2A338212CEAA4B001D9945 /* ReedSolomonException.cpp in Sources */,
|
||||||
|
3B2A338612CEAA63001D9945 /* BitSource.cpp in Sources */,
|
||||||
|
3B2A338E12CEAA95001D9945 /* DecoderResult.cpp in Sources */,
|
||||||
|
3BBCB71E12DD108300B5936D /* Result.cpp in Sources */,
|
||||||
|
3BBCB72012DD10BC00B5936D /* QRCodeReader.cpp in Sources */,
|
||||||
|
3BBCB72412DD10DC00B5936D /* Reader.cpp in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
1DEB921F08733DC00010E9CD /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DSTROOT = /tmp/zxing.dst;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||||
|
GCC_MODEL_TUNING = G5;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
GCC_PREFIX_HEADER = ios_Prefix.pch;
|
||||||
|
INSTALL_PATH = /usr/local/lib;
|
||||||
|
PRODUCT_NAME = zxing;
|
||||||
|
WARNING_CFLAGS = (
|
||||||
|
"-Werror",
|
||||||
|
"-Wextra",
|
||||||
|
"-Wall",
|
||||||
|
"-Wno-unused-parameter",
|
||||||
|
);
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
1DEB922008733DC00010E9CD /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||||
|
DSTROOT = /tmp/zxing.dst;
|
||||||
|
GCC_MODEL_TUNING = G5;
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
GCC_PREFIX_HEADER = ios_Prefix.pch;
|
||||||
|
INSTALL_PATH = /usr/local/lib;
|
||||||
|
PRODUCT_NAME = zxing;
|
||||||
|
WARNING_CFLAGS = (
|
||||||
|
"-Werror",
|
||||||
|
"-Wextra",
|
||||||
|
"-Wall",
|
||||||
|
"-Wno-unused-parameter",
|
||||||
|
);
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
1DEB922308733DC00010E9CD /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||||
|
GCC_C_LANGUAGE_STANDARD = c99;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
HEADER_SEARCH_PATHS = core/src;
|
||||||
|
OTHER_LDFLAGS = "-ObjC";
|
||||||
|
PREBINDING = NO;
|
||||||
|
SDKROOT = iphoneos;
|
||||||
|
WARNING_CFLAGS = (
|
||||||
|
"-Wno-unused-parameter",
|
||||||
|
"-Werror",
|
||||||
|
"-Wextra",
|
||||||
|
"-Wall",
|
||||||
|
);
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
1DEB922408733DC00010E9CD /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||||
|
GCC_C_LANGUAGE_STANDARD = c99;
|
||||||
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
HEADER_SEARCH_PATHS = core/src;
|
||||||
|
OTHER_LDFLAGS = "-ObjC";
|
||||||
|
PREBINDING = NO;
|
||||||
|
SDKROOT = iphoneos;
|
||||||
|
WARNING_CFLAGS = (
|
||||||
|
"-Wno-unused-parameter",
|
||||||
|
"-Werror",
|
||||||
|
"-Wextra",
|
||||||
|
"-Wall",
|
||||||
|
);
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "zxing" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
1DEB921F08733DC00010E9CD /* Debug */,
|
||||||
|
1DEB922008733DC00010E9CD /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "ios" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
1DEB922308733DC00010E9CD /* Debug */,
|
||||||
|
1DEB922408733DC00010E9CD /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||||
|
}
|
7
cpp/ios_Prefix.pch
Normal file
7
cpp/ios_Prefix.pch
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
//
|
||||||
|
// Prefix header for all source files of the 'CocoaTouchStaticLibrary' target in the 'CocoaTouchStaticLibrary' project.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifdef __OBJC__
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#endif
|
|
@ -854,7 +854,11 @@
|
||||||
isa = PBXProject;
|
isa = PBXProject;
|
||||||
buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "osx" */;
|
buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "osx" */;
|
||||||
compatibilityVersion = "Xcode 3.1";
|
compatibilityVersion = "Xcode 3.1";
|
||||||
|
developmentRegion = English;
|
||||||
hasScannedForEncodings = 1;
|
hasScannedForEncodings = 1;
|
||||||
|
knownRegions = (
|
||||||
|
en,
|
||||||
|
);
|
||||||
mainGroup = 0867D691FE84028FC02AAC07 /* osx */;
|
mainGroup = 0867D691FE84028FC02AAC07 /* osx */;
|
||||||
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
|
@ -952,7 +956,6 @@
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
|
|
||||||
GCC_OPTIMIZATION_LEVEL = 0;
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
@ -970,7 +973,6 @@
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99;
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
GCC_INLINES_ARE_PRIVATE_EXTERN = YES;
|
|
||||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
HEADER_SEARCH_PATHS = core/src;
|
HEADER_SEARCH_PATHS = core/src;
|
||||||
|
@ -987,6 +989,7 @@
|
||||||
GCC_DYNAMIC_NO_PIC = NO;
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||||
GCC_OPTIMIZATION_LEVEL = 0;
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_VERSION = 4.2;
|
||||||
INSTALL_PATH = /usr/local/lib;
|
INSTALL_PATH = /usr/local/lib;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"-framework",
|
"-framework",
|
||||||
|
@ -1005,6 +1008,7 @@
|
||||||
COPY_PHASE_STRIP = YES;
|
COPY_PHASE_STRIP = YES;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
GCC_ENABLE_FIX_AND_CONTINUE = NO;
|
GCC_ENABLE_FIX_AND_CONTINUE = NO;
|
||||||
|
GCC_VERSION = 4.2;
|
||||||
INSTALL_PATH = /usr/local/lib;
|
INSTALL_PATH = /usr/local/lib;
|
||||||
OTHER_LDFLAGS = (
|
OTHER_LDFLAGS = (
|
||||||
"-framework",
|
"-framework",
|
||||||
|
|
2
objc/ios.xcodeproj/.gitignore
vendored
Normal file
2
objc/ios.xcodeproj/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
/*.mode1v3
|
||||||
|
/*.pbxuser
|
302
objc/ios.xcodeproj/project.pbxproj
Normal file
302
objc/ios.xcodeproj/project.pbxproj
Normal file
|
@ -0,0 +1,302 @@
|
||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 45;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
3B15E6FE12CE970000DC7062 /* ZXLuminanceSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3B15E6FD12CE970000DC7062 /* ZXLuminanceSource.mm */; };
|
||||||
|
3B15E70012CE971100DC7062 /* CGImageLuminanceSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3B15E6FF12CE971100DC7062 /* CGImageLuminanceSource.mm */; };
|
||||||
|
3BBCB5B312DD018600B5936D /* ZXCaptureView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB5B212DD018600B5936D /* ZXCaptureView.mm */; };
|
||||||
|
3BBCB60A12DD084000B5936D /* ZXCapture.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB60912DD084000B5936D /* ZXCapture.mm */; };
|
||||||
|
3BBCB6A912DD0B1900B5936D /* ZXBinaryBitmap.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB6A812DD0B1900B5936D /* ZXBinaryBitmap.mm */; };
|
||||||
|
3BBCB6B112DD0B4C00B5936D /* ZXDecodeHints.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB6AC12DD0B4C00B5936D /* ZXDecodeHints.mm */; };
|
||||||
|
3BBCB6B212DD0B4C00B5936D /* ZXHybridBinarizer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB6AD12DD0B4C00B5936D /* ZXHybridBinarizer.mm */; };
|
||||||
|
3BBCB6B312DD0B4C00B5936D /* ZXIllegalArgumentException.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB6AE12DD0B4C00B5936D /* ZXIllegalArgumentException.mm */; };
|
||||||
|
3BBCB6B412DD0B4C00B5936D /* ZXQRCodeReader.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB6AF12DD0B4C00B5936D /* ZXQRCodeReader.mm */; };
|
||||||
|
3BBCB6B512DD0B4C00B5936D /* ZXReaderException.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB6B012DD0B4C00B5936D /* ZXReaderException.mm */; };
|
||||||
|
3BBCB6BB12DD0B8100B5936D /* ZXBinarizer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB6B812DD0B8100B5936D /* ZXBinarizer.mm */; };
|
||||||
|
3BBCB6BC12DD0B8100B5936D /* ZXCGImageLuminanceSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB6B912DD0B8100B5936D /* ZXCGImageLuminanceSource.mm */; };
|
||||||
|
3BBCB6BD12DD0B8100B5936D /* ZXReader.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB6BA12DD0B8100B5936D /* ZXReader.mm */; };
|
||||||
|
3BBCB71512DD105C00B5936D /* ZXResult.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BBCB71412DD105C00B5936D /* ZXResult.mm */; };
|
||||||
|
AA747D9F0F9514B9006C5449 /* ios_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = AA747D9E0F9514B9006C5449 /* ios_Prefix.pch */; };
|
||||||
|
AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
3B15E6FD12CE970000DC7062 /* ZXLuminanceSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXLuminanceSource.mm; path = src/zxing/ZXLuminanceSource.mm; sourceTree = "<group>"; };
|
||||||
|
3B15E6FF12CE971100DC7062 /* CGImageLuminanceSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CGImageLuminanceSource.mm; path = src/zxing/CGImageLuminanceSource.mm; sourceTree = "<group>"; };
|
||||||
|
3BBCB5B212DD018600B5936D /* ZXCaptureView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXCaptureView.mm; path = src/zxing/ZXCaptureView.mm; sourceTree = "<group>"; };
|
||||||
|
3BBCB60912DD084000B5936D /* ZXCapture.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXCapture.mm; path = src/zxing/ZXCapture.mm; sourceTree = "<group>"; };
|
||||||
|
3BBCB6A812DD0B1900B5936D /* ZXBinaryBitmap.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXBinaryBitmap.mm; path = src/zxing/ZXBinaryBitmap.mm; sourceTree = "<group>"; };
|
||||||
|
3BBCB6AC12DD0B4C00B5936D /* ZXDecodeHints.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXDecodeHints.mm; path = src/zxing/ZXDecodeHints.mm; sourceTree = "<group>"; };
|
||||||
|
3BBCB6AD12DD0B4C00B5936D /* ZXHybridBinarizer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXHybridBinarizer.mm; path = src/zxing/ZXHybridBinarizer.mm; sourceTree = "<group>"; };
|
||||||
|
3BBCB6AE12DD0B4C00B5936D /* ZXIllegalArgumentException.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXIllegalArgumentException.mm; path = src/zxing/ZXIllegalArgumentException.mm; sourceTree = "<group>"; };
|
||||||
|
3BBCB6AF12DD0B4C00B5936D /* ZXQRCodeReader.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXQRCodeReader.mm; path = src/zxing/ZXQRCodeReader.mm; sourceTree = "<group>"; };
|
||||||
|
3BBCB6B012DD0B4C00B5936D /* ZXReaderException.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXReaderException.mm; path = src/zxing/ZXReaderException.mm; sourceTree = "<group>"; };
|
||||||
|
3BBCB6B812DD0B8100B5936D /* ZXBinarizer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXBinarizer.mm; path = src/zxing/ZXBinarizer.mm; sourceTree = "<group>"; };
|
||||||
|
3BBCB6B912DD0B8100B5936D /* ZXCGImageLuminanceSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXCGImageLuminanceSource.mm; path = src/zxing/ZXCGImageLuminanceSource.mm; sourceTree = "<group>"; };
|
||||||
|
3BBCB6BA12DD0B8100B5936D /* ZXReader.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXReader.mm; path = src/zxing/ZXReader.mm; sourceTree = "<group>"; };
|
||||||
|
3BBCB71412DD105C00B5936D /* ZXResult.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXResult.mm; path = src/zxing/ZXResult.mm; sourceTree = "<group>"; };
|
||||||
|
AA747D9E0F9514B9006C5449 /* ios_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ios_Prefix.pch; sourceTree = SOURCE_ROOT; };
|
||||||
|
AACBBE490F95108600F1A2B1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
|
||||||
|
D2AAC07E0554694100DB518D /* libzxingmm.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libzxingmm.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
D2AAC07C0554694100DB518D /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
034768DFFF38A50411DB9C8B /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D2AAC07E0554694100DB518D /* libzxingmm.a */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
0867D691FE84028FC02AAC07 /* zxingmm */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
08FB77AEFE84172EC02AAC07 /* Classes */,
|
||||||
|
32C88DFF0371C24200C91783 /* Other Sources */,
|
||||||
|
0867D69AFE84028FC02AAC07 /* Frameworks */,
|
||||||
|
034768DFFF38A50411DB9C8B /* Products */,
|
||||||
|
);
|
||||||
|
name = zxingmm;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
0867D69AFE84028FC02AAC07 /* Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
AACBBE490F95108600F1A2B1 /* Foundation.framework */,
|
||||||
|
);
|
||||||
|
name = Frameworks;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
08FB77AEFE84172EC02AAC07 /* Classes */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
3BBCB71412DD105C00B5936D /* ZXResult.mm */,
|
||||||
|
3BBCB6B812DD0B8100B5936D /* ZXBinarizer.mm */,
|
||||||
|
3BBCB6B912DD0B8100B5936D /* ZXCGImageLuminanceSource.mm */,
|
||||||
|
3BBCB6BA12DD0B8100B5936D /* ZXReader.mm */,
|
||||||
|
3BBCB6AC12DD0B4C00B5936D /* ZXDecodeHints.mm */,
|
||||||
|
3BBCB6AD12DD0B4C00B5936D /* ZXHybridBinarizer.mm */,
|
||||||
|
3BBCB6AE12DD0B4C00B5936D /* ZXIllegalArgumentException.mm */,
|
||||||
|
3BBCB6AF12DD0B4C00B5936D /* ZXQRCodeReader.mm */,
|
||||||
|
3BBCB6B012DD0B4C00B5936D /* ZXReaderException.mm */,
|
||||||
|
3BBCB6A812DD0B1900B5936D /* ZXBinaryBitmap.mm */,
|
||||||
|
3BBCB60912DD084000B5936D /* ZXCapture.mm */,
|
||||||
|
3BBCB5B212DD018600B5936D /* ZXCaptureView.mm */,
|
||||||
|
3B15E6FF12CE971100DC7062 /* CGImageLuminanceSource.mm */,
|
||||||
|
3B15E6FD12CE970000DC7062 /* ZXLuminanceSource.mm */,
|
||||||
|
);
|
||||||
|
name = Classes;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
32C88DFF0371C24200C91783 /* Other Sources */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
AA747D9E0F9514B9006C5449 /* ios_Prefix.pch */,
|
||||||
|
);
|
||||||
|
name = "Other Sources";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXHeadersBuildPhase section */
|
||||||
|
D2AAC07A0554694100DB518D /* Headers */ = {
|
||||||
|
isa = PBXHeadersBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
AA747D9F0F9514B9006C5449 /* ios_Prefix.pch in Headers */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXHeadersBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */
|
||||||
|
D2AAC07D0554694100DB518D /* zxingmm */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "zxingmm" */;
|
||||||
|
buildPhases = (
|
||||||
|
D2AAC07A0554694100DB518D /* Headers */,
|
||||||
|
D2AAC07B0554694100DB518D /* Sources */,
|
||||||
|
D2AAC07C0554694100DB518D /* Frameworks */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = zxingmm;
|
||||||
|
productName = zxingmm;
|
||||||
|
productReference = D2AAC07E0554694100DB518D /* libzxingmm.a */;
|
||||||
|
productType = "com.apple.product-type.library.static";
|
||||||
|
};
|
||||||
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "ios" */;
|
||||||
|
compatibilityVersion = "Xcode 3.1";
|
||||||
|
developmentRegion = English;
|
||||||
|
hasScannedForEncodings = 1;
|
||||||
|
knownRegions = (
|
||||||
|
English,
|
||||||
|
Japanese,
|
||||||
|
French,
|
||||||
|
German,
|
||||||
|
);
|
||||||
|
mainGroup = 0867D691FE84028FC02AAC07 /* zxingmm */;
|
||||||
|
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
||||||
|
projectDirPath = "";
|
||||||
|
projectRoot = "";
|
||||||
|
targets = (
|
||||||
|
D2AAC07D0554694100DB518D /* zxingmm */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
D2AAC07B0554694100DB518D /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
3B15E6FE12CE970000DC7062 /* ZXLuminanceSource.mm in Sources */,
|
||||||
|
3B15E70012CE971100DC7062 /* CGImageLuminanceSource.mm in Sources */,
|
||||||
|
3BBCB5B312DD018600B5936D /* ZXCaptureView.mm in Sources */,
|
||||||
|
3BBCB60A12DD084000B5936D /* ZXCapture.mm in Sources */,
|
||||||
|
3BBCB6A912DD0B1900B5936D /* ZXBinaryBitmap.mm in Sources */,
|
||||||
|
3BBCB6B112DD0B4C00B5936D /* ZXDecodeHints.mm in Sources */,
|
||||||
|
3BBCB6B212DD0B4C00B5936D /* ZXHybridBinarizer.mm in Sources */,
|
||||||
|
3BBCB6B312DD0B4C00B5936D /* ZXIllegalArgumentException.mm in Sources */,
|
||||||
|
3BBCB6B412DD0B4C00B5936D /* ZXQRCodeReader.mm in Sources */,
|
||||||
|
3BBCB6B512DD0B4C00B5936D /* ZXReaderException.mm in Sources */,
|
||||||
|
3BBCB6BB12DD0B8100B5936D /* ZXBinarizer.mm in Sources */,
|
||||||
|
3BBCB6BC12DD0B8100B5936D /* ZXCGImageLuminanceSource.mm in Sources */,
|
||||||
|
3BBCB6BD12DD0B8100B5936D /* ZXReader.mm in Sources */,
|
||||||
|
3BBCB71512DD105C00B5936D /* ZXResult.mm in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
1DEB921F08733DC00010E9CD /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DSTROOT = /tmp/zxingmm.dst;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||||
|
GCC_MODEL_TUNING = G5;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
GCC_PREFIX_HEADER = ios_Prefix.pch;
|
||||||
|
INSTALL_PATH = /usr/local/lib;
|
||||||
|
PRODUCT_NAME = zxingmm;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
1DEB922008733DC00010E9CD /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||||
|
DSTROOT = /tmp/zxingmm.dst;
|
||||||
|
GCC_MODEL_TUNING = G5;
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
GCC_PREFIX_HEADER = ios_Prefix.pch;
|
||||||
|
INSTALL_PATH = /usr/local/lib;
|
||||||
|
PRODUCT_NAME = zxingmm;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
1DEB922308733DC00010E9CD /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||||
|
GCC_C_LANGUAGE_STANDARD = c99;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
HEADER_SEARCH_PATHS = (
|
||||||
|
../cpp/core/src,
|
||||||
|
src,
|
||||||
|
);
|
||||||
|
OTHER_LDFLAGS = "-ObjC";
|
||||||
|
PREBINDING = NO;
|
||||||
|
SDKROOT = iphoneos;
|
||||||
|
WARNING_CFLAGS = (
|
||||||
|
"-Wextra",
|
||||||
|
"-Werror",
|
||||||
|
"-Wall",
|
||||||
|
"-Wno-unused-parameter",
|
||||||
|
);
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
1DEB922408733DC00010E9CD /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
|
||||||
|
GCC_C_LANGUAGE_STANDARD = c99;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
HEADER_SEARCH_PATHS = (
|
||||||
|
../cpp/core/src,
|
||||||
|
src,
|
||||||
|
);
|
||||||
|
OTHER_LDFLAGS = "-ObjC";
|
||||||
|
PREBINDING = NO;
|
||||||
|
SDKROOT = iphoneos;
|
||||||
|
WARNING_CFLAGS = (
|
||||||
|
"-Wextra",
|
||||||
|
"-Werror",
|
||||||
|
"-Wall",
|
||||||
|
"-Wno-unused-parameter",
|
||||||
|
);
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "zxingmm" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
1DEB921F08733DC00010E9CD /* Debug */,
|
||||||
|
1DEB922008733DC00010E9CD /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "ios" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
1DEB922308733DC00010E9CD /* Debug */,
|
||||||
|
1DEB922408733DC00010E9CD /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||||
|
}
|
8
objc/ios_Prefix.pch
Normal file
8
objc/ios_Prefix.pch
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
//
|
||||||
|
// Prefix header for all source files of the 'CocoaTouchStaticLibrary' target in the 'CocoaTouchStaticLibrary' project.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifdef __OBJC__
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#endif
|
471
objc/osx.xcodeproj/project.pbxproj
Normal file
471
objc/osx.xcodeproj/project.pbxproj
Normal file
|
@ -0,0 +1,471 @@
|
||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 45;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
3B0BF98C1221ED4500F0BD0F /* ZXBinarizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B0BF9821221ED4500F0BD0F /* ZXBinarizer.h */; };
|
||||||
|
3B0BF98D1221ED4500F0BD0F /* ZXBinarizer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3B0BF9831221ED4500F0BD0F /* ZXBinarizer.mm */; };
|
||||||
|
3B0BF98E1221ED4500F0BD0F /* ZXBinaryBitmap.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B0BF9841221ED4500F0BD0F /* ZXBinaryBitmap.h */; };
|
||||||
|
3B0BF98F1221ED4500F0BD0F /* ZXBinaryBitmap.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3B0BF9851221ED4500F0BD0F /* ZXBinaryBitmap.mm */; };
|
||||||
|
3B0BF9901221ED4500F0BD0F /* ZXDecodeHints.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B0BF9861221ED4500F0BD0F /* ZXDecodeHints.h */; };
|
||||||
|
3B0BF9911221ED4500F0BD0F /* ZXDecodeHints.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3B0BF9871221ED4500F0BD0F /* ZXDecodeHints.mm */; };
|
||||||
|
3B0BF9921221ED4500F0BD0F /* ZXHybridBinarizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B0BF9881221ED4500F0BD0F /* ZXHybridBinarizer.h */; };
|
||||||
|
3B0BF9931221ED4500F0BD0F /* ZXHybridBinarizer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3B0BF9891221ED4500F0BD0F /* ZXHybridBinarizer.mm */; };
|
||||||
|
3B0BF9941221ED4500F0BD0F /* ZXResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B0BF98A1221ED4500F0BD0F /* ZXResult.h */; };
|
||||||
|
3B0BF9951221ED4500F0BD0F /* ZXResult.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3B0BF98B1221ED4500F0BD0F /* ZXResult.mm */; };
|
||||||
|
3B1E842A1222D432000D7528 /* ZXCaptureDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B1E84291222D432000D7528 /* ZXCaptureDelegate.h */; };
|
||||||
|
3B1E84591222DBBE000D7528 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B1E84581222DBBE000D7528 /* QuartzCore.framework */; };
|
||||||
|
3B98744E12235C340013711B /* ZXQRCodeReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B98744C12235C340013711B /* ZXQRCodeReader.h */; };
|
||||||
|
3B98744F12235C340013711B /* ZXQRCodeReader.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3B98744D12235C340013711B /* ZXQRCodeReader.mm */; };
|
||||||
|
3B98746C12235EC40013711B /* ZXIllegalArgumentException.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B98746A12235EC40013711B /* ZXIllegalArgumentException.h */; };
|
||||||
|
3B98746D12235EC40013711B /* ZXReaderException.h in Headers */ = {isa = PBXBuildFile; fileRef = 3B98746B12235EC40013711B /* ZXReaderException.h */; };
|
||||||
|
3B98747912235FEE0013711B /* ZXIllegalArgumentException.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3B98747712235FEE0013711B /* ZXIllegalArgumentException.mm */; };
|
||||||
|
3B98747A12235FEE0013711B /* ZXReaderException.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3B98747812235FEE0013711B /* ZXReaderException.mm */; };
|
||||||
|
3BB8D3C31222172900F86718 /* ZXCapture.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BB8D3BF1222172900F86718 /* ZXCapture.h */; };
|
||||||
|
3BB8D3C41222172900F86718 /* ZXCaptureView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BB8D3C01222172900F86718 /* ZXCaptureView.h */; };
|
||||||
|
3BB8D3C51222172900F86718 /* ZXCaptureView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BB8D3C11222172900F86718 /* ZXCaptureView.mm */; };
|
||||||
|
3BB8D3C61222172900F86718 /* ZXView.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BB8D3C21222172900F86718 /* ZXView.h */; };
|
||||||
|
3BCF09731221957200C3E580 /* ZXMultiFormatReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BCF096F1221957200C3E580 /* ZXMultiFormatReader.h */; };
|
||||||
|
3BCF09741221957200C3E580 /* ZXMultiFormatReader.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BCF09701221957200C3E580 /* ZXMultiFormatReader.mm */; };
|
||||||
|
3BCF09751221957200C3E580 /* ZXReader.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BCF09711221957200C3E580 /* ZXReader.h */; };
|
||||||
|
3BCF09761221957200C3E580 /* ZXReader.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BCF09721221957200C3E580 /* ZXReader.mm */; };
|
||||||
|
3BE809B512221C7D00AA1B63 /* ZXCapture.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BE809B412221C7D00AA1B63 /* ZXCapture.mm */; };
|
||||||
|
3BE809D1122221CF00AA1B63 /* QTKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BE809D0122221CF00AA1B63 /* QTKit.framework */; };
|
||||||
|
3BE809D71222222800AA1B63 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BE809D61222222800AA1B63 /* CoreVideo.framework */; };
|
||||||
|
3BED8A3E122198540016F4E8 /* libzxing.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BED8A39122198210016F4E8 /* libzxing.a */; };
|
||||||
|
3BED8A42122198850016F4E8 /* libiconv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 3BED8A41122198850016F4E8 /* libiconv.dylib */; };
|
||||||
|
3BED8A4E12219CB10016F4E8 /* ZXInit.c in Sources */ = {isa = PBXBuildFile; fileRef = 3BED8A4D12219CB10016F4E8 /* ZXInit.c */; };
|
||||||
|
3BED8A5F1221B0270016F4E8 /* ZXImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BED8A5D1221B0270016F4E8 /* ZXImage.h */; };
|
||||||
|
3BED8A601221B0270016F4E8 /* ZXImage.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BED8A5E1221B0270016F4E8 /* ZXImage.mm */; };
|
||||||
|
3BED8A831221B7870016F4E8 /* ZXCGImageLuminanceSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BED8A811221B7870016F4E8 /* ZXCGImageLuminanceSource.h */; };
|
||||||
|
3BED8A841221B7870016F4E8 /* ZXCGImageLuminanceSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BED8A821221B7870016F4E8 /* ZXCGImageLuminanceSource.mm */; };
|
||||||
|
3BED8A8E1221B84E0016F4E8 /* CGImageLuminanceSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BED8A8C1221B84E0016F4E8 /* CGImageLuminanceSource.mm */; };
|
||||||
|
3BED8A8F1221B84E0016F4E8 /* CGImageLuminanceSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BED8A8D1221B84E0016F4E8 /* CGImageLuminanceSource.h */; };
|
||||||
|
3BED8A9A1221B92B0016F4E8 /* ZXLuminanceSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 3BED8A981221B92B0016F4E8 /* ZXLuminanceSource.h */; };
|
||||||
|
3BED8A9B1221B92B0016F4E8 /* ZXLuminanceSource.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3BED8A991221B92B0016F4E8 /* ZXLuminanceSource.mm */; };
|
||||||
|
D2AAC0CC05546C4400DB518D /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXContainerItemProxy section */
|
||||||
|
3BED8A38122198210016F4E8 /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = 3BED8A31122198210016F4E8 /* osx.xcodeproj */;
|
||||||
|
proxyType = 2;
|
||||||
|
remoteGlobalIDString = 3B5B0DFF121C525D005698F8;
|
||||||
|
remoteInfo = zxing;
|
||||||
|
};
|
||||||
|
3BED8A3A122198300016F4E8 /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = 3BED8A31122198210016F4E8 /* osx.xcodeproj */;
|
||||||
|
proxyType = 1;
|
||||||
|
remoteGlobalIDString = 3B5B0DFE121C525D005698F8;
|
||||||
|
remoteInfo = zxing;
|
||||||
|
};
|
||||||
|
/* End PBXContainerItemProxy section */
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
0867D69BFE84028FC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||||
|
0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||||
|
1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||||
|
3B0BF9821221ED4500F0BD0F /* ZXBinarizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXBinarizer.h; path = src/zxing/ZXBinarizer.h; sourceTree = "<group>"; };
|
||||||
|
3B0BF9831221ED4500F0BD0F /* ZXBinarizer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXBinarizer.mm; path = src/zxing/ZXBinarizer.mm; sourceTree = "<group>"; };
|
||||||
|
3B0BF9841221ED4500F0BD0F /* ZXBinaryBitmap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXBinaryBitmap.h; path = src/zxing/ZXBinaryBitmap.h; sourceTree = "<group>"; };
|
||||||
|
3B0BF9851221ED4500F0BD0F /* ZXBinaryBitmap.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXBinaryBitmap.mm; path = src/zxing/ZXBinaryBitmap.mm; sourceTree = "<group>"; };
|
||||||
|
3B0BF9861221ED4500F0BD0F /* ZXDecodeHints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXDecodeHints.h; path = src/zxing/ZXDecodeHints.h; sourceTree = "<group>"; };
|
||||||
|
3B0BF9871221ED4500F0BD0F /* ZXDecodeHints.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXDecodeHints.mm; path = src/zxing/ZXDecodeHints.mm; sourceTree = "<group>"; };
|
||||||
|
3B0BF9881221ED4500F0BD0F /* ZXHybridBinarizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXHybridBinarizer.h; path = src/zxing/ZXHybridBinarizer.h; sourceTree = "<group>"; };
|
||||||
|
3B0BF9891221ED4500F0BD0F /* ZXHybridBinarizer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXHybridBinarizer.mm; path = src/zxing/ZXHybridBinarizer.mm; sourceTree = "<group>"; };
|
||||||
|
3B0BF98A1221ED4500F0BD0F /* ZXResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXResult.h; path = src/zxing/ZXResult.h; sourceTree = "<group>"; };
|
||||||
|
3B0BF98B1221ED4500F0BD0F /* ZXResult.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXResult.mm; path = src/zxing/ZXResult.mm; sourceTree = "<group>"; };
|
||||||
|
3B1E84291222D432000D7528 /* ZXCaptureDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXCaptureDelegate.h; path = src/zxing/ZXCaptureDelegate.h; sourceTree = "<group>"; };
|
||||||
|
3B1E84581222DBBE000D7528 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||||
|
3B98744C12235C340013711B /* ZXQRCodeReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXQRCodeReader.h; path = src/zxing/ZXQRCodeReader.h; sourceTree = "<group>"; };
|
||||||
|
3B98744D12235C340013711B /* ZXQRCodeReader.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXQRCodeReader.mm; path = src/zxing/ZXQRCodeReader.mm; sourceTree = "<group>"; };
|
||||||
|
3B98746A12235EC40013711B /* ZXIllegalArgumentException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXIllegalArgumentException.h; path = src/zxing/ZXIllegalArgumentException.h; sourceTree = "<group>"; };
|
||||||
|
3B98746B12235EC40013711B /* ZXReaderException.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXReaderException.h; path = src/zxing/ZXReaderException.h; sourceTree = "<group>"; };
|
||||||
|
3B98747712235FEE0013711B /* ZXIllegalArgumentException.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXIllegalArgumentException.mm; path = src/zxing/ZXIllegalArgumentException.mm; sourceTree = "<group>"; };
|
||||||
|
3B98747812235FEE0013711B /* ZXReaderException.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXReaderException.mm; path = src/zxing/ZXReaderException.mm; sourceTree = "<group>"; };
|
||||||
|
3BB8D3BF1222172900F86718 /* ZXCapture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXCapture.h; path = src/zxing/ZXCapture.h; sourceTree = "<group>"; };
|
||||||
|
3BB8D3C01222172900F86718 /* ZXCaptureView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXCaptureView.h; path = src/zxing/ZXCaptureView.h; sourceTree = "<group>"; };
|
||||||
|
3BB8D3C11222172900F86718 /* ZXCaptureView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXCaptureView.mm; path = src/zxing/ZXCaptureView.mm; sourceTree = "<group>"; };
|
||||||
|
3BB8D3C21222172900F86718 /* ZXView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXView.h; path = src/zxing/ZXView.h; sourceTree = "<group>"; };
|
||||||
|
3BCF096F1221957200C3E580 /* ZXMultiFormatReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXMultiFormatReader.h; path = src/zxing/ZXMultiFormatReader.h; sourceTree = "<group>"; };
|
||||||
|
3BCF09701221957200C3E580 /* ZXMultiFormatReader.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXMultiFormatReader.mm; path = src/zxing/ZXMultiFormatReader.mm; sourceTree = "<group>"; };
|
||||||
|
3BCF09711221957200C3E580 /* ZXReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXReader.h; path = src/zxing/ZXReader.h; sourceTree = "<group>"; };
|
||||||
|
3BCF09721221957200C3E580 /* ZXReader.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXReader.mm; path = src/zxing/ZXReader.mm; sourceTree = "<group>"; };
|
||||||
|
3BE809B412221C7D00AA1B63 /* ZXCapture.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXCapture.mm; path = src/zxing/ZXCapture.mm; sourceTree = "<group>"; };
|
||||||
|
3BE809D0122221CF00AA1B63 /* QTKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QTKit.framework; path = System/Library/Frameworks/QTKit.framework; sourceTree = SDKROOT; };
|
||||||
|
3BE809D61222222800AA1B63 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; };
|
||||||
|
3BED8A31122198210016F4E8 /* osx.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = osx.xcodeproj; path = ../cpp/osx.xcodeproj; sourceTree = SOURCE_ROOT; };
|
||||||
|
3BED8A41122198850016F4E8 /* libiconv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libiconv.dylib; path = usr/lib/libiconv.dylib; sourceTree = SDKROOT; };
|
||||||
|
3BED8A4D12219CB10016F4E8 /* ZXInit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ZXInit.c; path = src/zxing/ZXInit.c; sourceTree = "<group>"; };
|
||||||
|
3BED8A5D1221B0270016F4E8 /* ZXImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXImage.h; path = src/zxing/ZXImage.h; sourceTree = "<group>"; };
|
||||||
|
3BED8A5E1221B0270016F4E8 /* ZXImage.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXImage.mm; path = src/zxing/ZXImage.mm; sourceTree = "<group>"; };
|
||||||
|
3BED8A811221B7870016F4E8 /* ZXCGImageLuminanceSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXCGImageLuminanceSource.h; path = src/zxing/ZXCGImageLuminanceSource.h; sourceTree = "<group>"; };
|
||||||
|
3BED8A821221B7870016F4E8 /* ZXCGImageLuminanceSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXCGImageLuminanceSource.mm; path = src/zxing/ZXCGImageLuminanceSource.mm; sourceTree = "<group>"; };
|
||||||
|
3BED8A8C1221B84E0016F4E8 /* CGImageLuminanceSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CGImageLuminanceSource.mm; path = src/zxing/CGImageLuminanceSource.mm; sourceTree = "<group>"; };
|
||||||
|
3BED8A8D1221B84E0016F4E8 /* CGImageLuminanceSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CGImageLuminanceSource.h; path = src/zxing/CGImageLuminanceSource.h; sourceTree = "<group>"; };
|
||||||
|
3BED8A981221B92B0016F4E8 /* ZXLuminanceSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ZXLuminanceSource.h; path = src/zxing/ZXLuminanceSource.h; sourceTree = "<group>"; };
|
||||||
|
3BED8A991221B92B0016F4E8 /* ZXLuminanceSource.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ZXLuminanceSource.mm; path = src/zxing/ZXLuminanceSource.mm; sourceTree = "<group>"; };
|
||||||
|
D2AAC0C705546C1D00DB518D /* zxing.bundle */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = zxing.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
D2AAC0C505546C1D00DB518D /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
3BED8A3E122198540016F4E8 /* libzxing.a in Frameworks */,
|
||||||
|
D2AAC0CC05546C4400DB518D /* Cocoa.framework in Frameworks */,
|
||||||
|
3BED8A42122198850016F4E8 /* libiconv.dylib in Frameworks */,
|
||||||
|
3BE809D1122221CF00AA1B63 /* QTKit.framework in Frameworks */,
|
||||||
|
3BE809D71222222800AA1B63 /* CoreVideo.framework in Frameworks */,
|
||||||
|
3B1E84591222DBBE000D7528 /* QuartzCore.framework in Frameworks */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
034768DFFF38A50411DB9C8B /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
D2AAC0C705546C1D00DB518D /* zxing.bundle */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
0867D691FE84028FC02AAC07 /* zxing */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
3BED8A31122198210016F4E8 /* osx.xcodeproj */,
|
||||||
|
08FB77AEFE84172EC02AAC07 /* Classes */,
|
||||||
|
32C88DFF0371C24200C91783 /* Other Sources */,
|
||||||
|
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */,
|
||||||
|
034768DFFF38A50411DB9C8B /* Products */,
|
||||||
|
3BED8A41122198850016F4E8 /* libiconv.dylib */,
|
||||||
|
3BE809D0122221CF00AA1B63 /* QTKit.framework */,
|
||||||
|
3BE809D61222222800AA1B63 /* CoreVideo.framework */,
|
||||||
|
3B1E84581222DBBE000D7528 /* QuartzCore.framework */,
|
||||||
|
);
|
||||||
|
name = zxing;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */,
|
||||||
|
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */,
|
||||||
|
);
|
||||||
|
name = "External Frameworks and Libraries";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
08FB77AEFE84172EC02AAC07 /* Classes */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
3B98747712235FEE0013711B /* ZXIllegalArgumentException.mm */,
|
||||||
|
3B98747812235FEE0013711B /* ZXReaderException.mm */,
|
||||||
|
3B98746A12235EC40013711B /* ZXIllegalArgumentException.h */,
|
||||||
|
3B98746B12235EC40013711B /* ZXReaderException.h */,
|
||||||
|
3B98744C12235C340013711B /* ZXQRCodeReader.h */,
|
||||||
|
3B98744D12235C340013711B /* ZXQRCodeReader.mm */,
|
||||||
|
3B1E84291222D432000D7528 /* ZXCaptureDelegate.h */,
|
||||||
|
3BE809B412221C7D00AA1B63 /* ZXCapture.mm */,
|
||||||
|
3BB8D3BF1222172900F86718 /* ZXCapture.h */,
|
||||||
|
3BB8D3C01222172900F86718 /* ZXCaptureView.h */,
|
||||||
|
3BB8D3C11222172900F86718 /* ZXCaptureView.mm */,
|
||||||
|
3BB8D3C21222172900F86718 /* ZXView.h */,
|
||||||
|
3B0BF9821221ED4500F0BD0F /* ZXBinarizer.h */,
|
||||||
|
3B0BF9831221ED4500F0BD0F /* ZXBinarizer.mm */,
|
||||||
|
3B0BF9841221ED4500F0BD0F /* ZXBinaryBitmap.h */,
|
||||||
|
3B0BF9851221ED4500F0BD0F /* ZXBinaryBitmap.mm */,
|
||||||
|
3B0BF9861221ED4500F0BD0F /* ZXDecodeHints.h */,
|
||||||
|
3B0BF9871221ED4500F0BD0F /* ZXDecodeHints.mm */,
|
||||||
|
3B0BF9881221ED4500F0BD0F /* ZXHybridBinarizer.h */,
|
||||||
|
3B0BF9891221ED4500F0BD0F /* ZXHybridBinarizer.mm */,
|
||||||
|
3B0BF98A1221ED4500F0BD0F /* ZXResult.h */,
|
||||||
|
3B0BF98B1221ED4500F0BD0F /* ZXResult.mm */,
|
||||||
|
3BED8A981221B92B0016F4E8 /* ZXLuminanceSource.h */,
|
||||||
|
3BED8A991221B92B0016F4E8 /* ZXLuminanceSource.mm */,
|
||||||
|
3BED8A8C1221B84E0016F4E8 /* CGImageLuminanceSource.mm */,
|
||||||
|
3BED8A8D1221B84E0016F4E8 /* CGImageLuminanceSource.h */,
|
||||||
|
3BED8A811221B7870016F4E8 /* ZXCGImageLuminanceSource.h */,
|
||||||
|
3BED8A821221B7870016F4E8 /* ZXCGImageLuminanceSource.mm */,
|
||||||
|
3BED8A5D1221B0270016F4E8 /* ZXImage.h */,
|
||||||
|
3BED8A5E1221B0270016F4E8 /* ZXImage.mm */,
|
||||||
|
3BCF096F1221957200C3E580 /* ZXMultiFormatReader.h */,
|
||||||
|
3BCF09701221957200C3E580 /* ZXMultiFormatReader.mm */,
|
||||||
|
3BCF09711221957200C3E580 /* ZXReader.h */,
|
||||||
|
3BCF09721221957200C3E580 /* ZXReader.mm */,
|
||||||
|
);
|
||||||
|
name = Classes;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
1058C7B0FEA5585E11CA2CBB /* Linked Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1058C7B1FEA5585E11CA2CBB /* Cocoa.framework */,
|
||||||
|
);
|
||||||
|
name = "Linked Frameworks";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
1058C7B2FEA5585E11CA2CBB /* Other Frameworks */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
0867D6A5FE840307C02AAC07 /* AppKit.framework */,
|
||||||
|
0867D69BFE84028FC02AAC07 /* Foundation.framework */,
|
||||||
|
);
|
||||||
|
name = "Other Frameworks";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
32C88DFF0371C24200C91783 /* Other Sources */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
3BED8A4D12219CB10016F4E8 /* ZXInit.c */,
|
||||||
|
);
|
||||||
|
name = "Other Sources";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
3BED8A32122198210016F4E8 /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
3BED8A39122198210016F4E8 /* libzxing.a */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXHeadersBuildPhase section */
|
||||||
|
D2AAC0C305546C1D00DB518D /* Headers */ = {
|
||||||
|
isa = PBXHeadersBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
3BCF09731221957200C3E580 /* ZXMultiFormatReader.h in Headers */,
|
||||||
|
3BCF09751221957200C3E580 /* ZXReader.h in Headers */,
|
||||||
|
3BED8A5F1221B0270016F4E8 /* ZXImage.h in Headers */,
|
||||||
|
3BED8A831221B7870016F4E8 /* ZXCGImageLuminanceSource.h in Headers */,
|
||||||
|
3BED8A8F1221B84E0016F4E8 /* CGImageLuminanceSource.h in Headers */,
|
||||||
|
3BED8A9A1221B92B0016F4E8 /* ZXLuminanceSource.h in Headers */,
|
||||||
|
3B0BF98C1221ED4500F0BD0F /* ZXBinarizer.h in Headers */,
|
||||||
|
3B0BF98E1221ED4500F0BD0F /* ZXBinaryBitmap.h in Headers */,
|
||||||
|
3B0BF9901221ED4500F0BD0F /* ZXDecodeHints.h in Headers */,
|
||||||
|
3B0BF9921221ED4500F0BD0F /* ZXHybridBinarizer.h in Headers */,
|
||||||
|
3B0BF9941221ED4500F0BD0F /* ZXResult.h in Headers */,
|
||||||
|
3BB8D3C31222172900F86718 /* ZXCapture.h in Headers */,
|
||||||
|
3BB8D3C41222172900F86718 /* ZXCaptureView.h in Headers */,
|
||||||
|
3BB8D3C61222172900F86718 /* ZXView.h in Headers */,
|
||||||
|
3B1E842A1222D432000D7528 /* ZXCaptureDelegate.h in Headers */,
|
||||||
|
3B98744E12235C340013711B /* ZXQRCodeReader.h in Headers */,
|
||||||
|
3B98746C12235EC40013711B /* ZXIllegalArgumentException.h in Headers */,
|
||||||
|
3B98746D12235EC40013711B /* ZXReaderException.h in Headers */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXHeadersBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */
|
||||||
|
D2AAC0C605546C1D00DB518D /* zxing */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 1DEB917D08733D990010E9CD /* Build configuration list for PBXNativeTarget "zxing" */;
|
||||||
|
buildPhases = (
|
||||||
|
D2AAC0C305546C1D00DB518D /* Headers */,
|
||||||
|
D2AAC0C405546C1D00DB518D /* Sources */,
|
||||||
|
D2AAC0C505546C1D00DB518D /* Frameworks */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
3BED8A3B122198300016F4E8 /* PBXTargetDependency */,
|
||||||
|
);
|
||||||
|
name = zxing;
|
||||||
|
productName = zxing;
|
||||||
|
productReference = D2AAC0C705546C1D00DB518D /* zxing.bundle */;
|
||||||
|
productType = "com.apple.product-type.library.dynamic";
|
||||||
|
};
|
||||||
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
0867D690FE84028FC02AAC07 /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
buildConfigurationList = 1DEB918108733D990010E9CD /* Build configuration list for PBXProject "osx" */;
|
||||||
|
compatibilityVersion = "Xcode 3.1";
|
||||||
|
developmentRegion = English;
|
||||||
|
hasScannedForEncodings = 1;
|
||||||
|
knownRegions = (
|
||||||
|
en,
|
||||||
|
);
|
||||||
|
mainGroup = 0867D691FE84028FC02AAC07 /* zxing */;
|
||||||
|
productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
|
||||||
|
projectDirPath = "";
|
||||||
|
projectReferences = (
|
||||||
|
{
|
||||||
|
ProductGroup = 3BED8A32122198210016F4E8 /* Products */;
|
||||||
|
ProjectRef = 3BED8A31122198210016F4E8 /* osx.xcodeproj */;
|
||||||
|
},
|
||||||
|
);
|
||||||
|
projectRoot = "";
|
||||||
|
targets = (
|
||||||
|
D2AAC0C605546C1D00DB518D /* zxing */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXReferenceProxy section */
|
||||||
|
3BED8A39122198210016F4E8 /* libzxing.a */ = {
|
||||||
|
isa = PBXReferenceProxy;
|
||||||
|
fileType = archive.ar;
|
||||||
|
path = libzxing.a;
|
||||||
|
remoteRef = 3BED8A38122198210016F4E8 /* PBXContainerItemProxy */;
|
||||||
|
sourceTree = BUILT_PRODUCTS_DIR;
|
||||||
|
};
|
||||||
|
/* End PBXReferenceProxy section */
|
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
D2AAC0C405546C1D00DB518D /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
3BCF09741221957200C3E580 /* ZXMultiFormatReader.mm in Sources */,
|
||||||
|
3BCF09761221957200C3E580 /* ZXReader.mm in Sources */,
|
||||||
|
3BED8A4E12219CB10016F4E8 /* ZXInit.c in Sources */,
|
||||||
|
3BED8A601221B0270016F4E8 /* ZXImage.mm in Sources */,
|
||||||
|
3BED8A841221B7870016F4E8 /* ZXCGImageLuminanceSource.mm in Sources */,
|
||||||
|
3BED8A8E1221B84E0016F4E8 /* CGImageLuminanceSource.mm in Sources */,
|
||||||
|
3BED8A9B1221B92B0016F4E8 /* ZXLuminanceSource.mm in Sources */,
|
||||||
|
3B0BF98D1221ED4500F0BD0F /* ZXBinarizer.mm in Sources */,
|
||||||
|
3B0BF98F1221ED4500F0BD0F /* ZXBinaryBitmap.mm in Sources */,
|
||||||
|
3B0BF9911221ED4500F0BD0F /* ZXDecodeHints.mm in Sources */,
|
||||||
|
3B0BF9931221ED4500F0BD0F /* ZXHybridBinarizer.mm in Sources */,
|
||||||
|
3B0BF9951221ED4500F0BD0F /* ZXResult.mm in Sources */,
|
||||||
|
3BB8D3C51222172900F86718 /* ZXCaptureView.mm in Sources */,
|
||||||
|
3BE809B512221C7D00AA1B63 /* ZXCapture.mm in Sources */,
|
||||||
|
3B98744F12235C340013711B /* ZXQRCodeReader.mm in Sources */,
|
||||||
|
3B98747912235FEE0013711B /* ZXIllegalArgumentException.mm in Sources */,
|
||||||
|
3B98747A12235FEE0013711B /* ZXReaderException.mm in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXTargetDependency section */
|
||||||
|
3BED8A3B122198300016F4E8 /* PBXTargetDependency */ = {
|
||||||
|
isa = PBXTargetDependency;
|
||||||
|
name = zxing;
|
||||||
|
targetProxy = 3BED8A3A122198300016F4E8 /* PBXContainerItemProxy */;
|
||||||
|
};
|
||||||
|
/* End PBXTargetDependency section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
1DEB917E08733D990010E9CD /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
|
EXECUTABLE_EXTENSION = bundle;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||||
|
GCC_MODEL_TUNING = G5;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
GCC_PREFIX_HEADER = osx_Prefix.pch;
|
||||||
|
GCC_VERSION = 4.2;
|
||||||
|
INSTALL_PATH = /usr/local/lib;
|
||||||
|
PRODUCT_NAME = zxing;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
1DEB917F08733D990010E9CD /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
|
EXECUTABLE_EXTENSION = bundle;
|
||||||
|
GCC_MODEL_TUNING = G5;
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
GCC_PREFIX_HEADER = osx_Prefix.pch;
|
||||||
|
GCC_VERSION = 4.2;
|
||||||
|
INSTALL_PATH = /usr/local/lib;
|
||||||
|
PRODUCT_NAME = zxing;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
1DEB918208733D990010E9CD /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_ENABLE_OBJC_GC = supported;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
HEADER_SEARCH_PATHS = (
|
||||||
|
src,
|
||||||
|
../cpp/core/src,
|
||||||
|
);
|
||||||
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
|
PREBINDING = NO;
|
||||||
|
SDKROOT = macosx10.6;
|
||||||
|
WARNING_CFLAGS = (
|
||||||
|
"-Wall",
|
||||||
|
"-Wextra",
|
||||||
|
);
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
1DEB918308733D990010E9CD /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
|
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
|
||||||
|
GCC_C_LANGUAGE_STANDARD = gnu99;
|
||||||
|
GCC_ENABLE_OBJC_GC = supported;
|
||||||
|
GCC_TREAT_WARNINGS_AS_ERRORS = YES;
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
HEADER_SEARCH_PATHS = (
|
||||||
|
src,
|
||||||
|
../cpp/core/src,
|
||||||
|
);
|
||||||
|
PREBINDING = NO;
|
||||||
|
SDKROOT = macosx10.6;
|
||||||
|
WARNING_CFLAGS = (
|
||||||
|
"-Wall",
|
||||||
|
"-Wextra",
|
||||||
|
);
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
1DEB917D08733D990010E9CD /* Build configuration list for PBXNativeTarget "zxing" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
1DEB917E08733D990010E9CD /* Debug */,
|
||||||
|
1DEB917F08733D990010E9CD /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
1DEB918108733D990010E9CD /* Build configuration list for PBXProject "osx" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
1DEB918208733D990010E9CD /* Debug */,
|
||||||
|
1DEB918308733D990010E9CD /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
|
||||||
|
}
|
7
objc/osx.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
7
objc/osx.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Workspace
|
||||||
|
version = "1.0">
|
||||||
|
<FileRef
|
||||||
|
location = "self:osx.xcodeproj">
|
||||||
|
</FileRef>
|
||||||
|
</Workspace>
|
5
objc/osx_Prefix.pch
Normal file
5
objc/osx_Prefix.pch
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#ifdef __OBJC__
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import <AppKit/AppKit.h>
|
||||||
|
#import <QTKit/QTKit.h>
|
||||||
|
#endif
|
93
objc/src/zxing/CGImageLuminanceSource.h
Normal file
93
objc/src/zxing/CGImageLuminanceSource.h
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
// -*- mode:c++; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
#ifndef __CGIIMAGE_LUMINANCE_SOURCE__
|
||||||
|
#define __CGIIMAGE_LUMINANCE_SOURCE__
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if TARGET_OS_EMBEDDED || TARGET_IPHONE_SIMULATOR
|
||||||
|
#include <CoreVideo/CoreVideo.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <zxing/LuminanceSource.h>
|
||||||
|
|
||||||
|
namespace zxing {
|
||||||
|
|
||||||
|
class CGImageLuminanceSource : public LuminanceSource {
|
||||||
|
|
||||||
|
private:
|
||||||
|
CGImageRef image_;
|
||||||
|
CFDataRef data_;
|
||||||
|
int left_;
|
||||||
|
int top_;
|
||||||
|
int width_;
|
||||||
|
int height_;
|
||||||
|
int dataWidth_;
|
||||||
|
int dataHeight_;
|
||||||
|
int bytesPerRow_;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
static CGImageRef createImageFromBuffer(CVImageBufferRef);
|
||||||
|
static CGImageRef createImageFromBuffer(CVImageBufferRef,
|
||||||
|
int left,
|
||||||
|
int top,
|
||||||
|
int width,
|
||||||
|
int height);
|
||||||
|
|
||||||
|
CGImageLuminanceSource(CVPixelBufferRef buffer,
|
||||||
|
int left,
|
||||||
|
int top,
|
||||||
|
int width,
|
||||||
|
int height);
|
||||||
|
CGImageLuminanceSource(CVPixelBufferRef buffer);
|
||||||
|
|
||||||
|
CGImageLuminanceSource(CGImageRef image,
|
||||||
|
int left,
|
||||||
|
int top,
|
||||||
|
int width,
|
||||||
|
int height);
|
||||||
|
CGImageLuminanceSource(CGImageRef image);
|
||||||
|
~CGImageLuminanceSource();
|
||||||
|
|
||||||
|
CGImageRef image() { return image_; }
|
||||||
|
CGImageRef image(size_t width, size_t height);
|
||||||
|
|
||||||
|
unsigned char* getRow(int y, unsigned char* row);
|
||||||
|
unsigned char* getMatrix();
|
||||||
|
|
||||||
|
bool isRotateSupported() const {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
int getWidth() const {
|
||||||
|
return width_;
|
||||||
|
}
|
||||||
|
|
||||||
|
int getHeight() const {
|
||||||
|
return height_;
|
||||||
|
}
|
||||||
|
|
||||||
|
Ref<LuminanceSource> rotateCounterClockwise();
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
void init(CGImageRef image);
|
||||||
|
void init(CGImageRef image, int left, int top, int width, int height);
|
||||||
|
};
|
||||||
|
|
||||||
|
} /* namespace */
|
||||||
|
|
||||||
|
#endif
|
228
objc/src/zxing/CGImageLuminanceSource.mm
Normal file
228
objc/src/zxing/CGImageLuminanceSource.mm
Normal file
|
@ -0,0 +1,228 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors All rights reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <zxing/CGImageLuminanceSource.h>
|
||||||
|
#include <zxing/common/IllegalArgumentException.h>
|
||||||
|
|
||||||
|
namespace zxing {
|
||||||
|
|
||||||
|
CGImageRef CGImageLuminanceSource::createImageFromBuffer
|
||||||
|
(CVPixelBufferRef buffer, int left, int top, int width, int height)
|
||||||
|
{
|
||||||
|
int bytesPerRow = CVPixelBufferGetBytesPerRow(buffer);
|
||||||
|
int dataWidth = CVPixelBufferGetWidth(buffer);
|
||||||
|
int dataHeight = CVPixelBufferGetHeight(buffer);
|
||||||
|
|
||||||
|
if (left + width > dataWidth ||
|
||||||
|
top + height > dataHeight ||
|
||||||
|
top < 0 ||
|
||||||
|
left < 0) {
|
||||||
|
throw
|
||||||
|
IllegalArgumentException("Crop rectangle does not fit within image data.");
|
||||||
|
}
|
||||||
|
|
||||||
|
int newBytesPerRow = ((width*4+0xf)>>4)<<4;
|
||||||
|
|
||||||
|
CVPixelBufferLockBaseAddress(buffer,0);
|
||||||
|
|
||||||
|
unsigned char* baseAddress =
|
||||||
|
(unsigned char*)CVPixelBufferGetBaseAddress(buffer);
|
||||||
|
|
||||||
|
int size = newBytesPerRow*height;
|
||||||
|
unsigned char* bytes = (unsigned char*)malloc(size);
|
||||||
|
if (newBytesPerRow == bytesPerRow) {
|
||||||
|
memcpy(bytes, baseAddress+top*bytesPerRow, size);
|
||||||
|
} else {
|
||||||
|
for(int y=0; y<height; y++) {
|
||||||
|
memcpy(bytes+y*bytesPerRow,
|
||||||
|
baseAddress+left*4+(top+y)*bytesPerRow,
|
||||||
|
bytesPerRow);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
CVPixelBufferUnlockBaseAddress(buffer, 0);
|
||||||
|
|
||||||
|
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
|
||||||
|
CGContextRef newContext = CGBitmapContextCreate(bytes,
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
8,
|
||||||
|
newBytesPerRow,
|
||||||
|
colorSpace,
|
||||||
|
kCGBitmapByteOrder32Little|
|
||||||
|
kCGImageAlphaNoneSkipFirst);
|
||||||
|
CGColorSpaceRelease(colorSpace);
|
||||||
|
|
||||||
|
CGImageRef result = CGBitmapContextCreateImage(newContext);
|
||||||
|
|
||||||
|
CGContextRelease(newContext);
|
||||||
|
|
||||||
|
free(bytes);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
CGImageRef CGImageLuminanceSource::createImageFromBuffer
|
||||||
|
(CVPixelBufferRef buffer)
|
||||||
|
{
|
||||||
|
return createImageFromBuffer
|
||||||
|
(buffer,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
CVPixelBufferGetWidth(buffer),
|
||||||
|
CVPixelBufferGetHeight(buffer));
|
||||||
|
}
|
||||||
|
|
||||||
|
CGImageLuminanceSource::CGImageLuminanceSource(CVPixelBufferRef buffer)
|
||||||
|
{
|
||||||
|
CGImageRef image = createImageFromBuffer(buffer);
|
||||||
|
init(image);
|
||||||
|
CGImageRelease(image);
|
||||||
|
}
|
||||||
|
|
||||||
|
CGImageLuminanceSource::CGImageLuminanceSource
|
||||||
|
(CVPixelBufferRef buffer, int left, int top, int width, int height)
|
||||||
|
{
|
||||||
|
CGImageRef image = createImageFromBuffer(buffer, left, top, width, height);
|
||||||
|
init(image);
|
||||||
|
CGImageRelease(image);
|
||||||
|
}
|
||||||
|
|
||||||
|
CGImageLuminanceSource::CGImageLuminanceSource(CGImageRef cgimage)
|
||||||
|
{
|
||||||
|
init(cgimage);
|
||||||
|
}
|
||||||
|
|
||||||
|
CGImageLuminanceSource::CGImageLuminanceSource
|
||||||
|
(CGImageRef cgimage, int left, int top, int width, int height)
|
||||||
|
{
|
||||||
|
init(cgimage, left, top, width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CGImageLuminanceSource::init(CGImageRef cgimage)
|
||||||
|
{
|
||||||
|
init(cgimage, 0, 0, CGImageGetWidth(cgimage), CGImageGetHeight(cgimage));
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CGImageLuminanceSource::init
|
||||||
|
(CGImageRef cgimage, int left, int top, int width, int height) {
|
||||||
|
data_ = 0;
|
||||||
|
image_ = cgimage;
|
||||||
|
left_ = left;
|
||||||
|
top_ = top;
|
||||||
|
width_ = width;
|
||||||
|
height_ = height;
|
||||||
|
dataWidth_ = CGImageGetWidth(image_);
|
||||||
|
dataHeight_ = CGImageGetHeight(image_);
|
||||||
|
|
||||||
|
if (left_ + width_ > dataWidth_ ||
|
||||||
|
top_ + height_ > dataHeight_ ||
|
||||||
|
top_ < 0 ||
|
||||||
|
left_ < 0) {
|
||||||
|
throw IllegalArgumentException
|
||||||
|
("Crop rectangle does not fit within image data.");
|
||||||
|
}
|
||||||
|
|
||||||
|
CGColorSpaceRef space = CGImageGetColorSpace(image_);
|
||||||
|
CGColorSpaceModel model = CGColorSpaceGetModel(space);
|
||||||
|
|
||||||
|
if (model != kCGColorSpaceModelMonochrome ||
|
||||||
|
CGImageGetBitsPerComponent(image_) != 8 ||
|
||||||
|
CGImageGetBitsPerPixel(image_) != 8) {
|
||||||
|
|
||||||
|
CGColorSpaceRef gray = CGColorSpaceCreateDeviceGray();
|
||||||
|
|
||||||
|
CGContextRef ctx = CGBitmapContextCreate(0,
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
8,
|
||||||
|
width,
|
||||||
|
gray,
|
||||||
|
kCGImageAlphaNone);
|
||||||
|
|
||||||
|
CGColorSpaceRelease(gray);
|
||||||
|
|
||||||
|
if (top || left) {
|
||||||
|
CGContextClipToRect(ctx, CGRectMake(0, 0, width, height));
|
||||||
|
}
|
||||||
|
|
||||||
|
CGContextDrawImage(ctx, CGRectMake(-left, -top, width, height), image_);
|
||||||
|
|
||||||
|
image_ = CGBitmapContextCreateImage(ctx);
|
||||||
|
|
||||||
|
bytesPerRow_ = width;
|
||||||
|
top_ = 0;
|
||||||
|
left_ = 0;
|
||||||
|
dataWidth_ = width;
|
||||||
|
dataHeight_ = height;
|
||||||
|
|
||||||
|
CGContextRelease(ctx);
|
||||||
|
} else {
|
||||||
|
CGImageRetain(image_);
|
||||||
|
}
|
||||||
|
|
||||||
|
CGDataProviderRef provider = CGImageGetDataProvider(image_);
|
||||||
|
data_ = CGDataProviderCopyData(provider);
|
||||||
|
}
|
||||||
|
|
||||||
|
CGImageLuminanceSource::~CGImageLuminanceSource() {
|
||||||
|
if (image_) {
|
||||||
|
CGImageRelease(image_);
|
||||||
|
}
|
||||||
|
if (data_) {
|
||||||
|
CFRelease(data_);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char* CGImageLuminanceSource::getRow(int y, unsigned char* row) {
|
||||||
|
if (y < 0 || y >= this->getHeight()) {
|
||||||
|
throw IllegalArgumentException("Requested row is outside the image: " + y);
|
||||||
|
}
|
||||||
|
int width = getWidth();
|
||||||
|
// TODO(flyashi): determine if row has enough size.
|
||||||
|
if (row == NULL) {
|
||||||
|
row = new unsigned char[width_];
|
||||||
|
}
|
||||||
|
int offset = (y + top_) * dataWidth_ + left_;
|
||||||
|
CFDataGetBytes(data_, CFRangeMake(offset, width), row);
|
||||||
|
return row;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned char* CGImageLuminanceSource::getMatrix() {
|
||||||
|
int size = width_ * height_;
|
||||||
|
unsigned char* result = new unsigned char[size];
|
||||||
|
if (left_ == 0 &&
|
||||||
|
top_ == 0 &&
|
||||||
|
dataWidth_ == width_ &&
|
||||||
|
dataHeight_ == height_) {
|
||||||
|
CFDataGetBytes(data_, CFRangeMake(0, size), result);
|
||||||
|
} else {
|
||||||
|
for (int row = 0; row < height_; row++) {
|
||||||
|
CFDataGetBytes(data_,
|
||||||
|
CFRangeMake((top_ + row) * dataWidth_ + left_, width_),
|
||||||
|
result + row * width_);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
Ref<LuminanceSource> CGImageLuminanceSource::rotateCounterClockwise() {
|
||||||
|
return Ref<LuminanceSource>(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
29
objc/src/zxing/ZXBinarizer.h
Normal file
29
objc/src/zxing/ZXBinarizer.h
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/Binarizer.h>
|
||||||
|
#import <zxing/ZXLuminanceSource.h>
|
||||||
|
|
||||||
|
@interface ZXBinarizer : NSObject {
|
||||||
|
zxing::Ref<zxing::Binarizer> native;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXBinarizer*)initWithNative:(zxing::Binarizer*)native;
|
||||||
|
- (zxing::Binarizer*)native;
|
||||||
|
- (CGImageRef)createImage;
|
||||||
|
|
||||||
|
@end
|
88
objc/src/zxing/ZXBinarizer.mm
Normal file
88
objc/src/zxing/ZXBinarizer.mm
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXBinarizer.h>
|
||||||
|
|
||||||
|
#if TARGET_OS_EMBEDDED || TARGET_IPHONE_SIMULATOR
|
||||||
|
#define ZXBlack [[UIColor blackColor] CGColor]
|
||||||
|
#define ZXWhite [[UIColor whiteColor] CGColor]
|
||||||
|
#else
|
||||||
|
#define ZXBlack CGColorGetConstantColor(kCGColorBlack)
|
||||||
|
#define ZXWhite CGColorGetConstantColor(kCGColorWhite)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@implementation ZXBinarizer
|
||||||
|
|
||||||
|
- (ZXBinarizer*)initWithNative:(zxing::Binarizer*)binarizer {
|
||||||
|
if ((self = [super init])) {
|
||||||
|
native = binarizer;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (zxing::Binarizer*)native {
|
||||||
|
return native;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CGImageRef)createImage {
|
||||||
|
zxing::BitMatrix& matrix (*native->getBlackMatrix());
|
||||||
|
zxing::LuminanceSource& source (*native->getLuminanceSource());
|
||||||
|
|
||||||
|
int width = source.getWidth();
|
||||||
|
int height = source.getHeight();
|
||||||
|
|
||||||
|
int bytesPerRow = ((width&0xf)>>4)<<4;
|
||||||
|
|
||||||
|
CGColorSpaceRef gray = CGColorSpaceCreateDeviceGray();
|
||||||
|
CGContextRef context = CGBitmapContextCreate (
|
||||||
|
0,
|
||||||
|
width,
|
||||||
|
height,
|
||||||
|
8, // bits per component
|
||||||
|
bytesPerRow,
|
||||||
|
gray,
|
||||||
|
kCGImageAlphaNone);
|
||||||
|
CGColorSpaceRelease(gray);
|
||||||
|
|
||||||
|
CGRect r = CGRectZero;
|
||||||
|
r.size.width = width;
|
||||||
|
r.size.height = height;
|
||||||
|
CGContextSetFillColorWithColor(context, ZXBlack);
|
||||||
|
CGContextFillRect(context, r);
|
||||||
|
|
||||||
|
r.size.width = 1;
|
||||||
|
r.size.height = 1;
|
||||||
|
|
||||||
|
CGContextSetFillColorWithColor(context, ZXWhite);
|
||||||
|
for(int y=0; y<height; y++) {
|
||||||
|
r.origin.y = height-1-y;
|
||||||
|
for(int x=0; x<width; x++) {
|
||||||
|
if (!matrix.get(x,y)) {
|
||||||
|
r.origin.x = x;
|
||||||
|
CGContextFillRect(context, r);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CGImageRef binary = CGBitmapContextCreateImage(context);
|
||||||
|
|
||||||
|
CGContextRelease(context);
|
||||||
|
|
||||||
|
return binary;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
30
objc/src/zxing/ZXBinaryBitmap.h
Normal file
30
objc/src/zxing/ZXBinaryBitmap.h
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/BinaryBitmap.h>
|
||||||
|
|
||||||
|
@class ZXBinarizer;
|
||||||
|
|
||||||
|
@interface ZXBinaryBitmap : NSObject {
|
||||||
|
zxing::Ref<zxing::BinaryBitmap> native;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXBinaryBitmap*)initWithBinarizer:(ZXBinarizer*)binarizer;
|
||||||
|
- (zxing::BinaryBitmap*)native;
|
||||||
|
|
||||||
|
|
||||||
|
@end
|
38
objc/src/zxing/ZXBinaryBitmap.mm
Normal file
38
objc/src/zxing/ZXBinaryBitmap.mm
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXBinaryBitmap.h>
|
||||||
|
#import <zxing/ZXBinarizer.h>
|
||||||
|
|
||||||
|
@implementation ZXBinaryBitmap
|
||||||
|
|
||||||
|
- (ZXBinaryBitmap*)initWithBinarizer:(ZXBinarizer*)binarizer {
|
||||||
|
native =
|
||||||
|
new zxing::BinaryBitmap(zxing::Ref<zxing::Binarizer>([binarizer native]));
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (zxing::BinaryBitmap*)native {
|
||||||
|
return native;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc {
|
||||||
|
native = 0;
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
59
objc/src/zxing/ZXCGImageLuminanceSource.h
Normal file
59
objc/src/zxing/ZXCGImageLuminanceSource.h
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXLuminanceSource.h>
|
||||||
|
#import <zxing/CGImageLuminanceSource.h>
|
||||||
|
|
||||||
|
@class ZXImage;
|
||||||
|
|
||||||
|
@interface ZXCGImageLuminanceSource : ZXLuminanceSource {
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (CGImageRef)createImageFromBuffer:(CVImageBufferRef)buffer;
|
||||||
|
+ (CGImageRef)createImageFromBuffer:(CVImageBufferRef)buffer
|
||||||
|
left:(size_t)left
|
||||||
|
top:(size_t)top
|
||||||
|
width:(size_t)width
|
||||||
|
height:(size_t)height;
|
||||||
|
|
||||||
|
- (ZXCGImageLuminanceSource*)initWithZXImage:(ZXImage*)image
|
||||||
|
left:(size_t)left
|
||||||
|
top:(size_t)top
|
||||||
|
width:(size_t)width
|
||||||
|
height:(size_t)height;
|
||||||
|
|
||||||
|
- (ZXCGImageLuminanceSource*)initWithZXImage:(ZXImage*)image;
|
||||||
|
|
||||||
|
- (ZXCGImageLuminanceSource*)initWithCGImage:(CGImageRef)image
|
||||||
|
left:(size_t)left
|
||||||
|
top:(size_t)top
|
||||||
|
width:(size_t)width
|
||||||
|
height:(size_t)height;
|
||||||
|
|
||||||
|
- (ZXCGImageLuminanceSource*)initWithCGImage:(CGImageRef)image;
|
||||||
|
|
||||||
|
- (ZXCGImageLuminanceSource*)initWithBuffer:(CVPixelBufferRef)buffer
|
||||||
|
left:(size_t)left
|
||||||
|
top:(size_t)top
|
||||||
|
width:(size_t)width
|
||||||
|
height:(size_t)height;
|
||||||
|
|
||||||
|
- (ZXCGImageLuminanceSource*)initWithBuffer:(CVPixelBufferRef)buffer;
|
||||||
|
|
||||||
|
- (CGImageRef)image;
|
||||||
|
|
||||||
|
@end
|
92
objc/src/zxing/ZXCGImageLuminanceSource.mm
Normal file
92
objc/src/zxing/ZXCGImageLuminanceSource.mm
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXCGImageLuminanceSource.h>
|
||||||
|
#import <zxing/ZXImage.h>
|
||||||
|
|
||||||
|
@implementation ZXCGImageLuminanceSource
|
||||||
|
|
||||||
|
+ (CGImageRef)createImageFromBuffer:(CVImageBufferRef)buffer {
|
||||||
|
return zxing::CGImageLuminanceSource::createImageFromBuffer(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ (CGImageRef)createImageFromBuffer:(CVImageBufferRef)buffer
|
||||||
|
left:(size_t)left
|
||||||
|
top:(size_t)top
|
||||||
|
width:(size_t)width
|
||||||
|
height:(size_t)height {
|
||||||
|
return zxing::CGImageLuminanceSource::createImageFromBuffer
|
||||||
|
(buffer, left, top, width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXCGImageLuminanceSource*)initWithZXImage:(ZXImage*)image
|
||||||
|
left:(size_t)left
|
||||||
|
top:(size_t)top
|
||||||
|
width:(size_t)width
|
||||||
|
height:(size_t)height {
|
||||||
|
[super initWithNative:new zxing::CGImageLuminanceSource(image.cgimage, left, top, width, height)];
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXCGImageLuminanceSource*)initWithZXImage:(ZXImage*)image {
|
||||||
|
[super initWithNative:new zxing::CGImageLuminanceSource(image.cgimage)];
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXCGImageLuminanceSource*)initWithCGImage:(CGImageRef)image
|
||||||
|
left:(size_t)left
|
||||||
|
top:(size_t)top
|
||||||
|
width:(size_t)width
|
||||||
|
height:(size_t)height {
|
||||||
|
[super initWithNative:new zxing::CGImageLuminanceSource(image, left, top, width, height)];
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXCGImageLuminanceSource*)initWithCGImage:(CGImageRef)image {
|
||||||
|
[super initWithNative:new zxing::CGImageLuminanceSource(image)];
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXCGImageLuminanceSource*)initWithBuffer:(CVPixelBufferRef)buffer
|
||||||
|
left:(size_t)left
|
||||||
|
top:(size_t)top
|
||||||
|
width:(size_t)width
|
||||||
|
height:(size_t)height {
|
||||||
|
[super initWithNative:new zxing::CGImageLuminanceSource(buffer, left, top, width, height)];
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXCGImageLuminanceSource*)initWithBuffer:(CVPixelBufferRef)buffer {
|
||||||
|
[super initWithNative:new zxing::CGImageLuminanceSource(buffer)];
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CGImageRef)image {
|
||||||
|
zxing::LuminanceSource* source = native;
|
||||||
|
zxing::CGImageLuminanceSource* typed = (zxing::CGImageLuminanceSource*)source;
|
||||||
|
return typed->image();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
- (CGImageRef)createImageWithWidth:(size_t)width andHeight:(size_t)height {
|
||||||
|
zxing::LuminanceSource* source = native;
|
||||||
|
zxing::CGImageLuminanceSource* typed = (zxing::CGImageLuminanceSource*)source;
|
||||||
|
return typed->createImage(width, height);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
@end
|
134
objc/src/zxing/ZXCapture.h
Normal file
134
objc/src/zxing/ZXCapture.h
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXCaptureDelegate.h>
|
||||||
|
|
||||||
|
#if !TARGET_IPHONE_SIMULATOR
|
||||||
|
#if TARGET_OS_EMBEDDED
|
||||||
|
#include <AVFoundation/AVFoundation.h>
|
||||||
|
#define ZX(x) x
|
||||||
|
#define ZXAV(x) x
|
||||||
|
#define ZXAVC(x) ,x
|
||||||
|
#define ZXQT(x)
|
||||||
|
#define ZXCaptureSession AVCaptureSession
|
||||||
|
#define ZXCaptureVideoPreviewLayer AVCaptureVideoPreviewLayer
|
||||||
|
#define ZXCaptureDeviceInput AVCaptureDeviceInput
|
||||||
|
#define ZXCaptureVideoOutput AVCaptureVideoDataOutput
|
||||||
|
#else
|
||||||
|
#define ZX(x) x
|
||||||
|
#define ZXAV(x)
|
||||||
|
#define ZXAVC(x)
|
||||||
|
#define ZXQT(x) x
|
||||||
|
#define ZXCaptureSession QTCaptureSession
|
||||||
|
#define ZXCaptureVideoPreviewLayer QTCaptureLayer
|
||||||
|
#define ZXCaptureDeviceInput QTCaptureDeviceInput
|
||||||
|
#define ZXCaptureVideoOutput QTCaptureDecompressedVideoOutput
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@interface ZXCapture
|
||||||
|
: NSObject
|
||||||
|
ZX(<CAAction ZXAVC(AVCaptureVideoDataOutputSampleBufferDelegate)>) {
|
||||||
|
ZX(
|
||||||
|
ZXCaptureSession* session;
|
||||||
|
ZXCaptureVideoPreviewLayer* layer;
|
||||||
|
ZXCaptureVideoOutput* output;
|
||||||
|
ZXCaptureDeviceInput* input;
|
||||||
|
id<ZXCaptureDelegate> delegate;
|
||||||
|
)
|
||||||
|
|
||||||
|
int order_in_skip;
|
||||||
|
int order_out_skip;
|
||||||
|
BOOL running;
|
||||||
|
BOOL on_screen;
|
||||||
|
CALayer* luminance;
|
||||||
|
CALayer* binary;
|
||||||
|
size_t width;
|
||||||
|
size_t height;
|
||||||
|
size_t reported_width;
|
||||||
|
size_t reported_height;
|
||||||
|
NSString* captureToFilename;
|
||||||
|
BOOL hard_stop;
|
||||||
|
int camera;
|
||||||
|
BOOL torch;
|
||||||
|
int device;
|
||||||
|
CGAffineTransform transform;
|
||||||
|
}
|
||||||
|
|
||||||
|
@property (nonatomic, assign) id<ZXCaptureDelegate> delegate;
|
||||||
|
@property (nonatomic, copy) NSString* captureToFilename;
|
||||||
|
@property (nonatomic) CGAffineTransform transform;
|
||||||
|
@property (nonatomic, readonly) ZXCaptureVideoOutput* output;
|
||||||
|
@property (nonatomic, readonly) CALayer* layer;
|
||||||
|
@property (nonatomic, readonly) CALayer* luminance;
|
||||||
|
@property (nonatomic, readonly) CALayer* binary;
|
||||||
|
|
||||||
|
|
||||||
|
- (id)init;
|
||||||
|
- (void)setLuminance:(BOOL)on_off;
|
||||||
|
- (void)setBinary:(BOOL)on_off;
|
||||||
|
- (void)start;
|
||||||
|
- (void)stop;
|
||||||
|
- (void)hard_stop;
|
||||||
|
- (void)order_skip;
|
||||||
|
|
||||||
|
@property (nonatomic, readonly) BOOL hasFront;
|
||||||
|
@property (nonatomic, readonly) BOOL hasBack;
|
||||||
|
@property (nonatomic, readonly) BOOL hasTorch;
|
||||||
|
|
||||||
|
@property (nonatomic, readonly) int front;
|
||||||
|
@property (nonatomic, readonly) int back;
|
||||||
|
|
||||||
|
@property (nonatomic) int camera;
|
||||||
|
@property (nonatomic) BOOL torch;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
@interface ZXCapture : NSObject {
|
||||||
|
}
|
||||||
|
|
||||||
|
@property (nonatomic,assign) id<ZXCaptureDelegate> delegate;
|
||||||
|
@property (nonatomic,copy) NSString* captureToFilename;
|
||||||
|
@property (nonatomic) CGAffineTransform transform;
|
||||||
|
@property (nonatomic, readonly) void* output;
|
||||||
|
@property (nonatomic, readonly) CALayer* layer;
|
||||||
|
@property (nonatomic, readonly) CALayer* luminance;
|
||||||
|
@property (nonatomic, readonly) CALayer* binary;
|
||||||
|
|
||||||
|
- (id)init;
|
||||||
|
- (void)setLuminance:(BOOL)on_off;
|
||||||
|
- (void)setBinary:(BOOL)on_off;
|
||||||
|
- (void)start;
|
||||||
|
- (void)stop;
|
||||||
|
- (void)hard_stop;
|
||||||
|
- (void)order_skip;
|
||||||
|
|
||||||
|
@property (nonatomic,readonly) BOOL hasFront;
|
||||||
|
@property (nonatomic,readonly) BOOL hasBack;
|
||||||
|
@property (nonatomic,readonly) BOOL hasTorch;
|
||||||
|
|
||||||
|
@property (nonatomic,readonly) int front;
|
||||||
|
@property (nonatomic,readonly) int back;
|
||||||
|
|
||||||
|
@property (nonatomic) int camera;
|
||||||
|
@property (nonatomic) BOOL torch;
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
619
objc/src/zxing/ZXCapture.mm
Normal file
619
objc/src/zxing/ZXCapture.mm
Normal file
|
@ -0,0 +1,619 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <zxing/ZXCapture.h>
|
||||||
|
|
||||||
|
#if !TARGET_IPHONE_SIMULATOR
|
||||||
|
#include <zxing/ZXCGImageLuminanceSource.h>
|
||||||
|
#include <zxing/ZXHybridBinarizer.h>
|
||||||
|
#include <zxing/ZXBinaryBitmap.h>
|
||||||
|
#include <zxing/ZXQRCodeReader.h>
|
||||||
|
#include <zxing/ZXDecodeHints.h>
|
||||||
|
#include <zxing/ZXResult.h>
|
||||||
|
#include <zxing/ZXReaderException.h>
|
||||||
|
#include <zxing/ZXIllegalArgumentException.h>
|
||||||
|
|
||||||
|
#if TARGET_OS_EMBEDDED || TARGET_IPHONE_SIMULATOR
|
||||||
|
#define ZXCaptureDevice AVCaptureDevice
|
||||||
|
#define ZXCaptureOutput AVCaptureOutput
|
||||||
|
#define ZXMediaTypeVideo AVMediaTypeVideo
|
||||||
|
#define ZXCaptureConnection AVCaptureConnection
|
||||||
|
#else
|
||||||
|
#define ZXCaptureOutput QTCaptureOutput
|
||||||
|
#define ZXCaptureConnection QTCaptureConnection
|
||||||
|
#define ZXCaptureDevice QTCaptureDevice
|
||||||
|
#define ZXMediaTypeVideo QTMediaTypeVideo
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@implementation ZXCapture
|
||||||
|
|
||||||
|
@synthesize delegate;
|
||||||
|
@synthesize transform;
|
||||||
|
@synthesize captureToFilename;
|
||||||
|
|
||||||
|
- (ZXCapture*)init {
|
||||||
|
if ((self = [super init])) {
|
||||||
|
on_screen = running = NO;
|
||||||
|
reported_width = 0;
|
||||||
|
reported_height = 0;
|
||||||
|
width = 1920;
|
||||||
|
height = 1080;
|
||||||
|
hard_stop = false;
|
||||||
|
device = -1;
|
||||||
|
order_in_skip = 0;
|
||||||
|
order_out_skip = 0;
|
||||||
|
transform = CGAffineTransformIdentity;
|
||||||
|
ZXQT({
|
||||||
|
transform.a = -1;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)order_skip {
|
||||||
|
order_out_skip = order_in_skip = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXCaptureDevice*)device {
|
||||||
|
ZXCaptureDevice* zxd = nil;
|
||||||
|
|
||||||
|
#if ZXAV(1)+0
|
||||||
|
NSArray* devices =
|
||||||
|
[ZXCaptureDevice
|
||||||
|
ZXAV(devicesWithMediaType:)
|
||||||
|
ZXQT(inputDevicesWithMediaType:) ZXMediaTypeVideo];
|
||||||
|
|
||||||
|
if ([devices count] > 0) {
|
||||||
|
if (device == -1) {
|
||||||
|
AVCaptureDevicePosition position = AVCaptureDevicePositionBack;
|
||||||
|
if (camera == self.front) {
|
||||||
|
position = AVCaptureDevicePositionFront;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(unsigned int i=0; i < [devices count]; ++i) {
|
||||||
|
ZXCaptureDevice* dev = [devices objectAtIndex:i];
|
||||||
|
if (dev.position == position) {
|
||||||
|
device = i;
|
||||||
|
zxd = dev;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!zxd && device != -1) {
|
||||||
|
zxd = [devices objectAtIndex:device];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (!zxd) {
|
||||||
|
zxd =
|
||||||
|
[ZXCaptureDevice
|
||||||
|
ZXAV(defaultDeviceWithMediaType:)
|
||||||
|
ZXQT(defaultInputDeviceWithMediaType:) ZXMediaTypeVideo];
|
||||||
|
}
|
||||||
|
|
||||||
|
return zxd;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)replaceInput {
|
||||||
|
if (session && input) {
|
||||||
|
[session removeInput:input];
|
||||||
|
[input release];
|
||||||
|
input = nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
ZXCaptureDevice* zxd = [self device];
|
||||||
|
ZXQT([zxd open:nil]);
|
||||||
|
|
||||||
|
input =
|
||||||
|
[ZXCaptureDeviceInput deviceInputWithDevice:zxd
|
||||||
|
ZXAV(error:nil)];
|
||||||
|
[input retain];
|
||||||
|
|
||||||
|
[session addInput:input ZXQT(error:nil)];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXCaptureSession*)session {
|
||||||
|
if (session == 0) {
|
||||||
|
session = [[ZXCaptureSession alloc] init];
|
||||||
|
ZXAV({session.sessionPreset = AVCaptureSessionPresetMedium;});
|
||||||
|
[self replaceInput];
|
||||||
|
}
|
||||||
|
return session;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)stop {
|
||||||
|
// NSLog(@"stop");
|
||||||
|
|
||||||
|
if (!running) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (true ZXAV(&& self.session.running)) {
|
||||||
|
NSLog(@"stop running");
|
||||||
|
[self.session stopRunning];
|
||||||
|
} else {
|
||||||
|
// NSLog(@"already stopped");
|
||||||
|
}
|
||||||
|
running = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setOutputAttributes {
|
||||||
|
NSString* key = (NSString*)kCVPixelBufferPixelFormatTypeKey;
|
||||||
|
NSNumber* value = [NSNumber numberWithUnsignedInt:kCVPixelFormatType_32BGRA];
|
||||||
|
NSMutableDictionary* attributes =
|
||||||
|
[NSMutableDictionary dictionaryWithObject:value forKey:key];
|
||||||
|
key = (NSString*)kCVPixelBufferWidthKey;
|
||||||
|
value = [NSNumber numberWithUnsignedInt:width];
|
||||||
|
[attributes setObject:value forKey:key];
|
||||||
|
key = (NSString*)kCVPixelBufferHeightKey;
|
||||||
|
value = [NSNumber numberWithUnsignedInt:height];
|
||||||
|
[attributes setObject:value forKey:key];
|
||||||
|
[output ZXQT(setPixelBufferAttributes:)ZXAV(setVideoSettings:)attributes];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXCaptureVideoOutput*)output {
|
||||||
|
if (!output) {
|
||||||
|
output = [[ZXCaptureVideoOutput alloc] init];
|
||||||
|
[self setOutputAttributes];
|
||||||
|
[output ZXQT(setAutomaticallyDropsLateVideoFrames:)
|
||||||
|
ZXAV(setAlwaysDiscardsLateVideoFrames:)YES];
|
||||||
|
[output ZXQT(setDelegate:)ZXAV(setSampleBufferDelegate:)self
|
||||||
|
ZXAV(queue:dispatch_get_main_queue())];
|
||||||
|
[self.session addOutput:output ZXQT(error:nil)];
|
||||||
|
}
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)start {
|
||||||
|
// NSLog(@"start %@ %d %@ %@", self.session, running, output, delegate);
|
||||||
|
|
||||||
|
if (hard_stop) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (delegate || luminance || binary) {
|
||||||
|
// for side effects
|
||||||
|
[self output];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (false ZXAV(|| self.session.running)) {
|
||||||
|
// NSLog(@"already running");
|
||||||
|
} else {
|
||||||
|
|
||||||
|
static int i = 0;
|
||||||
|
if (++i == -2) {
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
NSLog(@"start running");
|
||||||
|
[self.session startRunning];
|
||||||
|
}
|
||||||
|
running = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)start_stop {
|
||||||
|
// NSLog(@"ss %d %@ %d %@ %@ %@", running, delegate, on_screen, output, luminanceLayer, binary);
|
||||||
|
if ((!running && (delegate || on_screen)) ||
|
||||||
|
(!output &&
|
||||||
|
(delegate ||
|
||||||
|
(on_screen && (luminance || binary))))) {
|
||||||
|
[self start];
|
||||||
|
}
|
||||||
|
if (running && !delegate && !on_screen) {
|
||||||
|
[self stop];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setDelegate:(id<ZXCaptureDelegate>)_delegate {
|
||||||
|
delegate = _delegate;
|
||||||
|
if (delegate) {
|
||||||
|
hard_stop = false;
|
||||||
|
}
|
||||||
|
[self start_stop];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)hard_stop {
|
||||||
|
hard_stop = true;
|
||||||
|
if (running) {
|
||||||
|
[self stop];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setLuminance:(BOOL)on {
|
||||||
|
if (on && !luminance) {
|
||||||
|
[luminance release];
|
||||||
|
luminance = [[CALayer layer] retain];
|
||||||
|
} else if (!on && luminance) {
|
||||||
|
[luminance release];
|
||||||
|
luminance = nil;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CALayer*)luminance {
|
||||||
|
return luminance;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setBinary:(BOOL)on {
|
||||||
|
if (on && !binary) {
|
||||||
|
[binary release];
|
||||||
|
binary = [[CALayer layer] retain];
|
||||||
|
} else if (!on && binary) {
|
||||||
|
[binary release];
|
||||||
|
binary = nil;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CALayer*)binary {
|
||||||
|
return binary;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CALayer*)layer {
|
||||||
|
if (!layer) {
|
||||||
|
layer = [[ZXCaptureVideoPreviewLayer alloc] initWithSession:self.session];
|
||||||
|
|
||||||
|
ZXAV(layer.videoGravity = AVLayerVideoGravityResizeAspect);
|
||||||
|
ZXAV(layer.videoGravity = AVLayerVideoGravityResizeAspectFill);
|
||||||
|
|
||||||
|
[layer setAffineTransform:transform];
|
||||||
|
layer.delegate = self;
|
||||||
|
|
||||||
|
ZXQT({
|
||||||
|
ProcessSerialNumber psn;
|
||||||
|
GetCurrentProcess(&psn);
|
||||||
|
TransformProcessType(&psn, 1);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return layer;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)runActionForKey:(NSString *)key
|
||||||
|
object:(id)anObject
|
||||||
|
arguments:(NSDictionary *)dict {
|
||||||
|
// NSLog(@" rAFK %@ %@ %@", key, anObject, dict);
|
||||||
|
(void)anObject;
|
||||||
|
(void)dict;
|
||||||
|
if ([key isEqualToString:kCAOnOrderIn]) {
|
||||||
|
|
||||||
|
if (order_in_skip) {
|
||||||
|
--order_in_skip;
|
||||||
|
// NSLog(@"order in skip");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// NSLog(@"order in");
|
||||||
|
|
||||||
|
on_screen = true;
|
||||||
|
if (luminance && luminance.superlayer != layer) {
|
||||||
|
// [layer addSublayer:luminance];
|
||||||
|
}
|
||||||
|
if (binary && binary.superlayer != layer) {
|
||||||
|
// [layer addSublayer:binary];
|
||||||
|
}
|
||||||
|
[self start_stop];
|
||||||
|
} else if ([key isEqualToString:kCAOnOrderOut]) {
|
||||||
|
if (order_out_skip) {
|
||||||
|
--order_out_skip;
|
||||||
|
// NSLog(@"order out skip");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
on_screen = false;
|
||||||
|
// NSLog(@"order out");
|
||||||
|
[self start_stop];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (id<CAAction>)actionForLayer:(CALayer*)_layer forKey:(NSString*)event {
|
||||||
|
(void)_layer;
|
||||||
|
|
||||||
|
// NSLog(@"layer event %@", event);
|
||||||
|
|
||||||
|
// never animate
|
||||||
|
[CATransaction setValue:[NSNumber numberWithFloat:0.0f]
|
||||||
|
forKey:kCATransactionAnimationDuration];
|
||||||
|
|
||||||
|
// NSLog(@"afl %@ %@", _layer, event);
|
||||||
|
if ([event isEqualToString:kCAOnOrderIn]
|
||||||
|
|| [event isEqualToString:kCAOnOrderOut]
|
||||||
|
// || ([event isEqualToString:@"bounds"] && (binary || luminance))
|
||||||
|
// || ([event isEqualToString:@"onLayout"] && (binary || luminance))
|
||||||
|
) {
|
||||||
|
return self;
|
||||||
|
} else if ([event isEqualToString:@"contents"] ) {
|
||||||
|
} else if ([event isEqualToString:@"sublayers"] ) {
|
||||||
|
} else if ([event isEqualToString:@"onLayout"] ) {
|
||||||
|
} else if ([event isEqualToString:@"position"] ) {
|
||||||
|
} else if ([event isEqualToString:@"bounds"] ) {
|
||||||
|
} else if ([event isEqualToString:@"layoutManager"] ) {
|
||||||
|
} else if ([event isEqualToString:@"transform"] ) {
|
||||||
|
} else {
|
||||||
|
NSLog(@"afl %@ %@", _layer, event);
|
||||||
|
}
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc {
|
||||||
|
[captureToFilename release];
|
||||||
|
[binary release];
|
||||||
|
[luminance release];
|
||||||
|
[output release];
|
||||||
|
[input release];
|
||||||
|
[layer release];
|
||||||
|
[session release];
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)captureOutput:(ZXCaptureOutput*)captureOutput
|
||||||
|
ZXQT(didOutputVideoFrame:(CVImageBufferRef)videoFrame
|
||||||
|
withSampleBuffer:(QTSampleBuffer*)sampleBuffer)
|
||||||
|
ZXAV(didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer)
|
||||||
|
fromConnection:(ZXCaptureConnection*)connection {
|
||||||
|
|
||||||
|
if (!captureToFilename && !luminance && !binary && !delegate) {
|
||||||
|
// NSLog(@"skipping capture");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// NSLog(@"received frame");
|
||||||
|
|
||||||
|
ZXAV(CVImageBufferRef videoFrame = CMSampleBufferGetImageBuffer(sampleBuffer));
|
||||||
|
|
||||||
|
// NSLog(@"%d %d", CVPixelBufferGetWidth(videoFrame), CVPixelBufferGetHeight(videoFrame));
|
||||||
|
// NSLog(@"delegate %@", delegate);
|
||||||
|
|
||||||
|
ZXQT({
|
||||||
|
if (!reported_width || !reported_height) {
|
||||||
|
CGSize size =
|
||||||
|
[[[[input.device.formatDescriptions objectAtIndex:0]
|
||||||
|
formatDescriptionAttributes] objectForKey:@"videoEncodedPixelsSize"] sizeValue];
|
||||||
|
width = size.width;
|
||||||
|
height = size.height;
|
||||||
|
[self performSelectorOnMainThread:@selector(setOutputAttributes) withObject:nil waitUntilDone:NO];
|
||||||
|
reported_width = size.width;
|
||||||
|
reported_height = size.height;
|
||||||
|
[delegate captureSize:self
|
||||||
|
width:[NSNumber numberWithFloat:size.width]
|
||||||
|
height:[NSNumber numberWithFloat:size.height]];
|
||||||
|
}});
|
||||||
|
|
||||||
|
(void)sampleBuffer;
|
||||||
|
|
||||||
|
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
|
||||||
|
|
||||||
|
(void)captureOutput;
|
||||||
|
(void)connection;
|
||||||
|
|
||||||
|
#if !TARGET_OS_EMBEDDED
|
||||||
|
// The routines don't exist in iOS. There are alternatives, but a good
|
||||||
|
// solution would have to figure out a reasonable path and might be
|
||||||
|
// better as a post to url
|
||||||
|
|
||||||
|
if (captureToFilename) {
|
||||||
|
CGImageRef image =
|
||||||
|
[ZXCGImageLuminanceSource createImageFromBuffer:videoFrame];
|
||||||
|
NSURL* url = [NSURL fileURLWithPath:captureToFilename];
|
||||||
|
CGImageDestinationRef dest =
|
||||||
|
CGImageDestinationCreateWithURL((CFURLRef)url, kUTTypePNG, 1, nil);
|
||||||
|
CGImageDestinationAddImage(dest, image, nil);
|
||||||
|
CGImageDestinationFinalize(dest);
|
||||||
|
CGImageRelease(image);
|
||||||
|
CFRelease(dest);
|
||||||
|
self.captureToFilename = nil;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
ZXCGImageLuminanceSource* source
|
||||||
|
= [[[ZXCGImageLuminanceSource alloc]
|
||||||
|
initWithBuffer:videoFrame]
|
||||||
|
autorelease];
|
||||||
|
|
||||||
|
if (luminance) {
|
||||||
|
CGImageRef image = source.image;
|
||||||
|
CGImageRetain(image);
|
||||||
|
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0), dispatch_get_main_queue(), ^{
|
||||||
|
luminance.contents = (id)image;
|
||||||
|
CGImageRelease(image);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (binary || delegate) {
|
||||||
|
|
||||||
|
// compiler issue?
|
||||||
|
ZXHybridBinarizer* binarizer = [ZXHybridBinarizer alloc];
|
||||||
|
[[binarizer initWithSource:source] autorelease];
|
||||||
|
|
||||||
|
if (binary) {
|
||||||
|
CGImageRef image = binarizer.createImage;
|
||||||
|
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0), dispatch_get_main_queue(), ^{
|
||||||
|
binary.contents = (id)image;
|
||||||
|
CGImageRelease(image);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (delegate) {
|
||||||
|
|
||||||
|
ZXDecodeHints* hints = [[[ZXDecodeHints alloc] init] autorelease];
|
||||||
|
ZXBinaryBitmap* bitmap =
|
||||||
|
[[[ZXBinaryBitmap alloc] initWithBinarizer:binarizer] autorelease];
|
||||||
|
|
||||||
|
@try {
|
||||||
|
ZXQRCodeReader* reader = [[[ZXQRCodeReader alloc] init] autorelease];
|
||||||
|
// NSLog(@"started decode");
|
||||||
|
ZXResult* result = [reader decode:bitmap hints:hints];
|
||||||
|
// NSLog(@"finished decode");
|
||||||
|
[delegate captureResult:self result:result];
|
||||||
|
} @catch (ZXReaderException* rex) {
|
||||||
|
if (![rex.reason isEqualToString:@"Could not find three finder patterns"]) {
|
||||||
|
// NSLog(@"failed to decode, caught ReaderException '%@'", rex.reason);
|
||||||
|
}
|
||||||
|
} @catch (ZXIllegalArgumentException* iex) {
|
||||||
|
// NSLog(@"failed to decode, caught IllegalArgumentException '%@'", iex.reason);
|
||||||
|
} @catch (id ue) {
|
||||||
|
NSLog(@"Caught unknown exception: %@", ue);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// NSLog(@"finished frame");
|
||||||
|
}
|
||||||
|
|
||||||
|
[pool drain];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)hasFront {
|
||||||
|
NSArray* devices =
|
||||||
|
[ZXCaptureDevice
|
||||||
|
ZXAV(devicesWithMediaType:)
|
||||||
|
ZXQT(inputDevicesWithMediaType:) ZXMediaTypeVideo];
|
||||||
|
return [devices count] > 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)hasBack {
|
||||||
|
NSArray* devices =
|
||||||
|
[ZXCaptureDevice
|
||||||
|
ZXAV(devicesWithMediaType:)
|
||||||
|
ZXQT(inputDevicesWithMediaType:) ZXMediaTypeVideo];
|
||||||
|
return [devices count] > 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)hasTorch {
|
||||||
|
if ([self device]) {
|
||||||
|
return false ZXAV(|| [self device].hasTorch);
|
||||||
|
} else {
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (int)front {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (int)back {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (int)camera {
|
||||||
|
return camera;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)torch {
|
||||||
|
return torch;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setCamera:(int)camera_ {
|
||||||
|
if (camera != camera_) {
|
||||||
|
camera = camera_;
|
||||||
|
device = -1;
|
||||||
|
if (running) {
|
||||||
|
[self replaceInput];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setTorch:(BOOL)torch_ {
|
||||||
|
(void)torch_;
|
||||||
|
ZXAV({
|
||||||
|
[input.device lockForConfiguration:nil];
|
||||||
|
switch(input.device.torchMode) {
|
||||||
|
case AVCaptureTorchModeOff:
|
||||||
|
case AVCaptureTorchModeAuto:
|
||||||
|
default:
|
||||||
|
input.device.torchMode = AVCaptureTorchModeOn;
|
||||||
|
break;
|
||||||
|
case AVCaptureTorchModeOn:
|
||||||
|
input.device.torchMode = AVCaptureTorchModeOff;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
[input.device unlockForConfiguration];
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setTransform:(CGAffineTransform)transform_ {
|
||||||
|
transform = transform_;
|
||||||
|
[layer setAffineTransform:transform];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
@implementation ZXCapture
|
||||||
|
|
||||||
|
@synthesize delegate;
|
||||||
|
@synthesize transform;
|
||||||
|
@synthesize captureToFilename;
|
||||||
|
|
||||||
|
- (id)init {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CALayer*)layer {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CALayer*)luminance {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (CALayer*)binary {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setLuminance:(BOOL)on {}
|
||||||
|
- (void)setBinary:(BOOL)on {}
|
||||||
|
|
||||||
|
- (void)hard_stop {
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)hasFront {
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)hasBack {
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)hasTorch {
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (int)front {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (int)back {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (int)camera {
|
||||||
|
return self.front;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (BOOL)torch {
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setCamera:(int)camera_ {}
|
||||||
|
- (void)setTorch:(BOOL)torch {}
|
||||||
|
- (void)order_skip {}
|
||||||
|
- (void)start {}
|
||||||
|
- (void)stop {}
|
||||||
|
- (void*)output {return 0;}
|
||||||
|
|
||||||
|
@end
|
||||||
|
|
||||||
|
#endif
|
28
objc/src/zxing/ZXCaptureDelegate.h
Normal file
28
objc/src/zxing/ZXCaptureDelegate.h
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@class ZXCapture;
|
||||||
|
@class ZXResult;
|
||||||
|
|
||||||
|
@protocol ZXCaptureDelegate <NSObject>
|
||||||
|
|
||||||
|
- (void)captureResult:(ZXCapture*)capture result:(ZXResult*)result;
|
||||||
|
- (void)captureSize:(ZXCapture*)capture
|
||||||
|
width:(NSNumber*)width
|
||||||
|
height:(NSNumber*)height;
|
||||||
|
|
||||||
|
@end
|
25
objc/src/zxing/ZXCaptureView.h
Normal file
25
objc/src/zxing/ZXCaptureView.h
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <zxing/ZXView.h>
|
||||||
|
|
||||||
|
@interface ZXCaptureView : ZXView {
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXCaptureView*)init;
|
||||||
|
|
||||||
|
@end
|
33
objc/src/zxing/ZXCaptureView.mm
Normal file
33
objc/src/zxing/ZXCaptureView.mm
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <zxing/ZXCaptureView.h>
|
||||||
|
|
||||||
|
@implementation ZXCaptureView {
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXCaptureView*)init {
|
||||||
|
if ((self = [super init])) {
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) dealloc {
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
28
objc/src/zxing/ZXDecodeHints.h
Normal file
28
objc/src/zxing/ZXDecodeHints.h
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/DecodeHints.h>
|
||||||
|
|
||||||
|
@interface ZXDecodeHints : NSObject {
|
||||||
|
zxing::DecodeHints* native;
|
||||||
|
}
|
||||||
|
|
||||||
|
@property (readonly) zxing::DecodeHints* native;
|
||||||
|
|
||||||
|
- (ZXDecodeHints*)init;
|
||||||
|
|
||||||
|
@end
|
36
objc/src/zxing/ZXDecodeHints.mm
Normal file
36
objc/src/zxing/ZXDecodeHints.mm
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXDecodeHints.h>
|
||||||
|
|
||||||
|
@implementation ZXDecodeHints
|
||||||
|
|
||||||
|
@synthesize native;
|
||||||
|
|
||||||
|
- (ZXDecodeHints*)init {
|
||||||
|
if ((self = [super init])) {
|
||||||
|
native = new zxing::DecodeHints;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc {
|
||||||
|
delete native;
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
26
objc/src/zxing/ZXHybridBinarizer.h
Normal file
26
objc/src/zxing/ZXHybridBinarizer.h
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXBinarizer.h>
|
||||||
|
#import <zxing/common/HybridBinarizer.h>
|
||||||
|
|
||||||
|
@interface ZXHybridBinarizer : ZXBinarizer {
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXHybridBinarizer*)initWithSource:(ZXLuminanceSource*)source;
|
||||||
|
|
||||||
|
@end
|
29
objc/src/zxing/ZXHybridBinarizer.mm
Normal file
29
objc/src/zxing/ZXHybridBinarizer.mm
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXHybridBinarizer.h>
|
||||||
|
|
||||||
|
@implementation ZXHybridBinarizer
|
||||||
|
|
||||||
|
- (ZXHybridBinarizer*)initWithSource:(ZXLuminanceSource*)source {
|
||||||
|
zxing::HybridBinarizer* hybrid =
|
||||||
|
new zxing::HybridBinarizer(zxing::Ref<zxing::LuminanceSource>([source native]));
|
||||||
|
[super initWithNative:hybrid];
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
21
objc/src/zxing/ZXIllegalArgumentException.h
Normal file
21
objc/src/zxing/ZXIllegalArgumentException.h
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@interface ZXIllegalArgumentException : NSException {
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
23
objc/src/zxing/ZXIllegalArgumentException.mm
Normal file
23
objc/src/zxing/ZXIllegalArgumentException.mm
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXIllegalArgumentException.h>
|
||||||
|
|
||||||
|
@implementation ZXIllegalArgumentException {
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
28
objc/src/zxing/ZXImage.h
Normal file
28
objc/src/zxing/ZXImage.h
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@interface ZXImage : NSObject {
|
||||||
|
CGImageRef cgimage;
|
||||||
|
}
|
||||||
|
|
||||||
|
@property (readonly) CGImageRef cgimage;
|
||||||
|
|
||||||
|
- (ZXImage*)initWithURL:(NSURL const*)url;
|
||||||
|
- (size_t)width;
|
||||||
|
- (size_t)height;
|
||||||
|
|
||||||
|
@end
|
62
objc/src/zxing/ZXImage.mm
Normal file
62
objc/src/zxing/ZXImage.mm
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXImage.h>
|
||||||
|
|
||||||
|
@implementation ZXImage
|
||||||
|
|
||||||
|
@synthesize cgimage;
|
||||||
|
|
||||||
|
- (ZXImage*)initWithURL:(NSURL const*)url {
|
||||||
|
|
||||||
|
CGDataProviderRef provider = CGDataProviderCreateWithURL((CFURLRef)url);
|
||||||
|
|
||||||
|
if (provider) {
|
||||||
|
CGImageSourceRef source = CGImageSourceCreateWithDataProvider(provider, 0);
|
||||||
|
|
||||||
|
if (source) {
|
||||||
|
cgimage = CGImageSourceCreateImageAtIndex(source, 0, 0);
|
||||||
|
|
||||||
|
CFRelease(source);
|
||||||
|
}
|
||||||
|
|
||||||
|
CGDataProviderRelease(provider);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cgimage) {
|
||||||
|
return self;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (size_t)width {
|
||||||
|
return CGImageGetWidth(cgimage);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (size_t)height {
|
||||||
|
return CGImageGetHeight(cgimage);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc {
|
||||||
|
if (cgimage) {
|
||||||
|
CGImageRelease(cgimage);
|
||||||
|
}
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
18
objc/src/zxing/ZXInit.c
Normal file
18
objc/src/zxing/ZXInit.c
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
// -*- mode:c; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
void Init_zxing(void){}
|
27
objc/src/zxing/ZXLuminanceSource.h
Normal file
27
objc/src/zxing/ZXLuminanceSource.h
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/LuminanceSource.h>
|
||||||
|
|
||||||
|
@interface ZXLuminanceSource : NSObject {
|
||||||
|
zxing::Ref<zxing::LuminanceSource> native;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXLuminanceSource*)initWithNative:(zxing::LuminanceSource*)native;
|
||||||
|
- (zxing::LuminanceSource*)native;
|
||||||
|
|
||||||
|
@end
|
36
objc/src/zxing/ZXLuminanceSource.mm
Normal file
36
objc/src/zxing/ZXLuminanceSource.mm
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXLuminanceSource.h>
|
||||||
|
|
||||||
|
@implementation ZXLuminanceSource
|
||||||
|
|
||||||
|
- (ZXLuminanceSource*)initWithNative:(zxing::LuminanceSource*)_native {
|
||||||
|
native = _native;
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (zxing::LuminanceSource*)native {
|
||||||
|
return native;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc {
|
||||||
|
native = 0;
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
25
objc/src/zxing/ZXMultiFormatReader.h
Normal file
25
objc/src/zxing/ZXMultiFormatReader.h
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXReader.h>
|
||||||
|
|
||||||
|
@interface ZXMultiFormatReader : ZXReader {
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXMultiFormatReader*)init;
|
||||||
|
|
||||||
|
@end
|
29
objc/src/zxing/ZXMultiFormatReader.mm
Normal file
29
objc/src/zxing/ZXMultiFormatReader.mm
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/MultiFormatReader.h>
|
||||||
|
#import <zxing/ZXMultiFormatReader.h>
|
||||||
|
|
||||||
|
@implementation ZXMultiFormatReader
|
||||||
|
|
||||||
|
- (ZXMultiFormatReader*)init {
|
||||||
|
zxing::MultiFormatReader* multi = new zxing::MultiFormatReader();
|
||||||
|
[super initWithReader:multi];
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
25
objc/src/zxing/ZXQRCodeReader.h
Normal file
25
objc/src/zxing/ZXQRCodeReader.h
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXReader.h>
|
||||||
|
|
||||||
|
@interface ZXQRCodeReader : ZXReader {
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXQRCodeReader*)init;
|
||||||
|
|
||||||
|
@end
|
29
objc/src/zxing/ZXQRCodeReader.mm
Normal file
29
objc/src/zxing/ZXQRCodeReader.mm
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/qrcode/QRCodeReader.h>
|
||||||
|
#import <zxing/ZXQRCodeReader.h>
|
||||||
|
|
||||||
|
@implementation ZXQRCodeReader
|
||||||
|
|
||||||
|
- (ZXQRCodeReader*)init {
|
||||||
|
zxing::qrcode::QRCodeReader* multi = new zxing::qrcode::QRCodeReader();
|
||||||
|
[super initWithReader:multi];
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
31
objc/src/zxing/ZXReader.h
Normal file
31
objc/src/zxing/ZXReader.h
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/Reader.h>
|
||||||
|
|
||||||
|
@class ZXBinaryBitmap;
|
||||||
|
@class ZXDecodeHints;
|
||||||
|
@class ZXResult;
|
||||||
|
|
||||||
|
@interface ZXReader : NSObject {
|
||||||
|
zxing::Ref<zxing::Reader> reader;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXReader*)initWithReader:(zxing::Reader*)reader;
|
||||||
|
- (ZXResult*)decode:(ZXBinaryBitmap*)bitmap hints:(ZXDecodeHints*)hints;
|
||||||
|
|
||||||
|
@end
|
58
objc/src/zxing/ZXReader.mm
Normal file
58
objc/src/zxing/ZXReader.mm
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXReader.h>
|
||||||
|
#import <zxing/ZXResult.h>
|
||||||
|
#import <zxing/ZXBinaryBitmap.h>
|
||||||
|
#import <zxing/ZXDecodeHints.h>
|
||||||
|
#import <zxing/ReaderException.h>
|
||||||
|
#import <zxing/ZXReaderException.h>
|
||||||
|
#import <zxing/common/IllegalArgumentException.h>
|
||||||
|
#import <zxing/ZXIllegalArgumentException.h>
|
||||||
|
|
||||||
|
@implementation ZXReader
|
||||||
|
|
||||||
|
- (ZXReader*)initWithReader:(zxing::Reader*)_reader {
|
||||||
|
reader = _reader;
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXResult*)decode:(ZXBinaryBitmap*)bitmap hints:(ZXDecodeHints*)hints {
|
||||||
|
try {
|
||||||
|
zxing::Ref<zxing::Result> result (reader->decode(
|
||||||
|
zxing::Ref<zxing::BinaryBitmap>([bitmap native]),
|
||||||
|
*[hints native]));
|
||||||
|
return [[[ZXResult alloc] initWithNative:result] autorelease];
|
||||||
|
} catch (zxing::ReaderException const& re) {
|
||||||
|
NSString* s = [NSString stringWithCString:re.what() encoding:NSUTF8StringEncoding];
|
||||||
|
NSException* e = [[[ZXReaderException alloc] initWithName:@"ZXReaderException"
|
||||||
|
reason:s
|
||||||
|
userInfo:nil] autorelease];
|
||||||
|
@throw e;
|
||||||
|
} catch (zxing::IllegalArgumentException const& iae) {
|
||||||
|
NSString* s = [NSString stringWithCString:iae.what() encoding:NSUTF8StringEncoding];
|
||||||
|
NSException* e = [[[ZXIllegalArgumentException alloc]
|
||||||
|
initWithName:@"ZXIllegalArgumntException"
|
||||||
|
reason:s
|
||||||
|
userInfo:nil] autorelease];
|
||||||
|
@throw e;
|
||||||
|
}
|
||||||
|
/* not reachable */
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
21
objc/src/zxing/ZXReaderException.h
Normal file
21
objc/src/zxing/ZXReaderException.h
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@interface ZXReaderException : NSException {
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
23
objc/src/zxing/ZXReaderException.mm
Normal file
23
objc/src/zxing/ZXReaderException.mm
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXReaderException.h>
|
||||||
|
|
||||||
|
@implementation ZXReaderException {
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
27
objc/src/zxing/ZXResult.h
Normal file
27
objc/src/zxing/ZXResult.h
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/Result.h>
|
||||||
|
|
||||||
|
@interface ZXResult : NSObject {
|
||||||
|
zxing::Ref<zxing::Result> native;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (ZXResult*)initWithNative:(zxing::Result*)native;
|
||||||
|
- (NSString*)text;
|
||||||
|
|
||||||
|
@end
|
39
objc/src/zxing/ZXResult.mm
Normal file
39
objc/src/zxing/ZXResult.mm
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <zxing/ZXResult.h>
|
||||||
|
|
||||||
|
@implementation ZXResult
|
||||||
|
|
||||||
|
- (ZXResult*)initWithNative:(zxing::Result*)result {
|
||||||
|
if ((self = [super init])) {
|
||||||
|
native = result;
|
||||||
|
}
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)dealloc {
|
||||||
|
native = 0;
|
||||||
|
[super dealloc];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSString*)text {
|
||||||
|
return [NSString stringWithCString:native->getText()->getText().c_str()
|
||||||
|
encoding:NSUTF8StringEncoding];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
22
objc/src/zxing/ZXView.h
Normal file
22
objc/src/zxing/ZXView.h
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
// -*- mode:objc; c-basic-offset:2; indent-tabs-mode:nil -*-
|
||||||
|
/*
|
||||||
|
* Copyright 2011 ZXing authors
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if TARGET_OS_EMBEDDED || TARGET_IPHONE_SIMULATOR
|
||||||
|
#define ZXView UIView
|
||||||
|
#else
|
||||||
|
#define ZXView NSView
|
||||||
|
#endif
|
Loading…
Reference in a new issue