diff options
Diffstat (limited to 'iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.m')
-rw-r--r-- | iphone/examples/ReaderSample/ReaderSample/ReaderSampleViewController.m | 68 |
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 |