mirror of
https://github.com/zxing/zxing.git
synced 2025-03-05 20:48:51 -08:00
Initial check in of rough, experimental iPhone code. Not to be used just yet; just here so we can collaborate a bit.
git-svn-id: https://zxing.googlecode.com/svn/trunk@228 59b500cc-1b3d-0410-9834-0bbf25fbcc57
This commit is contained in:
parent
759bef6f8a
commit
89c20544eb
39
iphone/experimental/Info.plist
Normal file
39
iphone/experimental/Info.plist
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<!--
|
||||||
|
Copyright 2008 Google Inc.
|
||||||
|
|
||||||
|
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.
|
||||||
|
-->
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>ZXing</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>zxing</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>0.1</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>ZXing</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0.0</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>????</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
36
iphone/experimental/Makefile
Normal file
36
iphone/experimental/Makefile
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# Copyright 2008 Google Inc.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
CC=/usr/local/bin/arm-apple-darwin-gcc -v
|
||||||
|
LD=$(CC)
|
||||||
|
|
||||||
|
CFLAGS = -L$(HEAVENLY)
|
||||||
|
LDFLAGS = -framework CoreFoundation \
|
||||||
|
-framework Foundation \
|
||||||
|
-framework UIKit \
|
||||||
|
-framework CoreGraphics \
|
||||||
|
-framework PhotoLibrary \
|
||||||
|
-lobjc
|
||||||
|
|
||||||
|
all: ZXing
|
||||||
|
|
||||||
|
ZXing: ZXing.o ZXingApplication.o
|
||||||
|
$(LD) $(LDFLAGS) -o $@ $^
|
||||||
|
|
||||||
|
%.o: %.m
|
||||||
|
$(CC) -c $(CFLAGS) $< -o $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o ZXing
|
||||||
|
rm -f ZXing.app/ZXing
|
3
iphone/experimental/README
Normal file
3
iphone/experimental/README
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
This is a temporary checkin of a rough shell of an iPhone application, for
|
||||||
|
purposes of experimentation and sharing with developers. It should not be
|
||||||
|
expected to be complete or functional, or ready for use.
|
25
iphone/experimental/ZXing.m
Normal file
25
iphone/experimental/ZXing.m
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2008 Google Inc.
|
||||||
|
*
|
||||||
|
* 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 <UIKit/UIKit.h>
|
||||||
|
|
||||||
|
#import "ZXingApplication.h"
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
|
||||||
|
return UIApplicationMain(argc, argv, [ZXingApplication class]);
|
||||||
|
}
|
43
iphone/experimental/ZXingApplication.h
Normal file
43
iphone/experimental/ZXingApplication.h
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2008 Google Inc.
|
||||||
|
*
|
||||||
|
* 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 <Foundation/Foundation.h>
|
||||||
|
#import <PhotoLibrary/CameraController.h>
|
||||||
|
#import <UIKit/UIKit.h>
|
||||||
|
#import <UIKit/UIApplication.h>
|
||||||
|
|
||||||
|
@interface ZXingApplication : UIApplication
|
||||||
|
{
|
||||||
|
CameraController* cameraController;
|
||||||
|
|
||||||
|
UIWindow* mainWindow;
|
||||||
|
|
||||||
|
UIView* previewView;
|
||||||
|
UIView* decodeView;
|
||||||
|
|
||||||
|
UIImageView* decodeImageView;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) decodeImage: (id) param1;
|
||||||
|
|
||||||
|
- (void) cameraControllerReadyStateChanged: (id) param1;
|
||||||
|
- (void) cameraController: (id) param1
|
||||||
|
tookPicture: (id) param2
|
||||||
|
withPreview: (id) preview
|
||||||
|
jpegData: (id) param3
|
||||||
|
imageProperties: (id) param4;
|
||||||
|
|
||||||
|
@end
|
97
iphone/experimental/ZXingApplication.m
Normal file
97
iphone/experimental/ZXingApplication.m
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2008 Google Inc.
|
||||||
|
*
|
||||||
|
* 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 <CoreGraphics/CGGeometry.h>
|
||||||
|
#import <CoreGraphics/CGImage.h>
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import <UIKit/UIPushButton.h>
|
||||||
|
#import <UIKit/UIWindow.h>
|
||||||
|
#import <PhotoLibrary/CameraController.h>
|
||||||
|
#import "ZXingApplication.h"
|
||||||
|
|
||||||
|
@implementation ZXingApplication
|
||||||
|
|
||||||
|
- (void) applicationDidFinishLaunching: (id) param1 {
|
||||||
|
mainWindow = [[UIWindow alloc] initWithContentRect: [UIHardware
|
||||||
|
fullScreenApplicationContentRect]];
|
||||||
|
|
||||||
|
[mainWindow orderFront: self];
|
||||||
|
[mainWindow _setHidden: NO];
|
||||||
|
|
||||||
|
// Setup camera stuff
|
||||||
|
cameraController = [[CameraController alloc] init];
|
||||||
|
[cameraController startPreview];
|
||||||
|
[[CameraController sharedInstance] setDelegate: self];
|
||||||
|
|
||||||
|
struct CGRect fullscreen_rect =
|
||||||
|
[UIHardware fullScreenApplicationContentRect];
|
||||||
|
fullscreen_rect.origin.x = 0.0f;
|
||||||
|
fullscreen_rect.origin.y = 0.0f;
|
||||||
|
fullscreen_rect.size.width = 320.0f;
|
||||||
|
fullscreen_rect.size.height = 480.0f;
|
||||||
|
|
||||||
|
// Setup previewView
|
||||||
|
previewView = [[UIView alloc] initWithFrame: fullscreen_rect];
|
||||||
|
[previewView addSubview: [cameraController previewView]];
|
||||||
|
|
||||||
|
UIPushButton *decode_button =
|
||||||
|
[[UIPushButton alloc] initWithFrame:
|
||||||
|
CGRectMake(140.0f, 440.0f, 50.0f, 20.0f)];
|
||||||
|
[decode_button setTitle: @"Decode"];
|
||||||
|
[decode_button setEnabled: YES];
|
||||||
|
[decode_button addTarget: self action: @selector(decodeImage:)
|
||||||
|
forEvents: 255];
|
||||||
|
|
||||||
|
[previewView addSubview: decode_button];
|
||||||
|
|
||||||
|
// Setup decodeView
|
||||||
|
decodeView = [[UIView alloc] initWithFrame: fullscreen_rect];
|
||||||
|
decodeImageView = [[UIImageView alloc] initWithFrame:
|
||||||
|
CGRectMake(0.0f, 0.0f,
|
||||||
|
320.0f, 480.0f)];
|
||||||
|
[decodeImageView setRotationBy: 90];
|
||||||
|
[decodeView addSubview: decodeImageView];
|
||||||
|
|
||||||
|
[mainWindow setContentView: previewView];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) decodeImage: (id) param1 {
|
||||||
|
[cameraController capturePhoto];
|
||||||
|
|
||||||
|
[mainWindow setContentView: decodeView];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
- (void) cameraControllerReadyStateChanged: (id) param1 {
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) cameraController: (id) param1
|
||||||
|
tookPicture: (id) param2
|
||||||
|
withPreview: (id) preview
|
||||||
|
jpegData: (id) param3
|
||||||
|
imageProperties: (id) param4 {
|
||||||
|
[cameraController stopPreview];
|
||||||
|
|
||||||
|
CGImageRef orig_image = [preview imageRef];
|
||||||
|
int orig_height = CGImageGetHeight(orig_image);
|
||||||
|
int orig_width = CGImageGetWidth(orig_image);
|
||||||
|
|
||||||
|
[decodeImageView setImage: preview];
|
||||||
|
// Height and width swapped since the image comes in rotated 90 degrees.
|
||||||
|
[decodeImageView setFrame: CGRectMake(0.0f, 0.0f, orig_height, orig_width)];
|
||||||
|
}
|
||||||
|
|
||||||
|
@end
|
BIN
iphone/experimental/icon.png
Normal file
BIN
iphone/experimental/icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.7 KiB |
Loading…
Reference in a new issue