From c277903dac9b3d1dd5a232a8bc3f3bfd2290c243 Mon Sep 17 00:00:00 2001 From: Christoph Oberhofer Date: Mon, 9 May 2016 22:57:32 +0200 Subject: [PATCH] API adaptations --- example/api-test.js | 32 ++++++++++++++++++++------------ src/quagga.js | 35 ++++++++++++++++++++++++++++------- 2 files changed, 48 insertions(+), 19 deletions(-) diff --git a/example/api-test.js b/example/api-test.js index 2055c3f..e1a46ce 100644 --- a/example/api-test.js +++ b/example/api-test.js @@ -14,7 +14,7 @@ var i2of5Scanner = Quagga .decoder({readers: ['i2of5_reader']}) .locator({patchSize: 'small', halfSample: false}); -/*eanScanner +/* eanScanner .fromImage('../test/fixtures/ean/image-001.jpg', {size: 640}) .toPromise().then((result) => { console.log(result.codeResult.code); @@ -24,12 +24,13 @@ var i2of5Scanner = Quagga i2of5Scanner .fromImage('../test/fixtures/i2of5/image-001.jpg', {size: 800}) - .toPromise().then((result) => { - console.log(result.codeResult.code); - }).catch(() => { - console.log("ITF not found!"); - }); -*/ + .addEventListener('detected', (result) => { + console.log("Detected: " + result.codeResult.code); + }) + .addEventListener('processed', (result) => { + console.log("Image Processed"); + }) + .start(); */ /* imageReader.addEventListener('processed', (result) => { console.log(result); @@ -46,14 +47,21 @@ i2of5Scanner console.log(result.codeResult.code); });*/ -code128Scanner +code128Scanner = code128Scanner + .config({frequency: 2}) .fromVideo({ constraints: { - width: 1280, - height: 720, + width: 800, + height: 600, facingMode: "environment" } - }) + }); + +code128Scanner .addEventListener('detected', (result) => { console.log(result); - }); + }) + .addEventListener('processed', result => { + console.log("Processed"); + }) + .start(); diff --git a/src/quagga.js b/src/quagga.js index 1924f4c..1795edc 100644 --- a/src/quagga.js +++ b/src/quagga.js @@ -29,11 +29,23 @@ function fromImage(config, imageSrc, inputConfig={}) { const scanner = createScanner(); return { - addEventListener: (eventType, cb) => { - scanner.decodeSingle(config, cb); + addEventListener(eventType, cb) { + scanner.subscribe(eventType, cb); + return this; + }, + removeEventListener(eventType, cb) { + scanner.unsubscribe(eventType, cb); + return this; }, - removeEventListener(cb) { + start() { + scanner.init(config, () => { + scanner.start(); + }); + return this; + }, + stop() { scanner.stop(); + return this; }, toPromise() { return new Promise((resolve, reject) => { @@ -80,17 +92,26 @@ function fromVideo(config, source, inputConfig = {}) { const scanner = createScanner(); return { addEventListener(eventType, cb) { + scanner.subscribe(eventType, cb); + return this; + }, + removeEventListener(eventType, cb) { + scanner.unsubscribe(eventType, cb); + return this; + }, + start() { scanner.init(config, (error) => { if (error) { console.log(error); - return; + throw error; } scanner.start(); }); - scanner.subscribe(eventType, cb); + return this; }, - removeEventListener(eventType, cb) { - scanner.unsubscribe(eventType, cb); + stop() { + scanner.stop(); + return this; } }; }