@ -3,7 +3,7 @@
* - Using the 'QRCode for Javascript library'
* - Using the 'QRCode for Javascript library'
* - Fixed dataset of 'QRCode for Javascript library' for support full - spec .
* - Fixed dataset of 'QRCode for Javascript library' for support full - spec .
* - this library has no dependencies .
* - this library has no dependencies .
*
*
* @ author davidshimjs
* @ author davidshimjs
* @ see < a href = "http://www.d-project.com/" target = "_blank" > http : //www.d-project.com/</a>
* @ see < a href = "http://www.d-project.com/" target = "_blank" > http : //www.d-project.com/</a>
* @ see < a href = "http://jeromeetienne.github.com/jquery-qrcode/" target = "_blank" > http : //jeromeetienne.github.com/jquery-qrcode/</a>
* @ see < a href = "http://jeromeetienne.github.com/jquery-qrcode/" target = "_blank" > http : //jeromeetienne.github.com/jquery-qrcode/</a>
@ -21,7 +21,7 @@ var QRCode;
// Licensed under the MIT license:
// Licensed under the MIT license:
// http://www.opensource.org/licenses/mit-license.php
// http://www.opensource.org/licenses/mit-license.php
//
//
// The word "QR Code" is registered trademark of
// The word "QR Code" is registered trademark of
// DENSO WAVE INCORPORATED
// DENSO WAVE INCORPORATED
// http://www.denso-wave.com/qrcode/faqpatent-e.html
// http://www.denso-wave.com/qrcode/faqpatent-e.html
//
//
@ -150,28 +150,28 @@ var QRCode;
QRBitBuffer . prototype = { get : function ( index ) { var bufIndex = Math . floor ( index / 8 ) ; return ( ( this . buffer [ bufIndex ] >>> ( 7 - index % 8 ) ) & 1 ) == 1 ; } , put : function ( num , length ) { for ( var i = 0 ; i < length ; i ++ ) { this . putBit ( ( ( num >>> ( length - i - 1 ) ) & 1 ) == 1 ) ; } } , getLengthInBits : function ( ) { return this . length ; } , putBit : function ( bit ) { var bufIndex = Math . floor ( this . length / 8 ) ; if ( this . buffer . length <= bufIndex ) { this . buffer . push ( 0 ) ; }
QRBitBuffer . prototype = { get : function ( index ) { var bufIndex = Math . floor ( index / 8 ) ; return ( ( this . buffer [ bufIndex ] >>> ( 7 - index % 8 ) ) & 1 ) == 1 ; } , put : function ( num , length ) { for ( var i = 0 ; i < length ; i ++ ) { this . putBit ( ( ( num >>> ( length - i - 1 ) ) & 1 ) == 1 ) ; } } , getLengthInBits : function ( ) { return this . length ; } , putBit : function ( bit ) { var bufIndex = Math . floor ( this . length / 8 ) ; if ( this . buffer . length <= bufIndex ) { this . buffer . push ( 0 ) ; }
if ( bit ) { this . buffer [ bufIndex ] |= ( 0x80 >>> ( this . length % 8 ) ) ; }
if ( bit ) { this . buffer [ bufIndex ] |= ( 0x80 >>> ( this . length % 8 ) ) ; }
this . length ++ ; } } ; var QRCodeLimitLength = [ [ 17 , 14 , 11 , 7 ] , [ 32 , 26 , 20 , 14 ] , [ 53 , 42 , 32 , 24 ] , [ 78 , 62 , 46 , 34 ] , [ 106 , 84 , 60 , 44 ] , [ 134 , 106 , 74 , 58 ] , [ 154 , 122 , 86 , 64 ] , [ 192 , 152 , 108 , 84 ] , [ 230 , 180 , 130 , 98 ] , [ 271 , 213 , 151 , 119 ] , [ 321 , 251 , 177 , 137 ] , [ 367 , 287 , 203 , 155 ] , [ 425 , 331 , 241 , 177 ] , [ 458 , 362 , 258 , 194 ] , [ 520 , 412 , 292 , 220 ] , [ 586 , 450 , 322 , 250 ] , [ 644 , 504 , 364 , 280 ] , [ 718 , 560 , 394 , 310 ] , [ 792 , 624 , 442 , 338 ] , [ 858 , 666 , 482 , 382 ] , [ 929 , 711 , 509 , 403 ] , [ 1003 , 779 , 565 , 439 ] , [ 1091 , 857 , 611 , 461 ] , [ 1171 , 911 , 661 , 511 ] , [ 1273 , 997 , 715 , 535 ] , [ 1367 , 1059 , 751 , 593 ] , [ 1465 , 1125 , 805 , 625 ] , [ 1528 , 1190 , 868 , 658 ] , [ 1628 , 1264 , 908 , 698 ] , [ 1732 , 1370 , 982 , 742 ] , [ 1840 , 1452 , 1030 , 790 ] , [ 1952 , 1538 , 1112 , 842 ] , [ 2068 , 1628 , 1168 , 898 ] , [ 2188 , 1722 , 1228 , 958 ] , [ 2303 , 1809 , 1283 , 983 ] , [ 2431 , 1911 , 1351 , 1051 ] , [ 2563 , 1989 , 1423 , 1093 ] , [ 2699 , 2099 , 1499 , 1139 ] , [ 2809 , 2213 , 1579 , 1219 ] , [ 2953 , 2331 , 1663 , 1273 ] ] ;
this . length ++ ; } } ; var QRCodeLimitLength = [ [ 17 , 14 , 11 , 7 ] , [ 32 , 26 , 20 , 14 ] , [ 53 , 42 , 32 , 24 ] , [ 78 , 62 , 46 , 34 ] , [ 106 , 84 , 60 , 44 ] , [ 134 , 106 , 74 , 58 ] , [ 154 , 122 , 86 , 64 ] , [ 192 , 152 , 108 , 84 ] , [ 230 , 180 , 130 , 98 ] , [ 271 , 213 , 151 , 119 ] , [ 321 , 251 , 177 , 137 ] , [ 367 , 287 , 203 , 155 ] , [ 425 , 331 , 241 , 177 ] , [ 458 , 362 , 258 , 194 ] , [ 520 , 412 , 292 , 220 ] , [ 586 , 450 , 322 , 250 ] , [ 644 , 504 , 364 , 280 ] , [ 718 , 560 , 394 , 310 ] , [ 792 , 624 , 442 , 338 ] , [ 858 , 666 , 482 , 382 ] , [ 929 , 711 , 509 , 403 ] , [ 1003 , 779 , 565 , 439 ] , [ 1091 , 857 , 611 , 461 ] , [ 1171 , 911 , 661 , 511 ] , [ 1273 , 997 , 715 , 535 ] , [ 1367 , 1059 , 751 , 593 ] , [ 1465 , 1125 , 805 , 625 ] , [ 1528 , 1190 , 868 , 658 ] , [ 1628 , 1264 , 908 , 698 ] , [ 1732 , 1370 , 982 , 742 ] , [ 1840 , 1452 , 1030 , 790 ] , [ 1952 , 1538 , 1112 , 842 ] , [ 2068 , 1628 , 1168 , 898 ] , [ 2188 , 1722 , 1228 , 958 ] , [ 2303 , 1809 , 1283 , 983 ] , [ 2431 , 1911 , 1351 , 1051 ] , [ 2563 , 1989 , 1423 , 1093 ] , [ 2699 , 2099 , 1499 , 1139 ] , [ 2809 , 2213 , 1579 , 1219 ] , [ 2953 , 2331 , 1663 , 1273 ] ] ;
function _isSupportCanvas ( ) {
function _isSupportCanvas ( ) {
return typeof CanvasRenderingContext2D != "undefined" ;
return typeof CanvasRenderingContext2D != "undefined" ;
}
}
// android 2.x doesn't support Data-URI spec
// android 2.x doesn't support Data-URI spec
function _getAndroid ( ) {
function _getAndroid ( ) {
var android = false ;
var android = false ;
var sAgent = navigator . userAgent ;
var sAgent = navigator . userAgent ;
if ( /android/i . test ( sAgent ) ) { // android
if ( /android/i . test ( sAgent ) ) { // android
android = true ;
android = true ;
var aMat = sAgent . toString ( ) . match ( /android ([0-9]\.[0-9])/i ) ;
var aMat = sAgent . toString ( ) . match ( /android ([0-9]\.[0-9])/i ) ;
if ( aMat && aMat [ 1 ] ) {
if ( aMat && aMat [ 1 ] ) {
android = parseFloat ( aMat [ 1 ] ) ;
android = parseFloat ( aMat [ 1 ] ) ;
}
}
}
}
return android ;
return android ;
}
}
var svgDrawer = ( function ( ) {
var svgDrawer = ( function ( ) {
var Drawing = function ( el , htOption ) {
var Drawing = function ( el , htOption ) {
@ -227,10 +227,10 @@ var QRCode;
this . _el = el ;
this . _el = el ;
this . _htOption = htOption ;
this . _htOption = htOption ;
} ;
} ;
/ * *
/ * *
* Draw the QRCode
* Draw the QRCode
*
*
* @ param { QRCode } oQRCode
* @ param { QRCode } oQRCode
* /
* /
Drawing . prototype . draw = function ( oQRCode ) {
Drawing . prototype . draw = function ( oQRCode ) {
@ -240,50 +240,50 @@ var QRCode;
var nWidth = Math . floor ( _htOption . width / nCount ) ;
var nWidth = Math . floor ( _htOption . width / nCount ) ;
var nHeight = Math . floor ( _htOption . height / nCount ) ;
var nHeight = Math . floor ( _htOption . height / nCount ) ;
var aHTML = [ '<table style="border:0;border-collapse:collapse;">' ] ;
var aHTML = [ '<table style="border:0;border-collapse:collapse;">' ] ;
for ( var row = 0 ; row < nCount ; row ++ ) {
for ( var row = 0 ; row < nCount ; row ++ ) {
aHTML . push ( '<tr>' ) ;
aHTML . push ( '<tr>' ) ;
for ( var col = 0 ; col < nCount ; col ++ ) {
for ( var col = 0 ; col < nCount ; col ++ ) {
aHTML . push ( '<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' + nWidth + 'px;height:' + nHeight + 'px;background-color:' + ( oQRCode . isDark ( row , col ) ? _htOption . colorDark : _htOption . colorLight ) + ';"></td>' ) ;
aHTML . push ( '<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:' + nWidth + 'px;height:' + nHeight + 'px;background-color:' + ( oQRCode . isDark ( row , col ) ? _htOption . colorDark : _htOption . colorLight ) + ';"></td>' ) ;
}
}
aHTML . push ( '</tr>' ) ;
aHTML . push ( '</tr>' ) ;
}
}
aHTML . push ( '</table>' ) ;
aHTML . push ( '</table>' ) ;
_el . innerHTML = aHTML . join ( '' ) ;
_el . innerHTML = aHTML . join ( '' ) ;
// Fix the margin values as real size.
// Fix the margin values as real size.
var elTable = _el . childNodes [ 0 ] ;
var elTable = _el . childNodes [ 0 ] ;
var nLeftMarginTable = ( _htOption . width - elTable . offsetWidth ) / 2 ;
var nLeftMarginTable = ( _htOption . width - elTable . offsetWidth ) / 2 ;
var nTopMarginTable = ( _htOption . height - elTable . offsetHeight ) / 2 ;
var nTopMarginTable = ( _htOption . height - elTable . offsetHeight ) / 2 ;
if ( nLeftMarginTable > 0 && nTopMarginTable > 0 ) {
if ( nLeftMarginTable > 0 && nTopMarginTable > 0 ) {
elTable . style . margin = nTopMarginTable + "px " + nLeftMarginTable + "px" ;
elTable . style . margin = nTopMarginTable + "px " + nLeftMarginTable + "px" ;
}
}
} ;
} ;
/ * *
/ * *
* Clear the QRCode
* Clear the QRCode
* /
* /
Drawing . prototype . clear = function ( ) {
Drawing . prototype . clear = function ( ) {
this . _el . innerHTML = '' ;
this . _el . innerHTML = '' ;
} ;
} ;
return Drawing ;
return Drawing ;
} ) ( ) : ( function ( ) { // Drawing in Canvas
} ) ( ) : ( function ( ) { // Drawing in Canvas
function _onMakeImage ( ) {
function _onMakeImage ( ) {
this . _elImage . src = this . _elCanvas . toDataURL ( "image/png" ) ;
this . _elImage . src = this . _elCanvas . toDataURL ( "image/png" ) ;
this . _elImage . style . display = "block" ;
this . _elImage . style . display = "block" ;
this . _elCanvas . style . display = "none" ;
this . _elCanvas . style . display = "none" ;
}
}
// Android 2.1 bug workaround
// Android 2.1 bug workaround
// http://code.google.com/p/android/issues/detail?id=5141
// http://code.google.com/p/android/issues/detail?id=5141
if ( this . _android && this . _android <= 2.1 ) {
if ( this . _android && this . _android <= 2.1 ) {
var factor = 1 / window . devicePixelRatio ;
var factor = 1 / window . devicePixelRatio ;
var drawImage = CanvasRenderingContext2D . prototype . drawImage ;
var drawImage = CanvasRenderingContext2D . prototype . drawImage ;
CanvasRenderingContext2D . prototype . drawImage = function ( image , sx , sy , sw , sh , dx , dy , dw , dh ) {
CanvasRenderingContext2D . prototype . drawImage = function ( image , sx , sy , sw , sh , dx , dy , dw , dh ) {
if ( ( "nodeName" in image ) && /img/i . test ( image . nodeName ) ) {
if ( ( "nodeName" in image ) && /img/i . test ( image . nodeName ) ) {
for ( var i = arguments . length - 1 ; i >= 1 ; i -- ) {
for ( var i = arguments . length - 1 ; i >= 1 ; i -- ) {
@ -295,14 +295,14 @@ var QRCode;
arguments [ 3 ] *= factor ;
arguments [ 3 ] *= factor ;
arguments [ 4 ] *= factor ;
arguments [ 4 ] *= factor ;
}
}
drawImage . apply ( this , arguments ) ;
drawImage . apply ( this , arguments ) ;
} ;
} ;
}
}
/ * *
/ * *
* Check whether the user ' s browser supports Data URI or not
* Check whether the user ' s browser supports Data URI or not
*
*
* @ private
* @ private
* @ param { Function } fSuccess Occurs if it supports Data URI
* @ param { Function } fSuccess Occurs if it supports Data URI
* @ param { Function } fFail Occurs if it doesn ' t support Data URI
* @ param { Function } fFail Occurs if it doesn ' t support Data URI
@ -341,18 +341,18 @@ var QRCode;
self . _fFail . call ( self ) ;
self . _fFail . call ( self ) ;
}
}
} ;
} ;
/ * *
/ * *
* Drawing QRCode by using canvas
* Drawing QRCode by using canvas
*
*
* @ constructor
* @ constructor
* @ param { HTMLElement } el
* @ param { HTMLElement } el
* @ param { Object } htOption QRCode Options
* @ param { Object } htOption QRCode Options
* /
* /
var Drawing = function ( el , htOption ) {
var Drawing = function ( el , htOption ) {
this . _bIsPainted = false ;
this . _bIsPainted = false ;
this . _android = _getAndroid ( ) ;
this . _android = _getAndroid ( ) ;
this . _htOption = htOption ;
this . _htOption = htOption ;
this . _elCanvas = document . createElement ( "canvas" ) ;
this . _elCanvas = document . createElement ( "canvas" ) ;
this . _elCanvas . width = htOption . width ;
this . _elCanvas . width = htOption . width ;
@ -367,17 +367,17 @@ var QRCode;
this . _el . appendChild ( this . _elImage ) ;
this . _el . appendChild ( this . _elImage ) ;
this . _bSupportDataURI = null ;
this . _bSupportDataURI = null ;
} ;
} ;
/ * *
/ * *
* Draw the QRCode
* Draw the QRCode
*
*
* @ param { QRCode } oQRCode
* @ param { QRCode } oQRCode
* /
* /
Drawing . prototype . draw = function ( oQRCode ) {
Drawing . prototype . draw = function ( oQRCode ) {
var _elImage = this . _elImage ;
var _elImage = this . _elImage ;
var _oContext = this . _oContext ;
var _oContext = this . _oContext ;
var _htOption = this . _htOption ;
var _htOption = this . _htOption ;
var nCount = oQRCode . getModuleCount ( ) ;
var nCount = oQRCode . getModuleCount ( ) ;
var nWidth = _htOption . width / nCount ;
var nWidth = _htOption . width / nCount ;
var nHeight = _htOption . height / nCount ;
var nHeight = _htOption . height / nCount ;
@ -386,7 +386,7 @@ var QRCode;
_elImage . style . display = "none" ;
_elImage . style . display = "none" ;
this . clear ( ) ;
this . clear ( ) ;
for ( var row = 0 ; row < nCount ; row ++ ) {
for ( var row = 0 ; row < nCount ; row ++ ) {
for ( var col = 0 ; col < nCount ; col ++ ) {
for ( var col = 0 ; col < nCount ; col ++ ) {
var bIsDark = oQRCode . isDark ( row , col ) ;
var bIsDark = oQRCode . isDark ( row , col ) ;
@ -394,9 +394,9 @@ var QRCode;
var nTop = row * nHeight ;
var nTop = row * nHeight ;
_oContext . strokeStyle = bIsDark ? _htOption . colorDark : _htOption . colorLight ;
_oContext . strokeStyle = bIsDark ? _htOption . colorDark : _htOption . colorLight ;
_oContext . lineWidth = 1 ;
_oContext . lineWidth = 1 ;
_oContext . fillStyle = bIsDark ? _htOption . colorDark : _htOption . colorLight ;
_oContext . fillStyle = bIsDark ? _htOption . colorDark : _htOption . colorLight ;
_oContext . fillRect ( nLeft , nTop , nWidth , nHeight ) ;
_oContext . fillRect ( nLeft , nTop , nWidth , nHeight ) ;
// 안티 앨리어싱 방지 처리
// 안티 앨리어싱 방지 처리
_oContext . strokeRect (
_oContext . strokeRect (
Math . floor ( nLeft ) + 0.5 ,
Math . floor ( nLeft ) + 0.5 ,
@ -404,7 +404,7 @@ var QRCode;
nRoundedWidth ,
nRoundedWidth ,
nRoundedHeight
nRoundedHeight
) ;
) ;
_oContext . strokeRect (
_oContext . strokeRect (
Math . ceil ( nLeft ) - 0.5 ,
Math . ceil ( nLeft ) - 0.5 ,
Math . ceil ( nTop ) - 0.5 ,
Math . ceil ( nTop ) - 0.5 ,
@ -413,10 +413,10 @@ var QRCode;
) ;
) ;
}
}
}
}
this . _bIsPainted = true ;
this . _bIsPainted = true ;
} ;
} ;
/ * *
/ * *
* Make the image from Canvas if the browser supports Data URI .
* Make the image from Canvas if the browser supports Data URI .
* /
* /
@ -425,16 +425,16 @@ var QRCode;
_safeSetDataURI . call ( this , _onMakeImage ) ;
_safeSetDataURI . call ( this , _onMakeImage ) ;
}
}
} ;
} ;
/ * *
/ * *
* Return whether the QRCode is painted or not
* Return whether the QRCode is painted or not
*
*
* @ return { Boolean }
* @ return { Boolean }
* /
* /
Drawing . prototype . isPainted = function ( ) {
Drawing . prototype . isPainted = function ( ) {
return this . _bIsPainted ;
return this . _bIsPainted ;
} ;
} ;
/ * *
/ * *
* Clear the QRCode
* Clear the QRCode
* /
* /
@ -442,7 +442,7 @@ var QRCode;
this . _oContext . clearRect ( 0 , 0 , this . _elCanvas . width , this . _elCanvas . height ) ;
this . _oContext . clearRect ( 0 , 0 , this . _elCanvas . width , this . _elCanvas . height ) ;
this . _bIsPainted = false ;
this . _bIsPainted = false ;
} ;
} ;
/ * *
/ * *
* @ private
* @ private
* @ param { Number } nNumber
* @ param { Number } nNumber
@ -451,28 +451,28 @@ var QRCode;
if ( ! nNumber ) {
if ( ! nNumber ) {
return nNumber ;
return nNumber ;
}
}
return Math . floor ( nNumber * 1000 ) / 1000 ;
return Math . floor ( nNumber * 1000 ) / 1000 ;
} ;
} ;
return Drawing ;
return Drawing ;
} ) ( ) ;
} ) ( ) ;
/ * *
/ * *
* Get the type by string length
* Get the type by string length
*
*
* @ private
* @ private
* @ param { String } sText
* @ param { String } sText
* @ param { Number } nCorrectLevel
* @ param { Number } nCorrectLevel
* @ return { Number } type
* @ return { Number } type
* /
* /
function _getTypeNumber ( sText , nCorrectLevel ) {
function _getTypeNumber ( sText , nCorrectLevel ) {
var nType = 1 ;
var nType = 1 ;
var length = _getUTF8Length ( sText ) ;
var length = _getUTF8Length ( sText ) ;
for ( var i = 0 , len = QRCodeLimitLength . length ; i <= len ; i ++ ) {
for ( var i = 0 , len = QRCodeLimitLength . length ; i <= len ; i ++ ) {
var nLimit = 0 ;
var nLimit = 0 ;
switch ( nCorrectLevel ) {
switch ( nCorrectLevel ) {
case QRErrorCorrectLevel . L :
case QRErrorCorrectLevel . L :
nLimit = QRCodeLimitLength [ i ] [ 0 ] ;
nLimit = QRCodeLimitLength [ i ] [ 0 ] ;
@ -487,18 +487,18 @@ var QRCode;
nLimit = QRCodeLimitLength [ i ] [ 3 ] ;
nLimit = QRCodeLimitLength [ i ] [ 3 ] ;
break ;
break ;
}
}
if ( length <= nLimit ) {
if ( length <= nLimit ) {
break ;
break ;
} else {
} else {
nType ++ ;
nType ++ ;
}
}
}
}
if ( nType > QRCodeLimitLength . length ) {
if ( nType > QRCodeLimitLength . length ) {
throw new Error ( "Too long data" ) ;
throw new Error ( "Too long data" ) ;
}
}
return nType ;
return nType ;
}
}
@ -506,11 +506,11 @@ var QRCode;
var replacedText = encodeURI ( sText ) . toString ( ) . replace ( /\%[0-9a-fA-F]{2}/g , 'a' ) ;
var replacedText = encodeURI ( sText ) . toString ( ) . replace ( /\%[0-9a-fA-F]{2}/g , 'a' ) ;
return replacedText . length + ( replacedText . length != sText ? 3 : 0 ) ;
return replacedText . length + ( replacedText . length != sText ? 3 : 0 ) ;
}
}
/ * *
/ * *
* @ class QRCode
* @ class QRCode
* @ constructor
* @ constructor
* @ example
* @ example
* new QRCode ( document . getElementById ( "test" ) , "http://jindo.dev.naver.com/collie" ) ;
* new QRCode ( document . getElementById ( "test" ) , "http://jindo.dev.naver.com/collie" ) ;
*
*
* @ example
* @ example
@ -519,7 +519,7 @@ var QRCode;
* width : 128 ,
* width : 128 ,
* height : 128
* height : 128
* } ) ;
* } ) ;
*
*
* oQRCode . clear ( ) ; // Clear the QRCode.
* oQRCode . clear ( ) ; // Clear the QRCode.
* oQRCode . makeCode ( "http://map.naver.com" ) ; // Re-create the QRCode.
* oQRCode . makeCode ( "http://map.naver.com" ) ; // Re-create the QRCode.
*
*
@ -530,31 +530,31 @@ var QRCode;
* @ param { Number } [ vOption . height = 256 ]
* @ param { Number } [ vOption . height = 256 ]
* @ param { String } [ vOption . colorDark = "#000000" ]
* @ param { String } [ vOption . colorDark = "#000000" ]
* @ param { String } [ vOption . colorLight = "#ffffff" ]
* @ param { String } [ vOption . colorLight = "#ffffff" ]
* @ param { QRCode . CorrectLevel } [ vOption . correctLevel = QRCode . CorrectLevel . H ] [ L | M | Q | H ]
* @ param { QRCode . CorrectLevel } [ vOption . correctLevel = QRCode . CorrectLevel . H ] [ L | M | Q | H ]
* /
* /
QRCode = function ( el , vOption ) {
QRCode = function ( el , vOption ) {
this . _htOption = {
this . _htOption = {
width : 256 ,
width : 256 ,
height : 256 ,
height : 256 ,
typeNumber : 4 ,
typeNumber : 4 ,
colorDark : "#000000" ,
colorDark : "#000000" ,
colorLight : "#ffffff" ,
colorLight : "#ffffff" ,
correctLevel : QRErrorCorrectLevel . H
correctLevel : QRErrorCorrectLevel . H
} ;
} ;
if ( typeof vOption === 'string' ) {
if ( typeof vOption === 'string' ) {
vOption = {
vOption = {
text : vOption
text : vOption
} ;
} ;
}
}
// Overwrites options
// Overwrites options
if ( vOption ) {
if ( vOption ) {
for ( var i in vOption ) {
for ( var i in vOption ) {
this . _htOption [ i ] = vOption [ i ] ;
this . _htOption [ i ] = vOption [ i ] ;
}
}
}
}
if ( typeof el == "string" ) {
if ( typeof el == "string" ) {
el = document . getElementById ( el ) ;
el = document . getElementById ( el ) ;
}
}
@ -562,20 +562,20 @@ var QRCode;
if ( this . _htOption . useSVG ) {
if ( this . _htOption . useSVG ) {
Drawing = svgDrawer ;
Drawing = svgDrawer ;
}
}
this . _android = _getAndroid ( ) ;
this . _android = _getAndroid ( ) ;
this . _el = el ;
this . _el = el ;
this . _oQRCode = null ;
this . _oQRCode = null ;
this . _oDrawing = new Drawing ( this . _el , this . _htOption ) ;
this . _oDrawing = new Drawing ( this . _el , this . _htOption ) ;
if ( this . _htOption . text ) {
if ( this . _htOption . text ) {
this . makeCode ( this . _htOption . text ) ;
this . makeCode ( this . _htOption . text ) ;
}
}
} ;
} ;
/ * *
/ * *
* Make the QRCode
* Make the QRCode
*
*
* @ param { String } sText link data
* @ param { String } sText link data
* /
* /
QRCode . prototype . makeCode = function ( sText ) {
QRCode . prototype . makeCode = function ( sText ) {
@ -583,15 +583,15 @@ var QRCode;
this . _oQRCode . addData ( sText ) ;
this . _oQRCode . addData ( sText ) ;
this . _oQRCode . make ( ) ;
this . _oQRCode . make ( ) ;
this . _el . title = sText ;
this . _el . title = sText ;
this . _oDrawing . draw ( this . _oQRCode ) ;
this . _oDrawing . draw ( this . _oQRCode ) ;
this . makeImage ( ) ;
this . makeImage ( ) ;
} ;
} ;
/ * *
/ * *
* Make the Image from Canvas element
* Make the Image from Canvas element
* - It occurs automatically
* - It occurs automatically
* - Android below 3 doesn ' t support Data - URI spec .
* - Android below 3 doesn ' t support Data - URI spec .
*
*
* @ private
* @ private
* /
* /
QRCode . prototype . makeImage = function ( ) {
QRCode . prototype . makeImage = function ( ) {
@ -599,14 +599,14 @@ var QRCode;
this . _oDrawing . makeImage ( ) ;
this . _oDrawing . makeImage ( ) ;
}
}
} ;
} ;
/ * *
/ * *
* Clear the QRCode
* Clear the QRCode
* /
* /
QRCode . prototype . clear = function ( ) {
QRCode . prototype . clear = function ( ) {
this . _oDrawing . clear ( ) ;
this . _oDrawing . clear ( ) ;
} ;
} ;
/ * *
/ * *
* @ name QRCode . CorrectLevel
* @ name QRCode . CorrectLevel
* /
* /