summaryrefslogtreecommitdiffstats
path: root/iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.m
diff options
context:
space:
mode:
Diffstat (limited to 'iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.m')
-rw-r--r--iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.m68
1 files changed, 68 insertions, 0 deletions
diff --git a/iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.m b/iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.m
new file mode 100644
index 0000000..67ddd6d
--- /dev/null
+++ b/iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.m
@@ -0,0 +1,68 @@
+//
+// ReaderSampleViewController.m
+// ReaderSample
+//
+// Created by spadix on 4/14/11.
+//
+
+#import "ReaderSampleViewController.h"
+
+@implementation ReaderSampleViewController
+
+@synthesize resultImage, resultText;
+
+- (IBAction) scanButtonTapped
+{
+ // ADD: present a barcode reader that scans from the camera feed
+ ZBarReaderViewController *reader = [[ZBarReaderViewController alloc] init];
+ reader.readerDelegate = self;
+ reader.supportedOrientationsMask = ZBarOrientationMaskAll;
+
+ ZBarImageScanner *scanner = reader.scanner;
+ // TODO: (optional) additional reader configuration here
+
+ // EXAMPLE: disable rarely used I2/5 to improve performance
+ [scanner setSymbology: ZBAR_I25
+ config: ZBAR_CFG_ENABLE
+ to: 0];
+
+ // present and release the controller
+ [self presentModalViewController: reader
+ animated: YES];
+ [reader release];
+}
+
+- (void) imagePickerController: (UIImagePickerController*) reader
+ didFinishPickingMediaWithInfo: (NSDictionary*) info
+{
+ // ADD: get the decode results
+ id<NSFastEnumeration> results =
+ [info objectForKey: ZBarReaderControllerResults];
+ ZBarSymbol *symbol = nil;
+ for(symbol in results)
+ // EXAMPLE: just grab the first barcode
+ break;
+
+ // EXAMPLE: do something useful with the barcode data
+ resultText.text = symbol.data;
+
+ // EXAMPLE: do something useful with the barcode image
+ resultImage.image =
+ [info objectForKey: UIImagePickerControllerOriginalImage];
+
+ // ADD: dismiss the controller (NB dismiss from the *reader*!)
+ [reader dismissModalViewControllerAnimated: YES];
+}
+
+- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) orient
+{
+ return(YES);
+}
+
+- (void) dealloc {
+ self.resultImage = nil;
+ self.resultText = nil;
+ [super dealloc];
+}
+
+@end