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 @@
@@ -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