diff options
Diffstat (limited to 'examples/processor.cpp')
-rw-r--r-- | examples/processor.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/examples/processor.cpp b/examples/processor.cpp new file mode 100644 index 0000000..a032a5b --- /dev/null +++ b/examples/processor.cpp @@ -0,0 +1,44 @@ +#include <iostream> +#include <zbar.h> + +using namespace std; +using namespace zbar; + +class MyHandler : public Image::Handler +{ + void image_callback(Image &image) + { + for (SymbolIterator symbol = image.symbol_begin(); + symbol != image.symbol_end(); ++symbol) + cout << "decoded " << symbol->get_type_name() << " symbol " + << "\"" << symbol->get_data() << "\"" << endl; + } +}; + +int main(int argc, char **argv) +{ + // create and initialize a Processor + const char *device = "/dev/video0"; + + if (argc > 1) + device = argv[1]; + Processor proc(true, device); + + // configure the Processor + proc.set_config(ZBAR_NONE, ZBAR_CFG_ENABLE, 1); + + // setup a callback + MyHandler my_handler; + proc.set_handler(my_handler); + + // enable the preview window + proc.set_visible(); + proc.set_active(); + + try { + // keep scanning until user provides key/mouse input + proc.user_wait(); + } catch (ClosedError &e) { + } + return (0); +} |