From e86ff3fbf3938720bf7f42d95b76f5e0396b7776 Mon Sep 17 00:00:00 2001 From: Lars Jung Date: Sun, 28 Jul 2013 23:00:47 +0200 Subject: [PATCH] Final changes. --- README.md | 6 ++++-- src/demo/index.html | 16 ++++++++-------- src/demo/scripts.js | 13 +++---------- src/jquery.qrcode.js | 40 ++++++++++++++++++++++------------------ 4 files changed, 37 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index c743eee..5bb8d66 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,11 @@ Uses [QR Code Generator](http://www.d-project.com/qrcode/index.html) (MIT). Kudo ### develop branch -* adds options to set version range -* adds optioinal label or image +* adds version range +* adds quiet zone +* adds optional label or image * adds rounded corners +* adds image output * adds demo diff --git a/src/demo/index.html b/src/demo/index.html index ade8ba6..c802520 100644 --- a/src/demo/index.html +++ b/src/demo/index.html @@ -24,7 +24,7 @@
- +

- + -
- DOWNLOAD + +
@@ -71,16 +71,16 @@
- - - + + +
- +
diff --git a/src/demo/scripts.js b/src/demo/scripts.js index b8691e7..f91cb7f 100644 --- a/src/demo/scripts.js +++ b/src/demo/scripts.js @@ -23,8 +23,7 @@ var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]', updateQrCode = function () { - var mode = parseInt($("#mode").val(), 10), - options = { + var options = { render: $("#render").val(), ecLevel: $("#eclevel").val(), minVersion: parseInt($("#minversion").val(), 10), @@ -35,6 +34,8 @@ var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]', radius: parseInt($("#radius").val(), 10) * 0.01, quiet: parseInt($("#quiet").val(), 10), + mode: parseInt($("#mode").val(), 10), + label: $("#label").val(), labelsize: parseInt($("#fontsize").val(), 10) * 0.01, fontname: $("#font").val(), @@ -44,14 +45,6 @@ var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]', imagesize: parseInt($("#imagesize").val(), 10) * 0.01 }; - if (mode === 1 || mode === 2) { - options.ext = 'label'; - options.boxed = mode === 2; - } else if (mode === 3 || mode === 4) { - options.ext = 'image'; - options.boxed = mode === 4; - } - $("#container").empty().qrcode(options); }, diff --git a/src/jquery.qrcode.js b/src/jquery.qrcode.js index cba5f3b..822f413 100644 --- a/src/jquery.qrcode.js +++ b/src/jquery.qrcode.js @@ -93,12 +93,12 @@ sb = st + sh, pad = 0.01; - if (settings.boxed) { - // Box - qr.addBlank(sl - pad, st - pad, sr + pad, sb + pad); - } else { + if (settings.mode === 1) { // Strip qr.addBlank(0, st - pad, size, sb + pad); + } else { + // Box + qr.addBlank(sl - pad, st - pad, sr + pad, sb + pad); } context.fillStyle = settings.fontcolor; @@ -109,9 +109,8 @@ drawBackgroundImage = function (qr, context, settings) { - var size = settings.size; - - var w = settings.image.naturalWidth || 1, + var size = settings.size, + w = settings.image.naturalWidth || 1, h = settings.image.naturalHeight || 1, sh = settings.imagesize, sw = sh * w / h, @@ -121,13 +120,14 @@ sb = st + sh, pad = 0.01; - if (settings.boxed) { - // Box - qr.addBlank(sl - pad, st - pad, sr + pad, sb + pad); - } else { + if (settings.mode === 3) { // Strip qr.addBlank(0, st - pad, size, sb + pad); + } else { + // Box + qr.addBlank(sl - pad, st - pad, sr + pad, sb + pad); } + context.drawImage(settings.image, sl*size, st*size, sw*size, sh*size); }, @@ -138,9 +138,10 @@ context.fillRect(settings.left, settings.top, settings.size, settings.size); } - if (settings.ext === 'label') { + var mode = settings.mode; + if (mode === 1 || mode === 2) { drawBackgroundLabel(qr, context, settings); - } else if (settings.ext === 'image') { + } else if (mode === 3 || mode === 4) { drawBackgroundImage(qr, context, settings); } }, @@ -413,8 +414,13 @@ // quiet zone in modules quiet: 0, - // extras: 'label' or 'image' - extra: null, + // modes + // 0: normal + // 1: label strip + // 2: label box + // 3: image strip + // 4: image box + mode: 0, label: 'no label', labelsize: 0.1, @@ -422,9 +428,7 @@ fontcolor: '#000', image: null, - imagesize: 0.1, - - boxed: true + imagesize: 0.1 }; // Register the plugin