diff options
author | Bryan Berry <bryan@olenepal.org> | 2009-12-15 03:13:05 (GMT) |
---|---|---|
committer | Bryan Berry <bryan@olenepal.org> | 2009-12-15 03:13:05 (GMT) |
commit | 94be0c7e16a9bf2282529d890dde7eaa4ed07383 (patch) | |
tree | e2533d20034f6c76ee20bc9a765f57922da6cbf4 | |
parent | 3bd84857b2b93e37ee64d717b95470707263b052 (diff) |
updated jsdoc
-rw-r--r-- | docs/files.html | 6 | ||||
-rw-r--r-- | docs/index.html | 17 | ||||
-rw-r--r-- | docs/symbols/Karma.html | 12 | ||||
-rw-r--r-- | docs/symbols/Karma.kAudio.html | 437 | ||||
-rw-r--r-- | docs/symbols/Karma.kCanvas.html | 47 | ||||
-rw-r--r-- | docs/symbols/Karma.kImage.html | 433 | ||||
-rw-r--r-- | docs/symbols/Karma.kSvg.html | 6 | ||||
-rw-r--r-- | docs/symbols/Karma.karma.html | 8 | ||||
-rw-r--r-- | docs/symbols/_global_.html | 6 | ||||
-rw-r--r-- | docs/symbols/src/mainline_js_karma.js.html | 1091 |
10 files changed, 1483 insertions, 580 deletions
diff --git a/docs/files.html b/docs/files.html index 393a4cf..3e16041 100644 --- a/docs/files.html +++ b/docs/files.html @@ -190,9 +190,11 @@ ul.inheritsList <li><a href="symbols/Karma.karma.html">Karma.karma</a></li> + <li><a href="symbols/Karma.kAudio.html">Karma.kAudio</a></li> + <li><a href="symbols/Karma.kCanvas.html">Karma.kCanvas</a></li> - <li><a href="symbols/Karma.kMedia.html">Karma.kMedia</a></li> + <li><a href="symbols/Karma.kImage.html">Karma.kImage</a></li> <li><a href="symbols/Karma.kSvg.html">Karma.kSvg</a></li> @@ -224,7 +226,7 @@ Contains karma library </div> <div class="fineprint" style="clear:both"> - Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.3.2 on Mon Dec 14 2009 13:17:19 GMT+0545 (NPT) + Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.3.2 on Tue Dec 15 2009 08:57:41 GMT+0545 (NPT) </div> </body> </html>
\ No newline at end of file diff --git a/docs/index.html b/docs/index.html index d5b1183..64bc627 100644 --- a/docs/index.html +++ b/docs/index.html @@ -190,9 +190,11 @@ ul.inheritsList <li><a href="symbols/Karma.karma.html">Karma.karma</a></li> + <li><a href="symbols/Karma.kAudio.html">Karma.kAudio</a></li> + <li><a href="symbols/Karma.kCanvas.html">Karma.kCanvas</a></li> - <li><a href="symbols/Karma.kMedia.html">Karma.kMedia</a></li> + <li><a href="symbols/Karma.kImage.html">Karma.kImage</a></li> <li><a href="symbols/Karma.kSvg.html">Karma.kSvg</a></li> @@ -223,6 +225,12 @@ ul.inheritsList <hr /> <div> + <h2><a href="symbols/Karma.kAudio.html">Karma.kAudio</a></h2> + This object is the prototype for audio files + </div> + <hr /> + + <div> <h2><a href="symbols/Karma.kCanvas.html">Karma.kCanvas</a></h2> This object is the prototype for each canvas element submitted to Karma in the Karma() method @@ -230,9 +238,8 @@ Karma() method <hr /> <div> - <h2><a href="symbols/Karma.kMedia.html">Karma.kMedia</a></h2> - This object is the prototype for images, videos, and audio files but - does not include svg or canvas elements + <h2><a href="symbols/Karma.kImage.html">Karma.kImage</a></h2> + This object is the prototype for images </div> <hr /> @@ -247,7 +254,7 @@ Karma() method </div> <div class="fineprint" style="clear:both"> - Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.3.2 on Mon Dec 14 2009 13:17:19 GMT+0545 (NPT) + Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blankt">JsDoc Toolkit</a> 2.3.2 on Tue Dec 15 2009 08:57:41 GMT+0545 (NPT) </div> </body> </html> diff --git a/docs/symbols/Karma.html b/docs/symbols/Karma.html index 558f763..fd054e6 100644 --- a/docs/symbols/Karma.html +++ b/docs/symbols/Karma.html @@ -195,9 +195,11 @@ ul.inheritsList <li><a href="../symbols/Karma.karma.html">Karma.karma</a></li> + <li><a href="../symbols/Karma.kAudio.html">Karma.kAudio</a></li> + <li><a href="../symbols/Karma.kCanvas.html">Karma.kCanvas</a></li> - <li><a href="../symbols/Karma.kMedia.html">Karma.kMedia</a></li> + <li><a href="../symbols/Karma.kImage.html">Karma.kImage</a></li> <li><a href="../symbols/Karma.kSvg.html">Karma.kSvg</a></li> @@ -348,7 +350,7 @@ var k = Karma({ {name: "woosh", file: "woosh.ogg"}, {name: "yeehaw", file: "yeehaw.ogg"} ], - video: [ + video: [ //Not Yet Implemented {name: "attack", file: "attack.ogv"}, {name: "ride", file: "ride.ogv"} ] @@ -406,7 +408,7 @@ k.canvas.ninja.drawImage(k.image.ninja, 0, 0);</pre> <span class="light fixedFont">{Array}</span> <b>options.video</b> <i>Optional, Default: []</i> </dt> - <dd>array of videos to be converted into a collection</dd> + <dd>NYI array of videos to be converted into a collection</dd> <dt> <span class="light fixedFont">{Array}</span> <b>options.svg</b> @@ -583,7 +585,7 @@ this library <pre class="code"> var ninja = { weapon : "sword" }; var ninja1 = Karma.create(ninja); -ninja1.sword === "sword"</pre> +ninja1.weapon === "sword"</pre> @@ -677,7 +679,7 @@ the source object <!-- ============================== footer ================================= --> <div class="fineprint" style="clear:both"> - Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Mon Dec 14 2009 13:17:19 GMT+0545 (NPT) + Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Dec 15 2009 08:57:40 GMT+0545 (NPT) </div> </body> </html> diff --git a/docs/symbols/Karma.kAudio.html b/docs/symbols/Karma.kAudio.html new file mode 100644 index 0000000..e65f78a --- /dev/null +++ b/docs/symbols/Karma.kAudio.html @@ -0,0 +1,437 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <meta name="generator" content="JsDoc Toolkit" /> + + <title>JsDoc Reference - Karma.kAudio</title> + + <style type="text/css"> + /* default.css */ +body +{ + font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif; + width: 800px; +} + +.header +{ + clear: both; + background-color: #ccc; + padding: 8px; +} + +h1 +{ + font-size: 150%; + font-weight: bold; + padding: 0; + margin: 1em 0 0 .3em; +} + +hr +{ + border: none 0; + border-top: 1px solid #7F8FB1; + height: 1px; +} + +pre.code +{ + display: block; + padding: 8px; + border: 1px dashed #ccc; +} + +#index +{ + margin-top: 24px; + float: left; + width: 160px; + position: absolute; + left: 8px; + background-color: #F3F3F3; + padding: 8px; +} + +#content +{ + margin-left: 190px; + width: 600px; +} + +.classList +{ + list-style-type: none; + padding: 0; + margin: 0 0 0 8px; + font-family: arial, sans-serif; + font-size: 1em; + overflow: auto; +} + +.classList li +{ + padding: 0; + margin: 0 0 8px 0; +} + +.summaryTable { width: 100%; } + +h1.classTitle +{ + font-size:170%; + line-height:130%; +} + +h2 { font-size: 110%; } +caption, div.sectionTitle +{ + background-color: #7F8FB1; + color: #fff; + font-size:130%; + text-align: left; + padding: 2px 6px 2px 6px; + border: 1px #7F8FB1 solid; +} + +div.sectionTitle { margin-bottom: 8px; } +.summaryTable thead { display: none; } + +.summaryTable td +{ + vertical-align: top; + padding: 4px; + border-bottom: 1px #7F8FB1 solid; + border-right: 1px #7F8FB1 solid; +} + +/*col#summaryAttributes {}*/ +.summaryTable td.attributes +{ + border-left: 1px #7F8FB1 solid; + width: 140px; + text-align: right; +} + +td.attributes, .fixedFont +{ + line-height: 15px; + color: #002EBE; + font-family: "Courier New",Courier,monospace; + font-size: 13px; +} + +.summaryTable td.nameDescription +{ + text-align: left; + font-size: 13px; + line-height: 15px; +} + +.summaryTable td.nameDescription, .description +{ + line-height: 15px; + padding: 4px; + padding-left: 4px; +} + +.summaryTable { margin-bottom: 8px; } + +ul.inheritsList +{ + list-style: square; + margin-left: 20px; + padding-left: 0; +} + +.detailList { + margin-left: 20px; + line-height: 15px; +} +.detailList dt { margin-left: 20px; } + +.detailList .heading +{ + font-weight: bold; + padding-bottom: 6px; + margin-left: 0; +} + +.light, td.attributes, .light a:link, .light a:visited +{ + color: #777; + font-style: italic; +} + +.fineprint +{ + text-align: right; + font-size: 10px; +} + </style> + </head> + + <body> +<!-- ============================== header ================================= --> + <!-- begin static/header.html --> + <div id="header"> +</div> + <!-- end static/header.html --> + +<!-- ============================== classes index ============================ --> + <div id="index"> + <!-- begin publish.classesIndex --> + <div align="center"><a href="../index.html">Karma Index</a> +| <a href="../files.html">File Index</a></div> +<hr /> +<h2>Objects and Functions</h2> +<ul class="classList"> + + <li><i><a href="../symbols/_global_.html">_global_</a></i></li> + + <li><a href="../symbols/Karma.html">Karma</a></li> + + <li><a href="../symbols/Karma.karma.html">Karma.karma</a></li> + + <li><a href="../symbols/Karma.kAudio.html">Karma.kAudio</a></li> + + <li><a href="../symbols/Karma.kCanvas.html">Karma.kCanvas</a></li> + + <li><a href="../symbols/Karma.kImage.html">Karma.kImage</a></li> + + <li><a href="../symbols/Karma.kSvg.html">Karma.kSvg</a></li> + +</ul> +<hr /> + <!-- end publish.classesIndex --> + </div> + + <div id="content"> +<!-- ============================== class title ============================ --> + <h1 class="classTitle"> + + Class Karma.kAudio + </h1> + +<!-- ============================== class summary ========================== --> + <p class="description"> + + + + This object is the prototype for audio files + + + <br /><i>Defined in: </i> <a href="../symbols/src/mainline_js_karma.js.html">karma.js</a>. + + </p> + +<!-- ============================== constructor summary ==================== --> + + <table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class Karma.kAudio."> + <caption>Class Summary</caption> + <thead> + <tr> + <th scope="col">Constructor Attributes</th> + <th scope="col">Constructor Name and Description</th> + </tr> + </thead> + <tbody> + <tr> + <td class="attributes"> </td> + <td class="nameDescription" > + <div class="fixedFont"> + <b><a href="../symbols/Karma.kAudio.html#constructor">Karma.kAudio</a></b>() + </div> + <div class="description">Prototypal object for audio files</div> + </td> + </tr> + </tbody> + </table> + + +<!-- ============================== properties summary ===================== --> + + + + <table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class Karma.kAudio."> + <caption>Field Summary</caption> + <thead> + <tr> + <th scope="col">Field Attributes</th> + <th scope="col">Field Name and Description</th> + </tr> + </thead> + <tbody> + + <tr> + <td class="attributes"><static> </td> + <td class="nameDescription"> + <div class="fixedFont"> + Karma.kAudio.<b><a href="../symbols/Karma.kAudio.html#.file">file</a></b> + </div> + <div class="description">file location of asset</div> + </td> + </tr> + + <tr> + <td class="attributes"><static> </td> + <td class="nameDescription"> + <div class="fixedFont"> + Karma.kAudio.<b><a href="../symbols/Karma.kAudio.html#.media">media</a></b> + </div> + <div class="description">media object</div> + </td> + </tr> + + </tbody> + </table> + + + + + +<!-- ============================== methods summary ======================== --> + +<!-- ============================== events summary ======================== --> + + +<!-- ============================== constructor details ==================== --> + + <div class="details"><a name="constructor"> </a> + <div class="sectionTitle"> + Class Detail + </div> + + <div class="fixedFont"> + <b>Karma.kAudio</b>() + </div> + + <div class="description"> + Prototypal object for audio files + + </div> + + + + <pre class="code"> kAudio is the prototype object for audio + The audio assets are loaded in a distinctly different way + from the canvas or svg assets. They also have distinctly different + helper methods + + You initialize the kAudio assets by passing an array of objects</pre> + + + + + + + + + <dl class="detailList"> + <dt class="heading">Throws:</dt> + + <dt> + <span class="light fixedFont">{Error}</span> <b></b> + </dt> + <dd>if the individual audio asset is set to be localized but + the globale locale is not set on the Karma.karma object</dd> + + <dt> + <span class="light fixedFont">{Error}</span> <b></b> + </dt> + <dd>if the name and file properties are not supplied</dd> + + </dl> + + + + + + </div> + + +<!-- ============================== field details ========================== --> + + <div class="sectionTitle"> + Field Detail + </div> + + <a name=".file"> </a> + <div class="fixedFont"><static> + + <span class="light">{String}</span> + <span class="light">Karma.kAudio.</span><b>file</b> + + </div> + <div class="description"> + file location of asset + + + </div> + + + + + + + + <dl class="detailList"> + <dt class="heading">Default Value:</dt> + <dd> + "" + </dd> + </dl> + + + <hr /> + + <a name=".media"> </a> + <div class="fixedFont"><static> + + <span class="light">{Image}</span> + <span class="light">Karma.kAudio.</span><b>media</b> + + </div> + <div class="description"> + media object + + + </div> + + + + + + + + <dl class="detailList"> + <dt class="heading">Default Value:</dt> + <dd> + undefined + </dd> + </dl> + + + + + + +<!-- ============================== method details ========================= --> + + +<!-- ============================== event details ========================= --> + + + <hr /> + </div> + + +<!-- ============================== footer ================================= --> + <div class="fineprint" style="clear:both"> + + Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Dec 15 2009 08:57:40 GMT+0545 (NPT) + </div> + </body> +</html> diff --git a/docs/symbols/Karma.kCanvas.html b/docs/symbols/Karma.kCanvas.html index 5ff7ad9..1b8499f 100644 --- a/docs/symbols/Karma.kCanvas.html +++ b/docs/symbols/Karma.kCanvas.html @@ -195,9 +195,11 @@ ul.inheritsList <li><a href="../symbols/Karma.karma.html">Karma.karma</a></li> + <li><a href="../symbols/Karma.kAudio.html">Karma.kAudio</a></li> + <li><a href="../symbols/Karma.kCanvas.html">Karma.kCanvas</a></li> - <li><a href="../symbols/Karma.kMedia.html">Karma.kMedia</a></li> + <li><a href="../symbols/Karma.kImage.html">Karma.kImage</a></li> <li><a href="../symbols/Karma.kSvg.html">Karma.kSvg</a></li> @@ -289,17 +291,6 @@ Karma() method</div> <td class="attributes"><static> </td> <td class="nameDescription"> <div class="fixedFont"> - Karma.kCanvas.<b><a href="../symbols/Karma.kCanvas.html#.fps">fps</a></b> - </div> - <div class="description">Frames Per Second, I don't know what the purpose of this is, - Felipe made it up</div> - </td> - </tr> - - <tr> - <td class="attributes"><static> </td> - <td class="nameDescription"> - <div class="fixedFont"> Karma.kCanvas.<b><a href="../symbols/Karma.kCanvas.html#.height">height</a></b> </div> <div class="description">Height of canvas element</div> @@ -491,36 +482,6 @@ Karma() method <hr /> - <a name=".fps"> </a> - <div class="fixedFont"><static> - - <span class="light">{Number}</span> - <span class="light">Karma.kCanvas.</span><b>fps</b> - - </div> - <div class="description"> - Frames Per Second, I don't know what the purpose of this is, - Felipe made it up - - - </div> - - - - - - - - <dl class="detailList"> - <dt class="heading">Default Value:</dt> - <dd> - 24 - </dd> - </dl> - - - <hr /> - <a name=".height"> </a> <div class="fixedFont"><static> @@ -759,7 +720,7 @@ entire height of canvas</dd> <!-- ============================== footer ================================= --> <div class="fineprint" style="clear:both"> - Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Mon Dec 14 2009 13:17:19 GMT+0545 (NPT) + Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Dec 15 2009 08:57:41 GMT+0545 (NPT) </div> </body> </html> diff --git a/docs/symbols/Karma.kImage.html b/docs/symbols/Karma.kImage.html new file mode 100644 index 0000000..a66c8fc --- /dev/null +++ b/docs/symbols/Karma.kImage.html @@ -0,0 +1,433 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> + <head> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <meta name="generator" content="JsDoc Toolkit" /> + + <title>JsDoc Reference - Karma.kImage</title> + + <style type="text/css"> + /* default.css */ +body +{ + font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif; + width: 800px; +} + +.header +{ + clear: both; + background-color: #ccc; + padding: 8px; +} + +h1 +{ + font-size: 150%; + font-weight: bold; + padding: 0; + margin: 1em 0 0 .3em; +} + +hr +{ + border: none 0; + border-top: 1px solid #7F8FB1; + height: 1px; +} + +pre.code +{ + display: block; + padding: 8px; + border: 1px dashed #ccc; +} + +#index +{ + margin-top: 24px; + float: left; + width: 160px; + position: absolute; + left: 8px; + background-color: #F3F3F3; + padding: 8px; +} + +#content +{ + margin-left: 190px; + width: 600px; +} + +.classList +{ + list-style-type: none; + padding: 0; + margin: 0 0 0 8px; + font-family: arial, sans-serif; + font-size: 1em; + overflow: auto; +} + +.classList li +{ + padding: 0; + margin: 0 0 8px 0; +} + +.summaryTable { width: 100%; } + +h1.classTitle +{ + font-size:170%; + line-height:130%; +} + +h2 { font-size: 110%; } +caption, div.sectionTitle +{ + background-color: #7F8FB1; + color: #fff; + font-size:130%; + text-align: left; + padding: 2px 6px 2px 6px; + border: 1px #7F8FB1 solid; +} + +div.sectionTitle { margin-bottom: 8px; } +.summaryTable thead { display: none; } + +.summaryTable td +{ + vertical-align: top; + padding: 4px; + border-bottom: 1px #7F8FB1 solid; + border-right: 1px #7F8FB1 solid; +} + +/*col#summaryAttributes {}*/ +.summaryTable td.attributes +{ + border-left: 1px #7F8FB1 solid; + width: 140px; + text-align: right; +} + +td.attributes, .fixedFont +{ + line-height: 15px; + color: #002EBE; + font-family: "Courier New",Courier,monospace; + font-size: 13px; +} + +.summaryTable td.nameDescription +{ + text-align: left; + font-size: 13px; + line-height: 15px; +} + +.summaryTable td.nameDescription, .description +{ + line-height: 15px; + padding: 4px; + padding-left: 4px; +} + +.summaryTable { margin-bottom: 8px; } + +ul.inheritsList +{ + list-style: square; + margin-left: 20px; + padding-left: 0; +} + +.detailList { + margin-left: 20px; + line-height: 15px; +} +.detailList dt { margin-left: 20px; } + +.detailList .heading +{ + font-weight: bold; + padding-bottom: 6px; + margin-left: 0; +} + +.light, td.attributes, .light a:link, .light a:visited +{ + color: #777; + font-style: italic; +} + +.fineprint +{ + text-align: right; + font-size: 10px; +} + </style> + </head> + + <body> +<!-- ============================== header ================================= --> + <!-- begin static/header.html --> + <div id="header"> +</div> + <!-- end static/header.html --> + +<!-- ============================== classes index ============================ --> + <div id="index"> + <!-- begin publish.classesIndex --> + <div align="center"><a href="../index.html">Karma Index</a> +| <a href="../files.html">File Index</a></div> +<hr /> +<h2>Objects and Functions</h2> +<ul class="classList"> + + <li><i><a href="../symbols/_global_.html">_global_</a></i></li> + + <li><a href="../symbols/Karma.html">Karma</a></li> + + <li><a href="../symbols/Karma.karma.html">Karma.karma</a></li> + + <li><a href="../symbols/Karma.kAudio.html">Karma.kAudio</a></li> + + <li><a href="../symbols/Karma.kCanvas.html">Karma.kCanvas</a></li> + + <li><a href="../symbols/Karma.kImage.html">Karma.kImage</a></li> + + <li><a href="../symbols/Karma.kSvg.html">Karma.kSvg</a></li> + +</ul> +<hr /> + <!-- end publish.classesIndex --> + </div> + + <div id="content"> +<!-- ============================== class title ============================ --> + <h1 class="classTitle"> + + Class Karma.kImage + </h1> + +<!-- ============================== class summary ========================== --> + <p class="description"> + + + + This object is the prototype for images + + + <br /><i>Defined in: </i> <a href="../symbols/src/mainline_js_karma.js.html">karma.js</a>. + + </p> + +<!-- ============================== constructor summary ==================== --> + + <table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class Karma.kImage."> + <caption>Class Summary</caption> + <thead> + <tr> + <th scope="col">Constructor Attributes</th> + <th scope="col">Constructor Name and Description</th> + </tr> + </thead> + <tbody> + <tr> + <td class="attributes"> </td> + <td class="nameDescription" > + <div class="fixedFont"> + <b><a href="../symbols/Karma.kImage.html#constructor">Karma.kImage</a></b>() + </div> + <div class="description">Prototypal object for images</div> + </td> + </tr> + </tbody> + </table> + + +<!-- ============================== properties summary ===================== --> + + + + <table class="summaryTable" cellspacing="0" summary="A summary of the fields documented in the class Karma.kImage."> + <caption>Field Summary</caption> + <thead> + <tr> + <th scope="col">Field Attributes</th> + <th scope="col">Field Name and Description</th> + </tr> + </thead> + <tbody> + + <tr> + <td class="attributes"><static> </td> + <td class="nameDescription"> + <div class="fixedFont"> + Karma.kImage.<b><a href="../symbols/Karma.kImage.html#.file">file</a></b> + </div> + <div class="description">file location of image</div> + </td> + </tr> + + <tr> + <td class="attributes"><static> </td> + <td class="nameDescription"> + <div class="fixedFont"> + Karma.kImage.<b><a href="../symbols/Karma.kImage.html#.media">media</a></b> + </div> + <div class="description">media object</div> + </td> + </tr> + + </tbody> + </table> + + + + + +<!-- ============================== methods summary ======================== --> + +<!-- ============================== events summary ======================== --> + + +<!-- ============================== constructor details ==================== --> + + <div class="details"><a name="constructor"> </a> + <div class="sectionTitle"> + Class Detail + </div> + + <div class="fixedFont"> + <b>Karma.kImage</b>() + </div> + + <div class="description"> + Prototypal object for images + + </div> + + + + <pre class="code"> kImage is the prototype object for images. This 'media' asset is loaded + in a distinctly different way from the canvas or svg assets.</pre> + + + + + + + + + <dl class="detailList"> + <dt class="heading">Throws:</dt> + + <dt> + <span class="light fixedFont">{Error}</span> <b></b> + </dt> + <dd>if the image asset is set to be localized but + the global locale is not set on the Karma.karma object</dd> + + <dt> + <span class="light fixedFont">{Error}</span> <b></b> + </dt> + <dd>if the name and file properties are not supplied</dd> + + </dl> + + + + + + </div> + + +<!-- ============================== field details ========================== --> + + <div class="sectionTitle"> + Field Detail + </div> + + <a name=".file"> </a> + <div class="fixedFont"><static> + + <span class="light">{String}</span> + <span class="light">Karma.kImage.</span><b>file</b> + + </div> + <div class="description"> + file location of image + + + </div> + + + + + + + + <dl class="detailList"> + <dt class="heading">Default Value:</dt> + <dd> + "" + </dd> + </dl> + + + <hr /> + + <a name=".media"> </a> + <div class="fixedFont"><static> + + <span class="light">{Image}</span> + <span class="light">Karma.kImage.</span><b>media</b> + + </div> + <div class="description"> + media object + + + </div> + + + + + + + + <dl class="detailList"> + <dt class="heading">Default Value:</dt> + <dd> + undefined + </dd> + </dl> + + + + + + +<!-- ============================== method details ========================= --> + + +<!-- ============================== event details ========================= --> + + + <hr /> + </div> + + +<!-- ============================== footer ================================= --> + <div class="fineprint" style="clear:both"> + + Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Dec 15 2009 08:57:41 GMT+0545 (NPT) + </div> + </body> +</html> diff --git a/docs/symbols/Karma.kSvg.html b/docs/symbols/Karma.kSvg.html index b2bf5ff..e10cd6f 100644 --- a/docs/symbols/Karma.kSvg.html +++ b/docs/symbols/Karma.kSvg.html @@ -195,9 +195,11 @@ ul.inheritsList <li><a href="../symbols/Karma.karma.html">Karma.karma</a></li> + <li><a href="../symbols/Karma.kAudio.html">Karma.kAudio</a></li> + <li><a href="../symbols/Karma.kCanvas.html">Karma.kCanvas</a></li> - <li><a href="../symbols/Karma.kMedia.html">Karma.kMedia</a></li> + <li><a href="../symbols/Karma.kImage.html">Karma.kImage</a></li> <li><a href="../symbols/Karma.kSvg.html">Karma.kSvg</a></li> @@ -690,7 +692,7 @@ Karma() method <!-- ============================== footer ================================= --> <div class="fineprint" style="clear:both"> - Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Mon Dec 14 2009 13:17:19 GMT+0545 (NPT) + Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Dec 15 2009 08:57:41 GMT+0545 (NPT) </div> </body> </html> diff --git a/docs/symbols/Karma.karma.html b/docs/symbols/Karma.karma.html index d0161f2..981f8b0 100644 --- a/docs/symbols/Karma.karma.html +++ b/docs/symbols/Karma.karma.html @@ -195,9 +195,11 @@ ul.inheritsList <li><a href="../symbols/Karma.karma.html">Karma.karma</a></li> + <li><a href="../symbols/Karma.kAudio.html">Karma.kAudio</a></li> + <li><a href="../symbols/Karma.kCanvas.html">Karma.kCanvas</a></li> - <li><a href="../symbols/Karma.kMedia.html">Karma.kMedia</a></li> + <li><a href="../symbols/Karma.kImage.html">Karma.kImage</a></li> <li><a href="../symbols/Karma.kSvg.html">Karma.kSvg</a></li> @@ -850,7 +852,7 @@ var d = distance2(p0, p1);</pre> <pre class="code"> var num = rand(0, 10); -num could be 0, 1, 2, 3 ... or 10</pre> +//num could be 0, 1, 2, 3 ... or 10</pre> @@ -962,7 +964,7 @@ Karma({ options }) function</dd> <!-- ============================== footer ================================= --> <div class="fineprint" style="clear:both"> - Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Mon Dec 14 2009 13:17:19 GMT+0545 (NPT) + Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Dec 15 2009 08:57:40 GMT+0545 (NPT) </div> </body> </html> diff --git a/docs/symbols/_global_.html b/docs/symbols/_global_.html index e2f69fe..a37ee75 100644 --- a/docs/symbols/_global_.html +++ b/docs/symbols/_global_.html @@ -195,9 +195,11 @@ ul.inheritsList <li><a href="../symbols/Karma.karma.html">Karma.karma</a></li> + <li><a href="../symbols/Karma.kAudio.html">Karma.kAudio</a></li> + <li><a href="../symbols/Karma.kCanvas.html">Karma.kCanvas</a></li> - <li><a href="../symbols/Karma.kMedia.html">Karma.kMedia</a></li> + <li><a href="../symbols/Karma.kImage.html">Karma.kImage</a></li> <li><a href="../symbols/Karma.kSvg.html">Karma.kSvg</a></li> @@ -253,7 +255,7 @@ ul.inheritsList <!-- ============================== footer ================================= --> <div class="fineprint" style="clear:both"> - Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Mon Dec 14 2009 13:17:18 GMT+0545 (NPT) + Documentation generated by <a href="http://code.google.com/p/jsdoc-toolkit/" target="_blank">JsDoc Toolkit</a> 2.3.2 on Tue Dec 15 2009 08:57:40 GMT+0545 (NPT) </div> </body> </html> diff --git a/docs/symbols/src/mainline_js_karma.js.html b/docs/symbols/src/mainline_js_karma.js.html index 604fa5f..d15b088 100644 --- a/docs/symbols/src/mainline_js_karma.js.html +++ b/docs/symbols/src/mainline_js_karma.js.html @@ -32,8 +32,8 @@ <span class='line'> 25</span> * conditions: <span class='line'> 26</span> * <span class='line'> 27</span> * The above copyright notice and this permission notice shall be -<span class='line'> 28</span> * included in all copies or substantial portions of the Software. -<span class='line'> 29</span> * +<span class='line'> 28</span> * included in all copies or substantial portions of the Software. +<span class='line'> 29</span> * <span class='line'> 30</span> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, <span class='line'> 31</span> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES <span class='line'> 32</span> * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND @@ -66,7 +66,7 @@ <span class='line'> 59</span> * @param {String} [options.locale=''] sets current locale Not Yet Implemented <span class='line'> 60</span> * @param {Array} [options.image=[]] array of images to be converted into a collection <span class='line'> 61</span> * @param {Array} [options.audio=[]] array of audio to be converted into a collection -<span class='line'> 62</span> * @param {Array} [options.video=[]] array of videos to be converted into a collection +<span class='line'> 62</span> * @param {Array} [options.video=[]] NYI array of videos to be converted into a collection <span class='line'> 63</span> * @param {Array} [options.svg=[]] array of SVG elements to be <span class='line'> 64</span> * converted into a collection. Each SVG element must already exist in the html document <span class='line'> 65</span> * @param {Array} [options.canvas=[]] array of canvas elements @@ -87,7 +87,7 @@ <span class='line'> 80</span> * {name: "woosh", file: "woosh.ogg"}, <span class='line'> 81</span> * {name: "yeehaw", file: "yeehaw.ogg"} <span class='line'> 82</span> * ], -<span class='line'> 83</span> * video: [ +<span class='line'> 83</span> * video: [ //Not Yet Implemented <span class='line'> 84</span> * {name: "attack", file: "attack.ogv"}, <span class='line'> 85</span> * {name: "ride", file: "ride.ogv"} <span class='line'> 86</span> * ] @@ -135,7 +135,7 @@ <span class='line'>128</span> * <span class='line'>129</span> * var ninja = { weapon : "sword" }; <span class='line'>130</span> * var ninja1 = Karma.create(ninja); -<span class='line'>131</span> * ninja1.sword === "sword" +<span class='line'>131</span> * ninja1.weapon === "sword" <span class='line'>132</span> */</span><span class="WHIT"> <span class='line'>133</span> </span><span class="NAME">Karma.create</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">parent</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> <span class='line'>134</span> </span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="NAME">F</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> @@ -336,15 +336,15 @@ <span class='line'>329</span> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> <span class='line'>330</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"image"</span><span class="PUNC">:</span><span class="WHIT"> <span class='line'>331</span> </span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'image'</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>332</span> </span><span class="WHIT"> </span><span class="NAME">Karma._makeImages</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>332</span> </span><span class="WHIT"> </span><span class="NAME">Karma._makeImageCollection</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> <span class='line'>333</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> <span class='line'>334</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"audio"</span><span class="PUNC">:</span><span class="WHIT"> <span class='line'>335</span> </span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'audio'</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>336</span> </span><span class="WHIT"> </span><span class="NAME">Karma._makeAudio</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>336</span> </span><span class="WHIT"> </span><span class="NAME">Karma._makeAudioCollection</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> <span class='line'>337</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> <span class='line'>338</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"video"</span><span class="PUNC">:</span><span class="WHIT"> <span class='line'>339</span> </span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'video'</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>340</span> </span><span class="WHIT"> </span><span class="NAME">Karma._makeVideos</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>340</span> </span><span class="WHIT"> </span><span class="NAME">Karma._makeVideoCollection</span><span class="PUNC">(</span><span class="NAME">options</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> <span class='line'>341</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> <span class='line'>342</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"svg"</span><span class="PUNC">:</span><span class="WHIT"> <span class='line'>343</span> </span><span class="WHIT"> </span><span class="NAME">options</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">.</span><span class="NAME">_type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">'svg'</span><span class="PUNC">;</span><span class="WHIT"> @@ -503,7 +503,7 @@ <span class='line'>496</span> * <span class='line'>497</span> * var num = rand(0, 10); <span class='line'>498</span> * -<span class='line'>499</span> * num could be 0, 1, 2, 3 ... or 10 +<span class='line'>499</span> * //num could be 0, 1, 2, 3 ... or 10 <span class='line'>500</span> * <span class='line'>501</span> */</span><span class="WHIT"> <span class='line'>502</span> </span><span class="WHIT"> </span><span class="NAME">rand</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">lower</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">upper</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> @@ -512,515 +512,570 @@ <span class='line'>505</span> </span><span class="WHIT"> <span class='line'>506</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> <span class='line'>507</span> -<span class='line'>508</span> </span><span class="COMM">/** Prototypal object for images, videos, and audio files but -<span class='line'>509</span> * does not include svg or canvas elements -<span class='line'>510</span> * @class This object is the prototype for images, videos, and audio files but -<span class='line'>511</span> * does not include svg or canvas elements -<span class='line'>512</span> * @ throws {Error} if the individual asset is set to be localized but -<span class='line'>513</span> * the globale locale is not set on the Karma.karma object -<span class='line'>514</span> * @ throws {Error} if the name and file properties are not supplied -<span class='line'>515</span> * @example -<span class='line'>516</span> * kMedia is the prototype object for images, audio, and videos. -<span class='line'>517</span> * These 'media' assets are loaded in a distinctly different way -<span class='line'>518</span> * from the canvas or svg assets. They also have distinctly different -<span class='line'>519</span> * helper methods -<span class='line'>520</span> * -<span class='line'>521</span> * You initialize the kMedia assets by passing an array of objects -<span class='line'>522</span> */</span><span class="WHIT"> -<span class='line'>523</span> </span><span class="NAME">Karma.kMedia</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>524</span> </span><span class="WHIT"> </span><span class="COMM">/** file location of asset -<span class='line'>525</span> * @type String -<span class='line'>526</span> * @default "" -<span class='line'>527</span> */</span><span class="WHIT"> -<span class='line'>528</span> </span><span class="WHIT"> </span><span class="NAME">file</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>529</span> </span><span class="WHIT"> </span><span class="COMM">/** media object -<span class='line'>530</span> * @type Audio|Image|Video -<span class='line'>531</span> * @default undefined -<span class='line'>532</span> */</span><span class="WHIT"> -<span class='line'>533</span> </span><span class="NAME">media</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>534</span> </span><span class="WHIT"> </span><span class="COMM">//actual path to the file</span><span class="WHIT"> -<span class='line'>535</span> </span><span class="WHIT"> </span><span class="NAME">_path</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>536</span> </span><span class="WHIT"> </span><span class="COMM">//if using localized version of this asset</span><span class="WHIT"> -<span class='line'>537</span> </span><span class="WHIT"> </span><span class="NAME">_localized</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>538</span> </span><span class="WHIT"> </span><span class="COMM">//audio, image, or video</span><span class="WHIT"> -<span class='line'>539</span> </span><span class="WHIT"> </span><span class="NAME">_type</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>540</span> </span><span class="COMM">//initializes kMedia instance with values provided by user</span><span class="WHIT"> -<span class='line'>541</span> </span><span class="WHIT"> </span><span class="NAME">_init</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">asset</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>542</span> </span><span class="WHIT"> </span><span class="NAME">asset._localized</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">asset._localized</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>543</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._counters.total</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>544</span> -<span class='line'>545</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">asset.name</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">asset.file</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>546</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"properties name and file have to be defined"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>547</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>548</span> </span><span class="WHIT"> </span><span class="NAME">this.name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">asset.name</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>549</span> </span><span class="WHIT"> </span><span class="NAME">this.file</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">asset.file</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>550</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>551</span> -<span class='line'>552</span> </span><span class="WHIT"> </span><span class="COMM">//_type is a private variable used internally</span><span class="WHIT"> -<span class='line'>553</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">asset._type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>554</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"the _type property must be set. "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>555</span> </span><span class="WHIT"> </span><span class="STRN">"Blame the karma library authors as this is an internal value"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>556</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>557</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">Karma._isValidType</span><span class="PUNC">(</span><span class="NAME">asset._type</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>558</span> </span><span class="WHIT"> </span><span class="NAME">this._type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">asset._type</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>559</span> </span><span class="WHIT"> </span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">this._type</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>560</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"image"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this.media</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Image</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>561</span> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>562</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"audio"</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this.media</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Audio</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>563</span> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>564</span> </span><span class="WHIT"> </span><span class="COMM">//case "video":</span><span class="WHIT"> -<span class='line'>565</span> </span><span class="WHIT"> </span><span class="COMM">//NYI</span><span class="WHIT"> -<span class='line'>566</span> </span><span class="WHIT"> </span><span class="COMM">//this.media = new Video(); </span><span class="WHIT"> -<span class='line'>567</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>568</span> </span><span class="WHIT"> </span><span class="KEYW">default</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"Media type not supported"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>569</span> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>570</span> -<span class='line'>571</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>572</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"the _type property supplied is invalid. "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>573</span> </span><span class="WHIT"> </span><span class="STRN">"Blame the karma library authors as this is an internal value"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>574</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>575</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>576</span> </span><span class="WHIT"> -<span class='line'>577</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">Karma._isLocalized</span><span class="PUNC">(</span><span class="NAME">asset._localized</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>578</span> </span><span class="WHIT"> </span><span class="NAME">this._localized</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">asset._localized</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>579</span> </span><span class="WHIT"> </span><span class="NAME">this._path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.karma._localePath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>580</span> </span><span class="NAME">this._type</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"/"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>581</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>582</span> </span><span class="WHIT"> </span><span class="NAME">this._path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.karma._assetPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>583</span> </span><span class="WHIT"> </span><span class="NAME">this._type</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"/"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>584</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>585</span> -<span class='line'>586</span> -<span class='line'>587</span> </span><span class="WHIT"> </span><span class="COMM">//IMPORTANT: This one magic line loads the file</span><span class="WHIT"> -<span class='line'>588</span> </span><span class="WHIT"> </span><span class="NAME">this.media.src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._path</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.file</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>589</span> </span><span class="WHIT"> -<span class='line'>590</span> </span><span class="COMM">//add event handlers</span><span class="WHIT"> -<span class='line'>591</span> </span><span class="WHIT"> </span><span class="NAME">this._addEventHandlers</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>592</span> -<span class='line'>593</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this._type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"audio"</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>594</span> </span><span class="WHIT"> </span><span class="NAME">this.media.autobuffer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>595</span> </span><span class="WHIT"> </span><span class="NAME">this.media.load</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>596</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>597</span> -<span class='line'>598</span> </span><span class="WHIT"> -<span class='line'>599</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>600</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>601</span> </span><span class="WHIT"> </span><span class="COMM">//Adds event handlers to update the counters when </span><span class="WHIT"> -<span class='line'>602</span> </span><span class="WHIT"> </span><span class="COMM">//the asset is successfully or unsuccessfully loaded</span><span class="WHIT"> -<span class='line'>603</span> </span><span class="WHIT"> </span><span class="NAME">_addEventHandlers</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>604</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>605</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">loadEvent</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"load"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>606</span> </span><span class="WHIT"> </span><span class="COMM">//Browser Hack recommended by chromium devs</span><span class="WHIT"> -<span class='line'>607</span> </span><span class="WHIT"> </span><span class="COMM">//http://code.google.com/p/chromium/issues/detail?id=20251&q=loading%20audio&colspec=ID%20Stars%20Pri%20Area%20Type%20Status%20Summary%20Modified%20Owner%20Mstone%20OS#c4</span><span class="WHIT"> -<span class='line'>608</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this._type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"audio"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">this._type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"video"</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>609</span> </span><span class="WHIT"> </span><span class="NAME">loadEvent</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"canplaythrough"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>610</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>611</span> -<span class='line'>612</span> </span><span class="WHIT"> </span><span class="NAME">that.media.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> -<span class='line'>613</span> </span><span class="WHIT"> </span><span class="NAME">loadEvent</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>614</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>615</span> </span><span class="NAME">Karma.karma._counters.loaded</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>616</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>617</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"loaded"</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>618</span> </span><span class="WHIT"> -<span class='line'>619</span> </span><span class="NAME">that.media.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> -<span class='line'>620</span> </span><span class="WHIT"> </span><span class="STRN">"error"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>621</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>622</span> </span><span class="NAME">Karma.karma._counters.errors</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>623</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"error"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>624</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">errorMsg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"Error: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that._type.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>625</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">" cannot be loaded."</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>626</span> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="NAME">errorMsg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>627</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>628</span> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>629</span> </span><span class="WHIT"> </span><span class="NAME">that.media.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> -<span class='line'>630</span> </span><span class="WHIT"> </span><span class="STRN">"abort"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>631</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>632</span> </span><span class="NAME">Karma.karma._counters.total</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>633</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"aborted"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>634</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">errorMsg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ABORT: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that._type.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>635</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">" loading was aborted."</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>636</span> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="NAME">errorMsg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>637</span> -<span class='line'>638</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>639</span> -<span class='line'>640</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>641</span> </span><span class="WHIT"> -<span class='line'>642</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>643</span> -<span class='line'>644</span> </span><span class="COMM">//determine if it is a valid type of asset</span><span class="WHIT"> -<span class='line'>645</span> </span><span class="NAME">Karma._isValidType</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">type</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>646</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"image"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> -<span class='line'>647</span> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"svg"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> -<span class='line'>648</span> </span><span class="WHIT"> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"audio"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> -<span class='line'>649</span> </span><span class="WHIT"> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"video"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> -<span class='line'>650</span> </span><span class="WHIT"> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"canvas"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>651</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>652</span> -<span class='line'>653</span> </span><span class="NAME">Karma._isLocalized</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">boolLocalized</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>654</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">boolLocalized</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"boolean"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>655</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">boolLocalized</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> -<span class='line'>656</span> </span><span class="NAME">Karma.karma.locale</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>657</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"You cannot localize a media asset"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>658</span> </span><span class="WHIT"> </span><span class="STRN">" if the global locale for Karma isn't set"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>659</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>660</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">boolLocalized</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>661</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>662</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">boolLocalized</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>663</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>664</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>665</span> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"This is not a valid value for the localized option"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>666</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>667</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>668</span> -<span class='line'>669</span> </span><span class="NAME">Karma._computeLocalePath</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">locale</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>670</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">Karma.karma._assetPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">locale</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"/"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>671</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>672</span> -<span class='line'>673</span> </span><span class="NAME">Karma._makeImages</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">imgConfigs</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>674</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">makeImage</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">imgConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>675</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">image</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>676</span> </span><span class="WHIT"> </span><span class="NAME">imgConfig._type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"image"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>677</span> </span><span class="WHIT"> </span><span class="NAME">image</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.create</span><span class="PUNC">(</span><span class="NAME">Karma.kMedia</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">_init</span><span class="PUNC">(</span><span class="NAME">imgConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>678</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma.image</span><span class="PUNC">[</span><span class="NAME">imgConfig.name</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">image</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>679</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>680</span> </span><span class="WHIT"> -<span class='line'>681</span> </span><span class="NAME">imgConfigs.forEach</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">imgConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">makeImage</span><span class="PUNC">(</span><span class="NAME">imgConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>682</span> </span><span class="WHIT"> -<span class='line'>683</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>684</span> -<span class='line'>685</span> </span><span class="NAME">Karma._makeAudio</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">audioConfigs</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>686</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">makeAudio</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">audioConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>687</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">audio</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>688</span> </span><span class="WHIT"> </span><span class="NAME">audioConfig._type</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"audio"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>689</span> </span><span class="WHIT"> </span><span class="NAME">audio</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.create</span><span class="PUNC">(</span><span class="NAME">Karma.kMedia</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">_init</span><span class="PUNC">(</span><span class="NAME">audioConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>690</span> </span><span class="WHIT"> </span><span class="NAME">audio.play</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>691</span> </span><span class="WHIT"> </span><span class="COMM">//hack to fix the audio "stuttering" problem</span><span class="WHIT"> -<span class='line'>692</span> </span><span class="WHIT"> </span><span class="COMM">//more info: https://bugs.launchpad.net/karma/+bug/426108</span><span class="WHIT"> -<span class='line'>693</span> </span><span class="WHIT"> </span><span class="NAME">this.media.currentTime</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0.1</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>694</span> </span><span class="WHIT"> </span><span class="NAME">this.media.play</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>695</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>696</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma.audio</span><span class="PUNC">[</span><span class="NAME">audioConfig.name</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">audio</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>697</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>698</span> </span><span class="WHIT"> -<span class='line'>699</span> </span><span class="NAME">audioConfigs.forEach</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">audioConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">makeAudio</span><span class="PUNC">(</span><span class="NAME">audioConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>700</span> -<span class='line'>701</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>702</span> +<span class='line'>508</span> +<span class='line'>509</span> </span><span class="COMM">/** Prototypal object for images +<span class='line'>510</span> * @class This object is the prototype for images +<span class='line'>511</span> * @ throws {Error} if the image asset is set to be localized but +<span class='line'>512</span> * the global locale is not set on the Karma.karma object +<span class='line'>513</span> * @ throws {Error} if the name and file properties are not supplied +<span class='line'>514</span> * @example +<span class='line'>515</span> * kImage is the prototype object for images. This 'media' asset is loaded +<span class='line'>516</span> * in a distinctly different way from the canvas or svg assets. +<span class='line'>517</span> */</span><span class="WHIT"> +<span class='line'>518</span> </span><span class="NAME">Karma.kImage</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>519</span> </span><span class="WHIT"> </span><span class="COMM">/** file location of image +<span class='line'>520</span> * @type String +<span class='line'>521</span> * @default "" +<span class='line'>522</span> */</span><span class="WHIT"> +<span class='line'>523</span> </span><span class="WHIT"> </span><span class="NAME">file</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>524</span> </span><span class="WHIT"> </span><span class="COMM">/** media object +<span class='line'>525</span> * @type Image +<span class='line'>526</span> * @default undefined +<span class='line'>527</span> */</span><span class="WHIT"> +<span class='line'>528</span> </span><span class="NAME">media</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>529</span> </span><span class="WHIT"> </span><span class="COMM">//actual path to the file</span><span class="WHIT"> +<span class='line'>530</span> </span><span class="WHIT"> </span><span class="NAME">_path</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>531</span> </span><span class="WHIT"> </span><span class="COMM">//if using localized version of this image</span><span class="WHIT"> +<span class='line'>532</span> </span><span class="WHIT"> </span><span class="NAME">_localized</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>533</span> </span><span class="WHIT"> </span><span class="NAME">_type</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"image"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>534</span> </span><span class="COMM">//initializes kImage instance with values provided by user</span><span class="WHIT"> +<span class='line'>535</span> </span><span class="WHIT"> </span><span class="NAME">_init</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">image</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>536</span> </span><span class="WHIT"> </span><span class="NAME">image._localized</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">image._localized</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>537</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._counters.total</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>538</span> +<span class='line'>539</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">image.name</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">image.file</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>540</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"properties name and file have to be defined"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>541</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>542</span> </span><span class="WHIT"> </span><span class="NAME">this.name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">image.name</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>543</span> </span><span class="WHIT"> </span><span class="NAME">this.file</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">image.file</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>544</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>545</span> +<span class='line'>546</span> </span><span class="WHIT"> </span><span class="NAME">this.media</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Image</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>547</span> +<span class='line'>548</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">Karma._isLocalized</span><span class="PUNC">(</span><span class="NAME">image._localized</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>549</span> </span><span class="WHIT"> </span><span class="NAME">this._localized</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">image._localized</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>550</span> </span><span class="WHIT"> </span><span class="NAME">this._path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.karma._localePath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"image/"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>551</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>552</span> </span><span class="WHIT"> </span><span class="NAME">this._path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.karma._assetPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"image/"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>553</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>554</span> +<span class='line'>555</span> </span><span class="WHIT"> </span><span class="COMM">//IMPORTANT: This one magic line loads the file</span><span class="WHIT"> +<span class='line'>556</span> </span><span class="WHIT"> </span><span class="NAME">this.media.src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._path</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.file</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>557</span> </span><span class="WHIT"> +<span class='line'>558</span> </span><span class="COMM">//add event handlers</span><span class="WHIT"> +<span class='line'>559</span> </span><span class="WHIT"> </span><span class="NAME">this._addEventHandlers</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>560</span> +<span class='line'>561</span> </span><span class="WHIT"> +<span class='line'>562</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>563</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>564</span> </span><span class="WHIT"> </span><span class="COMM">//Adds event handlers to update the counters when </span><span class="WHIT"> +<span class='line'>565</span> </span><span class="WHIT"> </span><span class="COMM">//the image is successfully or unsuccessfully loaded</span><span class="WHIT"> +<span class='line'>566</span> </span><span class="WHIT"> </span><span class="NAME">_addEventHandlers</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>567</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>568</span> +<span class='line'>569</span> </span><span class="WHIT"> </span><span class="NAME">that.media.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> +<span class='line'>570</span> </span><span class="WHIT"> </span><span class="STRN">"load"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>571</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>572</span> </span><span class="NAME">Karma.karma._counters.loaded</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>573</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>574</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"loaded"</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>575</span> </span><span class="WHIT"> +<span class='line'>576</span> </span><span class="NAME">that.media.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> +<span class='line'>577</span> </span><span class="WHIT"> </span><span class="STRN">"error"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>578</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>579</span> </span><span class="NAME">Karma.karma._counters.errors</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>580</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"error"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>581</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">errorMsg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"Error: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that._type.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>582</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">" cannot be loaded."</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>583</span> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="NAME">errorMsg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>584</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>585</span> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>586</span> </span><span class="WHIT"> </span><span class="NAME">that.media.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> +<span class='line'>587</span> </span><span class="WHIT"> </span><span class="STRN">"abort"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>588</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>589</span> </span><span class="NAME">Karma.karma._counters.total</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>590</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"aborted"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>591</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">errorMsg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ABORT: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that._type.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>592</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">" loading was aborted."</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>593</span> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="NAME">errorMsg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>594</span> +<span class='line'>595</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>596</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>597</span> </span><span class="WHIT"> +<span class='line'>598</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>599</span> +<span class='line'>600</span> </span><span class="COMM">/** Prototypal object for audio files +<span class='line'>601</span> * @class This object is the prototype for audio files +<span class='line'>602</span> * @ throws {Error} if the individual audio asset is set to be localized but +<span class='line'>603</span> * the globale locale is not set on the Karma.karma object +<span class='line'>604</span> * @ throws {Error} if the name and file properties are not supplied +<span class='line'>605</span> * @example +<span class='line'>606</span> * kAudio is the prototype object for audio +<span class='line'>607</span> * The audio assets are loaded in a distinctly different way +<span class='line'>608</span> * from the canvas or svg assets. They also have distinctly different +<span class='line'>609</span> * helper methods +<span class='line'>610</span> * +<span class='line'>611</span> * You initialize the kAudio assets by passing an array of objects +<span class='line'>612</span> */</span><span class="WHIT"> +<span class='line'>613</span> </span><span class="NAME">Karma.kAudio</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>614</span> </span><span class="WHIT"> </span><span class="COMM">/** file location of asset +<span class='line'>615</span> * @type String +<span class='line'>616</span> * @default "" +<span class='line'>617</span> */</span><span class="WHIT"> +<span class='line'>618</span> </span><span class="WHIT"> </span><span class="NAME">file</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>619</span> </span><span class="WHIT"> </span><span class="COMM">/** media object +<span class='line'>620</span> * @type Image +<span class='line'>621</span> * @default undefined +<span class='line'>622</span> */</span><span class="WHIT"> +<span class='line'>623</span> </span><span class="NAME">media</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>624</span> </span><span class="WHIT"> </span><span class="COMM">//actual path to the file</span><span class="WHIT"> +<span class='line'>625</span> </span><span class="WHIT"> </span><span class="NAME">_path</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>626</span> </span><span class="WHIT"> </span><span class="COMM">//if using localized version of this asset</span><span class="WHIT"> +<span class='line'>627</span> </span><span class="WHIT"> </span><span class="NAME">_localized</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>628</span> </span><span class="WHIT"> </span><span class="NAME">_type</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"audio"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>629</span> </span><span class="COMM">//initializes kAudio instance with values provided by user</span><span class="WHIT"> +<span class='line'>630</span> </span><span class="WHIT"> </span><span class="NAME">_init</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">audio</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>631</span> </span><span class="WHIT"> </span><span class="NAME">audio._localized</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">audio._localized</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>632</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._counters.total</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>633</span> +<span class='line'>634</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">audio.name</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">audio.file</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>635</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"properties name and file have to be defined"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>636</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>637</span> </span><span class="WHIT"> </span><span class="NAME">this.name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">audio.name</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>638</span> </span><span class="WHIT"> </span><span class="NAME">this.file</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">audio.file</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>639</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>640</span> +<span class='line'>641</span> </span><span class="WHIT"> </span><span class="NAME">this.media</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Audio</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>642</span> +<span class='line'>643</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">Karma._isLocalized</span><span class="PUNC">(</span><span class="NAME">audio._localized</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>644</span> </span><span class="WHIT"> </span><span class="NAME">this._localized</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">audio._localized</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>645</span> </span><span class="WHIT"> </span><span class="NAME">this._path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.karma._localePath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"audio/"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>646</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>647</span> </span><span class="WHIT"> </span><span class="NAME">this._path</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.karma._assetPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"audio/"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>648</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>649</span> +<span class='line'>650</span> +<span class='line'>651</span> </span><span class="WHIT"> </span><span class="COMM">//IMPORTANT: This one magic line loads the file</span><span class="WHIT"> +<span class='line'>652</span> </span><span class="WHIT"> </span><span class="NAME">this.media.src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.src</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._path</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.file</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>653</span> </span><span class="WHIT"> +<span class='line'>654</span> </span><span class="COMM">//add event handlers</span><span class="WHIT"> +<span class='line'>655</span> </span><span class="WHIT"> </span><span class="NAME">this._addEventHandlers</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>656</span> +<span class='line'>657</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this._type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"audio"</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>658</span> </span><span class="WHIT"> </span><span class="NAME">this.media.autobuffer</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>659</span> </span><span class="WHIT"> </span><span class="NAME">this.media.load</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>660</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>661</span> +<span class='line'>662</span> </span><span class="WHIT"> +<span class='line'>663</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>664</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>665</span> </span><span class="WHIT"> </span><span class="COMM">//Adds event handlers to update the counters when </span><span class="WHIT"> +<span class='line'>666</span> </span><span class="WHIT"> </span><span class="COMM">//the asset is successfully or unsuccessfully loaded</span><span class="WHIT"> +<span class='line'>667</span> </span><span class="WHIT"> </span><span class="NAME">_addEventHandlers</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>668</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>669</span> </span><span class="WHIT"> </span><span class="COMM">//'canplaythrough' event is a Browser Hack recommended by chromium devs</span><span class="WHIT"> +<span class='line'>670</span> </span><span class="WHIT"> </span><span class="COMM">//http://code.google.com/p/chromium/issues/detail?id=20251&q=loading%20audio&colspec=ID%20Stars%20Pri%20Area%20Type%20Status%20Summary%20Modified%20Owner%20Mstone%20OS#c4</span><span class="WHIT"> +<span class='line'>671</span> +<span class='line'>672</span> </span><span class="WHIT"> </span><span class="NAME">that.media.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> +<span class='line'>673</span> </span><span class="WHIT"> </span><span class="STRN">"canplaythrough"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>674</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>675</span> </span><span class="NAME">Karma.karma._counters.loaded</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>676</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>677</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"loaded"</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>678</span> </span><span class="WHIT"> +<span class='line'>679</span> </span><span class="NAME">that.media.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> +<span class='line'>680</span> </span><span class="WHIT"> </span><span class="STRN">"error"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>681</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>682</span> </span><span class="NAME">Karma.karma._counters.errors</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>683</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"error"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>684</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">errorMsg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"Error: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that._type.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>685</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">" cannot be loaded."</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>686</span> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="NAME">errorMsg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>687</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>688</span> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>689</span> </span><span class="WHIT"> </span><span class="NAME">that.media.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> +<span class='line'>690</span> </span><span class="WHIT"> </span><span class="STRN">"abort"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>691</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>692</span> </span><span class="NAME">Karma.karma._counters.total</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>693</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"aborted"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>694</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">errorMsg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ABORT: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that._type.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>695</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">" loading was aborted."</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>696</span> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="NAME">errorMsg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>697</span> +<span class='line'>698</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>699</span> +<span class='line'>700</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>701</span> </span><span class="WHIT"> +<span class='line'>702</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> <span class='line'>703</span> -<span class='line'>704</span> </span><span class="NAME">Karma._makeCanvases</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">canvasConfigs</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>705</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">makeCanvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">canvasConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>706</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>707</span> </span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.create</span><span class="PUNC">(</span><span class="NAME">Karma.kCanvas</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">_init</span><span class="PUNC">(</span><span class="NAME">canvasConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>708</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma.canvas</span><span class="PUNC">[</span><span class="NAME">canvasConfig.name</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>709</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>710</span> </span><span class="WHIT"> -<span class='line'>711</span> </span><span class="NAME">canvasConfigs.forEach</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">canvasConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">makeCanvas</span><span class="PUNC">(</span><span class="NAME">canvasConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>712</span> -<span class='line'>713</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>714</span> -<span class='line'>715</span> </span><span class="COMM">/** Prototypal object for each canvas element submitted to Karma in the -<span class='line'>716</span> * Karma() method -<span class='line'>717</span> * @throws {Error} if the name and domId for the canvas element are not specified -<span class='line'>718</span> * @thows {Error} if the supplied domId does not match an element in the DOM -<span class='line'>719</span> * @class This object is the prototype for each canvas element submitted to Karma in the -<span class='line'>720</span> * Karma() method -<span class='line'>721</span> */</span><span class="WHIT"> -<span class='line'>722</span> </span><span class="NAME">Karma.kCanvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>723</span> </span><span class="WHIT"> </span><span class="COMM">/** Name of the canvas, used internally by karma.js -<span class='line'>724</span> * @type String -<span class='line'>725</span> * @default '' -<span class='line'>726</span> */</span><span class="WHIT"> -<span class='line'>727</span> </span><span class="WHIT"> </span><span class="NAME">name</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>728</span> </span><span class="WHIT"> </span><span class="COMM">/** Width of canvas element -<span class='line'>729</span> * @type Number -<span class='line'>730</span> * @default 0 -<span class='line'>731</span> */</span><span class="WHIT"> -<span class='line'>732</span> </span><span class="WHIT"> </span><span class="NAME">width</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>733</span> </span><span class="WHIT"> </span><span class="COMM">/** Height of canvas element -<span class='line'>734</span> * @type Number -<span class='line'>735</span> * @default 0 -<span class='line'>736</span> */</span><span class="WHIT"> -<span class='line'>737</span> </span><span class="WHIT"> </span><span class="NAME">height</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>738</span> </span><span class="WHIT"> </span><span class="COMM">/** Whether canvas is visible -<span class='line'>739</span> * @type boolean -<span class='line'>740</span> * @default true -<span class='line'>741</span> */</span><span class="WHIT"> -<span class='line'>742</span> </span><span class="WHIT"> </span><span class="NAME">visible</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>743</span> </span><span class="WHIT"> </span><span class="COMM">/** Element ID for canvas element in html document -<span class='line'>744</span> * @type String -<span class='line'>745</span> * @default undefined -<span class='line'>746</span> */</span><span class="WHIT"> -<span class='line'>747</span> </span><span class="WHIT"> </span><span class="NAME">domId</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>748</span> </span><span class="WHIT"> </span><span class="COMM">/** Reference to the DOM element -<span class='line'>749</span> * @type DOMElement -<span class='line'>750</span> * @default undefined -<span class='line'>751</span> */</span><span class="WHIT"> -<span class='line'>752</span> </span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>753</span> </span><span class="WHIT"> </span><span class="COMM">/** The 2 Dimensional Rendering context property for this canvas -<span class='line'>754</span> * @type 2DRenderingContext -<span class='line'>755</span> * @default undefined -<span class='line'>756</span> */</span><span class="WHIT"> -<span class='line'>757</span> </span><span class="WHIT"> </span><span class="NAME">ctx</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>758</span> </span><span class="WHIT"> </span><span class="COMM">/** Frames Per Second, I don't know what the purpose of this is, -<span class='line'>759</span> * Felipe made it up -<span class='line'>760</span> * @type Number -<span class='line'>761</span> * @default 24 -<span class='line'>762</span> */</span><span class="WHIT"> -<span class='line'>763</span> </span><span class="WHIT"> </span><span class="NAME">fps</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">24</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>704</span> +<span class='line'>705</span> +<span class='line'>706</span> +<span class='line'>707</span> </span><span class="COMM">//determine if it is a valid type of asset</span><span class="WHIT"> +<span class='line'>708</span> </span><span class="NAME">Karma._isValidType</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">type</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>709</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"image"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> +<span class='line'>710</span> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"svg"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> +<span class='line'>711</span> </span><span class="WHIT"> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"audio"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> +<span class='line'>712</span> </span><span class="WHIT"> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"video"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> +<span class='line'>713</span> </span><span class="WHIT"> </span><span class="NAME">type</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"canvas"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>714</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>715</span> +<span class='line'>716</span> </span><span class="NAME">Karma._isLocalized</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">boolLocalized</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>717</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">boolLocalized</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"boolean"</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>718</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">boolLocalized</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> +<span class='line'>719</span> </span><span class="NAME">Karma.karma.locale</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>720</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"You cannot localize a media asset"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>721</span> </span><span class="WHIT"> </span><span class="STRN">" if the global locale for Karma isn't set"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>722</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>723</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">boolLocalized</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>724</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>725</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">boolLocalized</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>726</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>727</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>728</span> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"This is not a valid value for the localized option"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>729</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>730</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>731</span> +<span class='line'>732</span> </span><span class="NAME">Karma._computeLocalePath</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">locale</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>733</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">Karma.karma._assetPath</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">locale</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"/"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>734</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>735</span> +<span class='line'>736</span> </span><span class="NAME">Karma._makeImageCollection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">imgConfigs</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>737</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">makeImage</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">imgConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>738</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">image</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>739</span> </span><span class="WHIT"> </span><span class="NAME">image</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.create</span><span class="PUNC">(</span><span class="NAME">Karma.kImage</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">_init</span><span class="PUNC">(</span><span class="NAME">imgConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>740</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma.image</span><span class="PUNC">[</span><span class="NAME">imgConfig.name</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">image</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>741</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>742</span> </span><span class="WHIT"> +<span class='line'>743</span> </span><span class="NAME">imgConfigs.forEach</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">imgConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">makeImage</span><span class="PUNC">(</span><span class="NAME">imgConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>744</span> </span><span class="WHIT"> +<span class='line'>745</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>746</span> +<span class='line'>747</span> </span><span class="NAME">Karma._makeAudioCollection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">audioConfigs</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>748</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">makeAudio</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">audioConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>749</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">audio</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>750</span> </span><span class="WHIT"> </span><span class="NAME">audio</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.create</span><span class="PUNC">(</span><span class="NAME">Karma.kAudio</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">_init</span><span class="PUNC">(</span><span class="NAME">audioConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>751</span> </span><span class="WHIT"> </span><span class="NAME">audio.play</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>752</span> </span><span class="WHIT"> </span><span class="COMM">//hack to fix the audio "stuttering" problem</span><span class="WHIT"> +<span class='line'>753</span> </span><span class="WHIT"> </span><span class="COMM">//more info: https://bugs.launchpad.net/karma/+bug/426108</span><span class="WHIT"> +<span class='line'>754</span> </span><span class="WHIT"> </span><span class="NAME">this.media.currentTime</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0.1</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>755</span> </span><span class="WHIT"> </span><span class="NAME">this.media.play</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>756</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>757</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma.audio</span><span class="PUNC">[</span><span class="NAME">audioConfig.name</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">audio</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>758</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>759</span> </span><span class="WHIT"> +<span class='line'>760</span> </span><span class="NAME">audioConfigs.forEach</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">audioConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">makeAudio</span><span class="PUNC">(</span><span class="NAME">audioConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>761</span> +<span class='line'>762</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>763</span> <span class='line'>764</span> -<span class='line'>765</span> </span><span class="WHIT"> </span><span class="COMM">//initializes object with values provides by user</span><span class="WHIT"> -<span class='line'>766</span> </span><span class="WHIT"> </span><span class="NAME">_init</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">config</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>767</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">option</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>768</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">config.hasOwnProperty</span><span class="PUNC">(</span><span class="NAME">option</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>769</span> </span><span class="WHIT"> </span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">option</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>770</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"name"</span><span class="PUNC">:</span><span class="WHIT"> -<span class='line'>771</span> </span><span class="WHIT"> </span><span class="NAME">this.name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>772</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>773</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"domId"</span><span class="PUNC">:</span><span class="WHIT"> -<span class='line'>774</span> </span><span class="WHIT"> </span><span class="NAME">this.domId</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>775</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>776</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"width"</span><span class="PUNC">:</span><span class="WHIT"> -<span class='line'>777</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.height</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>778</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"If you specify a width you must also"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>779</span> </span><span class="WHIT"> </span><span class="STRN">"specify a height"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>780</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>781</span> </span><span class="WHIT"> </span><span class="NAME">this.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>782</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>783</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"height"</span><span class="PUNC">:</span><span class="WHIT"> -<span class='line'>784</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.width</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>785</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"If you specify a height you must also"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>786</span> </span><span class="WHIT"> </span><span class="STRN">"specify a width"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>787</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>788</span> </span><span class="WHIT"> </span><span class="NAME">this.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">config.option</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>789</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>790</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"fps"</span><span class="PUNC">:</span><span class="WHIT"> -<span class='line'>791</span> </span><span class="WHIT"> </span><span class="NAME">this.fps</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">config.option</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>792</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>793</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>794</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>795</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>796</span> </span><span class="WHIT"> -<span class='line'>797</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.domId</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">this.domId</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>798</span> </span><span class="WHIT"> </span><span class="NAME">this.node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">this.domId</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>799</span> </span><span class="WHIT"> </span><span class="NAME">this.ctx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.node.getContext</span><span class="PUNC">(</span><span class="STRN">'2d'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>800</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>801</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">'you must specify a valid domId that'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>802</span> </span><span class="WHIT"> </span><span class="STRN">'is in your html page'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>803</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>804</span> -<span class='line'>805</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">config.height</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">config.width</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>806</span> </span><span class="WHIT"> </span><span class="NAME">this.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">this.node.getAttribute</span><span class="PUNC">(</span><span class="STRN">'width'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>807</span> </span><span class="WHIT"> </span><span class="NAME">this.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">this.node.getAttribute</span><span class="PUNC">(</span><span class="STRN">'height'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>808</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>809</span> -<span class='line'>810</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>811</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>812</span> </span><span class="WHIT"> </span><span class="COMM">/** Clear area of canvas element specified by parameters, if no -<span class='line'>813</span> * parameters supplied, clears entire canvas -<span class='line'>814</span> * @param {Number} [x=0] x coordinate, defaults to zero if left blank -<span class='line'>815</span> * @param {Number} [y=0] y coordinate, defaults to zero if left blank -<span class='line'>816</span> * @param {Number} [width=0] width of area to be cleared, defaults -<span class='line'>817</span> * entire width of canvas -<span class='line'>818</span> * @param {Number} [height=0] height of area to be cleared, defaults -<span class='line'>819</span> * entire height of canvas -<span class='line'>820</span> * @returns this -<span class='line'>821</span> * @example -<span class='line'>822</span> * -<span class='line'>823</span> * k.canvas.ninja.clear(); -<span class='line'>824</span> * // clears the entire ninja canvas -<span class='line'>825</span> * -<span class='line'>826</span> * k.canvas.ninja.clear(0, 10, 20, 30); -<span class='line'>827</span> * //clears a specific portion of the ninja canvas -<span class='line'>828</span> * -<span class='line'>829</span> */</span><span class="WHIT"> -<span class='line'>830</span> </span><span class="WHIT"> </span><span class="NAME">clear</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">width</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">height</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>831</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>832</span> </span><span class="WHIT"> </span><span class="NAME">that.ctx.clearRect</span><span class="PUNC">(</span><span class="WHIT"> -<span class='line'>833</span> </span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>834</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>835</span> </span><span class="NAME">width</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">that.width</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>836</span> </span><span class="NAME">height</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">that.height</span><span class="WHIT"> -<span class='line'>837</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>838</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>839</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>840</span> </span><span class="WHIT"> -<span class='line'>841</span> </span><span class="COMM">//These are all properties or methods of the canvas element's</span><span class="WHIT"> -<span class='line'>842</span> </span><span class="WHIT"> </span><span class="COMM">//2 dimensional context</span><span class="WHIT"> -<span class='line'>843</span> </span><span class="WHIT"> </span><span class="NAME">_chainingFunctions</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> -<span class='line'>844</span> </span><span class="WHIT"> </span><span class="STRN">"globalAlpha"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"globalCompositeOperation"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"lineWidth"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"lineCap"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>845</span> </span><span class="STRN">"lineJoin"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"miterLimit"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"font"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"textAlign"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"textBaseline"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"save"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>846</span> </span><span class="STRN">"restore"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"scale"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"rotate"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"translate"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"transform"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"setTransform"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>847</span> </span><span class="STRN">"clearRect"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"fillRect"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"strokeRect"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"beginPath"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"closePath"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>848</span> </span><span class="STRN">"moveTo"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"lineTo"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"quadraticCurveTo"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"bezierCurveTo"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"arcTo"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>849</span> </span><span class="STRN">"arc"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"rect"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"fill"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"stroke"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"clip"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"fillText"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"strokeText"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>850</span> </span><span class="STRN">"measureText"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"isPointInPath"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"strokeStyle"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"fillStyle"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>851</span> </span><span class="STRN">"createLinearGradient"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"createRadialGradient"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"createPattern"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>852</span> </span><span class="STRN">"shadowOffsetX"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"shadowOffsetY"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"shadowBlur"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"shadowColor"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>853</span> </span><span class="COMM">//"mozTextStyle", "mozDrawText", "mozMeasureText", "mozPathText", </span><span class="WHIT"> -<span class='line'>854</span> </span><span class="WHIT"> </span><span class="STRN">"mozTextAlongPath"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"drawImage"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"getImageData"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"putImageData"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>855</span> </span><span class="STRN">"createImageData"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"drawWindow"</span><span class="WHIT"> -<span class='line'>856</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> -<span class='line'>857</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>858</span> +<span class='line'>765</span> </span><span class="NAME">Karma._makeCanvases</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">canvasConfigs</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>766</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">makeCanvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">canvasConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>767</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>768</span> </span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.create</span><span class="PUNC">(</span><span class="NAME">Karma.kCanvas</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">_init</span><span class="PUNC">(</span><span class="NAME">canvasConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>769</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma.canvas</span><span class="PUNC">[</span><span class="NAME">canvasConfig.name</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">canvas</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>770</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>771</span> </span><span class="WHIT"> +<span class='line'>772</span> </span><span class="NAME">canvasConfigs.forEach</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">canvasConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">makeCanvas</span><span class="PUNC">(</span><span class="NAME">canvasConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>773</span> +<span class='line'>774</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>775</span> +<span class='line'>776</span> </span><span class="COMM">/** Prototypal object for each canvas element submitted to Karma in the +<span class='line'>777</span> * Karma() method +<span class='line'>778</span> * @throws {Error} if the name and domId for the canvas element are not specified +<span class='line'>779</span> * @thows {Error} if the supplied domId does not match an element in the DOM +<span class='line'>780</span> * @class This object is the prototype for each canvas element submitted to Karma in the +<span class='line'>781</span> * Karma() method +<span class='line'>782</span> */</span><span class="WHIT"> +<span class='line'>783</span> </span><span class="NAME">Karma.kCanvas</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>784</span> </span><span class="WHIT"> </span><span class="COMM">/** Name of the canvas, used internally by karma.js +<span class='line'>785</span> * @type String +<span class='line'>786</span> * @default '' +<span class='line'>787</span> */</span><span class="WHIT"> +<span class='line'>788</span> </span><span class="WHIT"> </span><span class="NAME">name</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">''</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>789</span> </span><span class="WHIT"> </span><span class="COMM">/** Width of canvas element +<span class='line'>790</span> * @type Number +<span class='line'>791</span> * @default 0 +<span class='line'>792</span> */</span><span class="WHIT"> +<span class='line'>793</span> </span><span class="WHIT"> </span><span class="NAME">width</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>794</span> </span><span class="WHIT"> </span><span class="COMM">/** Height of canvas element +<span class='line'>795</span> * @type Number +<span class='line'>796</span> * @default 0 +<span class='line'>797</span> */</span><span class="WHIT"> +<span class='line'>798</span> </span><span class="WHIT"> </span><span class="NAME">height</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>799</span> </span><span class="WHIT"> </span><span class="COMM">/** Whether canvas is visible +<span class='line'>800</span> * @type boolean +<span class='line'>801</span> * @default true +<span class='line'>802</span> */</span><span class="WHIT"> +<span class='line'>803</span> </span><span class="WHIT"> </span><span class="NAME">visible</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>804</span> </span><span class="WHIT"> </span><span class="COMM">/** Element ID for canvas element in html document +<span class='line'>805</span> * @type String +<span class='line'>806</span> * @default undefined +<span class='line'>807</span> */</span><span class="WHIT"> +<span class='line'>808</span> </span><span class="WHIT"> </span><span class="NAME">domId</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>809</span> </span><span class="WHIT"> </span><span class="COMM">/** Reference to the DOM element +<span class='line'>810</span> * @type DOMElement +<span class='line'>811</span> * @default undefined +<span class='line'>812</span> */</span><span class="WHIT"> +<span class='line'>813</span> </span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>814</span> </span><span class="WHIT"> </span><span class="COMM">/** The 2 Dimensional Rendering context property for this canvas +<span class='line'>815</span> * @type 2DRenderingContext +<span class='line'>816</span> * @default undefined +<span class='line'>817</span> */</span><span class="WHIT"> +<span class='line'>818</span> </span><span class="WHIT"> </span><span class="NAME">ctx</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>819</span> +<span class='line'>820</span> </span><span class="WHIT"> </span><span class="COMM">//initializes object with values provides by user</span><span class="WHIT"> +<span class='line'>821</span> </span><span class="WHIT"> </span><span class="NAME">_init</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">config</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>822</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">option</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>823</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">config.hasOwnProperty</span><span class="PUNC">(</span><span class="NAME">option</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>824</span> </span><span class="WHIT"> </span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">option</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>825</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"name"</span><span class="PUNC">:</span><span class="WHIT"> +<span class='line'>826</span> </span><span class="WHIT"> </span><span class="NAME">this.name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>827</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>828</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"domId"</span><span class="PUNC">:</span><span class="WHIT"> +<span class='line'>829</span> </span><span class="WHIT"> </span><span class="NAME">this.domId</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>830</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>831</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"width"</span><span class="PUNC">:</span><span class="WHIT"> +<span class='line'>832</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.height</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>833</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"If you specify a width you must also"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>834</span> </span><span class="WHIT"> </span><span class="STRN">"specify a height"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>835</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>836</span> </span><span class="WHIT"> </span><span class="NAME">this.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>837</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>838</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"height"</span><span class="PUNC">:</span><span class="WHIT"> +<span class='line'>839</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.width</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>840</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"If you specify a height you must also"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>841</span> </span><span class="WHIT"> </span><span class="STRN">"specify a width"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>842</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>843</span> </span><span class="WHIT"> </span><span class="NAME">this.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">config.option</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>844</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>845</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"fps"</span><span class="PUNC">:</span><span class="WHIT"> +<span class='line'>846</span> </span><span class="WHIT"> </span><span class="NAME">this.fps</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">config.option</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>847</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>848</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>849</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>850</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>851</span> </span><span class="WHIT"> +<span class='line'>852</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.domId</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">this.domId</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>853</span> </span><span class="WHIT"> </span><span class="NAME">this.node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">this.domId</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>854</span> </span><span class="WHIT"> </span><span class="NAME">this.ctx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.node.getContext</span><span class="PUNC">(</span><span class="STRN">'2d'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>855</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>856</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">'you must specify a valid domId that'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>857</span> </span><span class="WHIT"> </span><span class="STRN">'is in your html page'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>858</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> <span class='line'>859</span> -<span class='line'>860</span> -<span class='line'>861</span> </span><span class="NAME">Karma._makeSvgs</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgConfigs</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>862</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">makeSvg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>863</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">svg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>864</span> </span><span class="WHIT"> </span><span class="NAME">svg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.create</span><span class="PUNC">(</span><span class="NAME">Karma.kSvg</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">_init</span><span class="PUNC">(</span><span class="NAME">svgConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>865</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma.svg</span><span class="PUNC">[</span><span class="NAME">svgConfig.name</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">svg</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>866</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>867</span> </span><span class="WHIT"> -<span class='line'>868</span> </span><span class="NAME">svgConfigs.forEach</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">svgConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">makeSvg</span><span class="PUNC">(</span><span class="NAME">svgConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>869</span> -<span class='line'>870</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>871</span> -<span class='line'>872</span> </span><span class="COMM">/** Prototypal object for each svg element submitted to Karma in the -<span class='line'>873</span> * Karma() method -<span class='line'>874</span> * @throws {Error} if the name and domId for the svg element are not specified -<span class='line'>875</span> * @thows {Error} if the supplied domId does not match an element in the DOM -<span class='line'>876</span> * @class This object is the prototype for each svg element submitted to Karma in the -<span class='line'>877</span> * Karma() method -<span class='line'>878</span> */</span><span class="WHIT"> -<span class='line'>879</span> </span><span class="NAME">Karma.kSvg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>880</span> </span><span class="WHIT"> </span><span class="COMM">/** name of instance, used internally -<span class='line'>881</span> * @typeof string -<span class='line'>882</span> * @default "" -<span class='line'>883</span> */</span><span class="WHIT"> -<span class='line'>884</span> </span><span class="WHIT"> </span><span class="NAME">name</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>885</span> </span><span class="WHIT"> </span><span class="COMM">/** width of element -<span class='line'>886</span> * @type number -<span class='line'>887</span> * @default 0 -<span class='line'>888</span> */</span><span class="WHIT"> -<span class='line'>889</span> </span><span class="WHIT"> </span><span class="NAME">width</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>890</span> </span><span class="WHIT"> </span><span class="COMM">/** height of element -<span class='line'>891</span> * @type number -<span class='line'>892</span> * @default 0 -<span class='line'>893</span> */</span><span class="WHIT"> -<span class='line'>894</span> </span><span class="WHIT"> </span><span class="NAME">height</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>895</span> </span><span class="WHIT"> </span><span class="COMM">/** Status of element, either "loaded" or "error" -<span class='line'>896</span> * @type string -<span class='line'>897</span> * @default "" -<span class='line'>898</span> */</span><span class="WHIT"> -<span class='line'>899</span> </span><span class="WHIT"> </span><span class="NAME">status</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>900</span> </span><span class="WHIT"> </span><span class="COMM">/** Whether canvas is visible -<span class='line'>901</span> * @type boolean -<span class='line'>902</span> * @default true -<span class='line'>903</span> */</span><span class="WHIT"> -<span class='line'>904</span> </span><span class="WHIT"> </span><span class="NAME">visible</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>905</span> </span><span class="WHIT"> </span><span class="COMM">/** Element ID for canvas element in html document -<span class='line'>906</span> * @type String -<span class='line'>907</span> * @default undefined -<span class='line'>908</span> */</span><span class="WHIT"> -<span class='line'>909</span> </span><span class="WHIT"> </span><span class="NAME">domId</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>910</span> </span><span class="WHIT"> </span><span class="COMM">/** Reference to the DOM element -<span class='line'>911</span> * @type DOMElement -<span class='line'>912</span> * @default undefined -<span class='line'>913</span> */</span><span class="WHIT"> -<span class='line'>914</span> </span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>915</span> </span><span class="WHIT"> </span><span class="COMM">/** Reference to the SVGDocument -<span class='line'>916</span> * @type SVGDocument -<span class='line'>917</span> * @default undefined -<span class='line'>918</span> */</span><span class="WHIT"> -<span class='line'>919</span> </span><span class="WHIT"> </span><span class="NAME">doc</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>920</span> </span><span class="WHIT"> </span><span class="COMM">/** Reference to the root element of the SVG Document -<span class='line'>921</span> * @type DocumentElement -<span class='line'>922</span> * @default undefined -<span class='line'>923</span> */</span><span class="WHIT"> -<span class='line'>924</span> </span><span class="WHIT"> </span><span class="NAME">root</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>925</span> </span><span class="WHIT"> </span><span class="NAME">_localized</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>926</span> </span><span class="WHIT"> </span><span class="NAME">_chainingFunctions</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>927</span> </span><span class="WHIT"> </span><span class="NAME">_init</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">config</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>928</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._counters.total</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>929</span> -<span class='line'>930</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">option</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>931</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">config.hasOwnProperty</span><span class="PUNC">(</span><span class="NAME">option</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>932</span> </span><span class="WHIT"> </span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">option</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>933</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"name"</span><span class="PUNC">:</span><span class="WHIT"> -<span class='line'>934</span> </span><span class="WHIT"> </span><span class="NAME">this.name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>935</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>936</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"domId"</span><span class="PUNC">:</span><span class="WHIT"> -<span class='line'>937</span> </span><span class="WHIT"> </span><span class="NAME">this.domId</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>938</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>939</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"width"</span><span class="PUNC">:</span><span class="WHIT"> -<span class='line'>940</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.height</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>941</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"If you specify a width you must also"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>942</span> </span><span class="WHIT"> </span><span class="STRN">"specify a height"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>943</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>944</span> </span><span class="WHIT"> </span><span class="NAME">this.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>945</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>946</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"height"</span><span class="PUNC">:</span><span class="WHIT"> -<span class='line'>947</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.width</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>948</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"If you specify a height you must also"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>949</span> </span><span class="WHIT"> </span><span class="STRN">"specify a width"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>950</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>951</span> </span><span class="WHIT"> </span><span class="NAME">this.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>952</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>953</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"fps"</span><span class="PUNC">:</span><span class="WHIT"> -<span class='line'>954</span> </span><span class="WHIT"> </span><span class="NAME">this.fps</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>955</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>956</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>957</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>958</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>959</span> </span><span class="WHIT"> -<span class='line'>960</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.domId</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">this.domId</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>961</span> </span><span class="WHIT"> </span><span class="NAME">this.node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">this.domId</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>962</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>963</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">'you must specify a valid domId that'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>964</span> </span><span class="WHIT"> </span><span class="STRN">'is in your html page'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>965</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>966</span> -<span class='line'>967</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">config.height</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">config.width</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>968</span> </span><span class="WHIT"> </span><span class="NAME">this.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">this.node.getAttribute</span><span class="PUNC">(</span><span class="STRN">'width'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>969</span> </span><span class="WHIT"> </span><span class="NAME">this.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">this.node.getAttribute</span><span class="PUNC">(</span><span class="STRN">'height'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>970</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>971</span> </span><span class="WHIT"> -<span class='line'>972</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>973</span> </span><span class="WHIT"> </span><span class="NAME">that._addEventHandlers</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>974</span> </span><span class="WHIT"> -<span class='line'>975</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>976</span> </span><span class="WHIT"> -<span class='line'>977</span> -<span class='line'>978</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>979</span> </span><span class="WHIT"> </span><span class="NAME">_addEventHandlers</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>980</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>981</span> </span><span class="NAME">that.doc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">that.node.getSVGDocument</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>982</span> </span><span class="NAME">that.node.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> -<span class='line'>983</span> </span><span class="WHIT"> </span><span class="STRN">"load"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>984</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>985</span> </span><span class="NAME">that.doc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">that.node.getSVGDocument</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>986</span> </span><span class="NAME">that.root</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">that.doc.documentElement</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>987</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._counters.loaded</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>988</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>989</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"loaded"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>990</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>991</span> -<span class='line'>992</span> </span><span class="WHIT"> </span><span class="NAME">that.node.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> -<span class='line'>993</span> </span><span class="WHIT"> </span><span class="STRN">"error"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>994</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>995</span> </span><span class="NAME">Karma.karma._counters.loaded</span><span class="PUNC">--</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>996</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._counters.errors</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>997</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"error"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>998</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">errorMsg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"Error: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that._type.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>999</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">" cannot be loaded."</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>1000</span> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="NAME">errorMsg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>1001</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>1002</span> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>1003</span> </span><span class="WHIT"> </span><span class="NAME">that.node.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> -<span class='line'>1004</span> </span><span class="WHIT"> </span><span class="STRN">"abort"</span><span class="PUNC">,</span><span class="WHIT"> -<span class='line'>1005</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>1006</span> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"aborted"</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>1007</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">errorMsg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ABORT: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that._type.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> -<span class='line'>1008</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">" loading was aborted."</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>1009</span> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="NAME">errorMsg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>1010</span> -<span class='line'>1011</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>1012</span> -<span class='line'>1013</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> -<span class='line'>1014</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>1015</span> -<span class='line'>1016</span> </span><span class="NAME">Karma._makeVideos</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">video</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> -<span class='line'>1017</span> -<span class='line'>1018</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> -<span class='line'>1019</span> </span></pre></body></html>
\ No newline at end of file +<span class='line'>860</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">config.height</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">config.width</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>861</span> </span><span class="WHIT"> </span><span class="NAME">this.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">this.node.getAttribute</span><span class="PUNC">(</span><span class="STRN">'width'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>862</span> </span><span class="WHIT"> </span><span class="NAME">this.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">this.node.getAttribute</span><span class="PUNC">(</span><span class="STRN">'height'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>863</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>864</span> +<span class='line'>865</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>866</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>867</span> </span><span class="WHIT"> </span><span class="COMM">/** Clear area of canvas element specified by parameters, if no +<span class='line'>868</span> * parameters supplied, clears entire canvas +<span class='line'>869</span> * @param {Number} [x=0] x coordinate, defaults to zero if left blank +<span class='line'>870</span> * @param {Number} [y=0] y coordinate, defaults to zero if left blank +<span class='line'>871</span> * @param {Number} [width=0] width of area to be cleared, defaults +<span class='line'>872</span> * entire width of canvas +<span class='line'>873</span> * @param {Number} [height=0] height of area to be cleared, defaults +<span class='line'>874</span> * entire height of canvas +<span class='line'>875</span> * @returns this +<span class='line'>876</span> * @example +<span class='line'>877</span> * +<span class='line'>878</span> * k.canvas.ninja.clear(); +<span class='line'>879</span> * // clears the entire ninja canvas +<span class='line'>880</span> * +<span class='line'>881</span> * k.canvas.ninja.clear(0, 10, 20, 30); +<span class='line'>882</span> * //clears a specific portion of the ninja canvas +<span class='line'>883</span> * +<span class='line'>884</span> */</span><span class="WHIT"> +<span class='line'>885</span> </span><span class="WHIT"> </span><span class="NAME">clear</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="WHIT"> </span><span class="NAME">x</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">y</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">width</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">height</span><span class="WHIT"> </span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>886</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>887</span> </span><span class="WHIT"> </span><span class="NAME">that.ctx.clearRect</span><span class="PUNC">(</span><span class="WHIT"> +<span class='line'>888</span> </span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>889</span> </span><span class="WHIT"> </span><span class="NAME">y</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>890</span> </span><span class="NAME">width</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">that.width</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>891</span> </span><span class="NAME">height</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">that.height</span><span class="WHIT"> +<span class='line'>892</span> </span><span class="WHIT"> </span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>893</span> </span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">that</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>894</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>895</span> </span><span class="WHIT"> +<span class='line'>896</span> </span><span class="COMM">//These are all properties or methods of the canvas element's</span><span class="WHIT"> +<span class='line'>897</span> </span><span class="WHIT"> </span><span class="COMM">//2 dimensional context</span><span class="WHIT"> +<span class='line'>898</span> </span><span class="WHIT"> </span><span class="NAME">_chainingFunctions</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT"> +<span class='line'>899</span> </span><span class="WHIT"> </span><span class="STRN">"globalAlpha"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"globalCompositeOperation"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"lineWidth"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"lineCap"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>900</span> </span><span class="STRN">"lineJoin"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"miterLimit"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"font"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"textAlign"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"textBaseline"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"save"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>901</span> </span><span class="STRN">"restore"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"scale"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"rotate"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"translate"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"transform"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"setTransform"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>902</span> </span><span class="STRN">"clearRect"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"fillRect"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"strokeRect"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"beginPath"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"closePath"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>903</span> </span><span class="STRN">"moveTo"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"lineTo"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"quadraticCurveTo"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"bezierCurveTo"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"arcTo"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>904</span> </span><span class="STRN">"arc"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"rect"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"fill"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"stroke"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"clip"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"fillText"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"strokeText"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>905</span> </span><span class="STRN">"measureText"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"isPointInPath"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"strokeStyle"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"fillStyle"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>906</span> </span><span class="STRN">"createLinearGradient"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"createRadialGradient"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"createPattern"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>907</span> </span><span class="STRN">"shadowOffsetX"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"shadowOffsetY"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"shadowBlur"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"shadowColor"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>908</span> </span><span class="COMM">//"mozTextStyle", "mozDrawText", "mozMeasureText", "mozPathText", </span><span class="WHIT"> +<span class='line'>909</span> </span><span class="WHIT"> </span><span class="STRN">"mozTextAlongPath"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"drawImage"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"getImageData"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"putImageData"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>910</span> </span><span class="STRN">"createImageData"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"drawWindow"</span><span class="WHIT"> +<span class='line'>911</span> </span><span class="WHIT"> </span><span class="PUNC">]</span><span class="WHIT"> +<span class='line'>912</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>913</span> +<span class='line'>914</span> +<span class='line'>915</span> +<span class='line'>916</span> </span><span class="NAME">Karma._makeSvgs</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgConfigs</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>917</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">makeSvg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">svgConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>918</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">svg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>919</span> </span><span class="WHIT"> </span><span class="NAME">svg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Karma.create</span><span class="PUNC">(</span><span class="NAME">Karma.kSvg</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">_init</span><span class="PUNC">(</span><span class="NAME">svgConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>920</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma.svg</span><span class="PUNC">[</span><span class="NAME">svgConfig.name</span><span class="PUNC">]</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">svg</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>921</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>922</span> </span><span class="WHIT"> +<span class='line'>923</span> </span><span class="NAME">svgConfigs.forEach</span><span class="PUNC">(</span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">svgConfig</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> </span><span class="NAME">makeSvg</span><span class="PUNC">(</span><span class="NAME">svgConfig</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>924</span> +<span class='line'>925</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>926</span> +<span class='line'>927</span> </span><span class="COMM">/** Prototypal object for each svg element submitted to Karma in the +<span class='line'>928</span> * Karma() method +<span class='line'>929</span> * @throws {Error} if the name and domId for the svg element are not specified +<span class='line'>930</span> * @thows {Error} if the supplied domId does not match an element in the DOM +<span class='line'>931</span> * @class This object is the prototype for each svg element submitted to Karma in the +<span class='line'>932</span> * Karma() method +<span class='line'>933</span> */</span><span class="WHIT"> +<span class='line'>934</span> </span><span class="NAME">Karma.kSvg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>935</span> </span><span class="WHIT"> </span><span class="COMM">/** name of instance, used internally +<span class='line'>936</span> * @typeof string +<span class='line'>937</span> * @default "" +<span class='line'>938</span> */</span><span class="WHIT"> +<span class='line'>939</span> </span><span class="WHIT"> </span><span class="NAME">name</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>940</span> </span><span class="WHIT"> </span><span class="COMM">/** width of element +<span class='line'>941</span> * @type number +<span class='line'>942</span> * @default 0 +<span class='line'>943</span> */</span><span class="WHIT"> +<span class='line'>944</span> </span><span class="WHIT"> </span><span class="NAME">width</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>945</span> </span><span class="WHIT"> </span><span class="COMM">/** height of element +<span class='line'>946</span> * @type number +<span class='line'>947</span> * @default 0 +<span class='line'>948</span> */</span><span class="WHIT"> +<span class='line'>949</span> </span><span class="WHIT"> </span><span class="NAME">height</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>950</span> </span><span class="WHIT"> </span><span class="COMM">/** Status of element, either "loaded" or "error" +<span class='line'>951</span> * @type string +<span class='line'>952</span> * @default "" +<span class='line'>953</span> */</span><span class="WHIT"> +<span class='line'>954</span> </span><span class="WHIT"> </span><span class="NAME">status</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">""</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>955</span> </span><span class="WHIT"> </span><span class="COMM">/** Whether canvas is visible +<span class='line'>956</span> * @type boolean +<span class='line'>957</span> * @default true +<span class='line'>958</span> */</span><span class="WHIT"> +<span class='line'>959</span> </span><span class="WHIT"> </span><span class="NAME">visible</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>960</span> </span><span class="WHIT"> </span><span class="COMM">/** Element ID for canvas element in html document +<span class='line'>961</span> * @type String +<span class='line'>962</span> * @default undefined +<span class='line'>963</span> */</span><span class="WHIT"> +<span class='line'>964</span> </span><span class="WHIT"> </span><span class="NAME">domId</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>965</span> </span><span class="WHIT"> </span><span class="COMM">/** Reference to the DOM element +<span class='line'>966</span> * @type DOMElement +<span class='line'>967</span> * @default undefined +<span class='line'>968</span> */</span><span class="WHIT"> +<span class='line'>969</span> </span><span class="WHIT"> </span><span class="NAME">node</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>970</span> </span><span class="WHIT"> </span><span class="COMM">/** Reference to the SVGDocument +<span class='line'>971</span> * @type SVGDocument +<span class='line'>972</span> * @default undefined +<span class='line'>973</span> */</span><span class="WHIT"> +<span class='line'>974</span> </span><span class="WHIT"> </span><span class="NAME">doc</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>975</span> </span><span class="WHIT"> </span><span class="COMM">/** Reference to the root element of the SVG Document +<span class='line'>976</span> * @type DocumentElement +<span class='line'>977</span> * @default undefined +<span class='line'>978</span> */</span><span class="WHIT"> +<span class='line'>979</span> </span><span class="WHIT"> </span><span class="NAME">root</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>980</span> </span><span class="WHIT"> </span><span class="NAME">_localized</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>981</span> </span><span class="WHIT"> </span><span class="NAME">_chainingFunctions</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>982</span> </span><span class="WHIT"> </span><span class="NAME">_init</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">config</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>983</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._counters.total</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>984</span> +<span class='line'>985</span> </span><span class="WHIT"> </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">option</span><span class="WHIT"> </span><span class="KEYW">in</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>986</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">config.hasOwnProperty</span><span class="PUNC">(</span><span class="NAME">option</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>987</span> </span><span class="WHIT"> </span><span class="KEYW">switch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">option</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>988</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"name"</span><span class="PUNC">:</span><span class="WHIT"> +<span class='line'>989</span> </span><span class="WHIT"> </span><span class="NAME">this.name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>990</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>991</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"domId"</span><span class="PUNC">:</span><span class="WHIT"> +<span class='line'>992</span> </span><span class="WHIT"> </span><span class="NAME">this.domId</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>993</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>994</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"width"</span><span class="PUNC">:</span><span class="WHIT"> +<span class='line'>995</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.height</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>996</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"If you specify a width you must also"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>997</span> </span><span class="WHIT"> </span><span class="STRN">"specify a height"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>998</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>999</span> </span><span class="WHIT"> </span><span class="NAME">this.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1000</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1001</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"height"</span><span class="PUNC">:</span><span class="WHIT"> +<span class='line'>1002</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">this.width</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>1003</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"If you specify a height you must also"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>1004</span> </span><span class="WHIT"> </span><span class="STRN">"specify a width"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1005</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>1006</span> </span><span class="WHIT"> </span><span class="NAME">this.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1007</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1008</span> </span><span class="WHIT"> </span><span class="KEYW">case</span><span class="WHIT"> </span><span class="STRN">"fps"</span><span class="PUNC">:</span><span class="WHIT"> +<span class='line'>1009</span> </span><span class="WHIT"> </span><span class="NAME">this.fps</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">config</span><span class="PUNC">[</span><span class="NAME">option</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1010</span> </span><span class="WHIT"> </span><span class="KEYW">break</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1011</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>1012</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>1013</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>1014</span> </span><span class="WHIT"> +<span class='line'>1015</span> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="NAME">this.domId</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">this.domId</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>1016</span> </span><span class="WHIT"> </span><span class="NAME">this.node</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">document.getElementById</span><span class="PUNC">(</span><span class="NAME">this.domId</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1017</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>1018</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">'you must specify a valid domId that'</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>1019</span> </span><span class="WHIT"> </span><span class="STRN">'is in your html page'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1020</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>1021</span> +<span class='line'>1022</span> </span><span class="WHIT"> </span><span class="KEYW">if</span><span class="PUNC">(</span><span class="PUNC">!</span><span class="NAME">config.height</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">config.width</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>1023</span> </span><span class="WHIT"> </span><span class="NAME">this.width</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">this.node.getAttribute</span><span class="PUNC">(</span><span class="STRN">'width'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1024</span> </span><span class="WHIT"> </span><span class="NAME">this.height</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">this.node.getAttribute</span><span class="PUNC">(</span><span class="STRN">'height'</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">10</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1025</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>1026</span> </span><span class="WHIT"> +<span class='line'>1027</span> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1028</span> </span><span class="WHIT"> </span><span class="NAME">that._addEventHandlers</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1029</span> </span><span class="WHIT"> +<span class='line'>1030</span> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1031</span> </span><span class="WHIT"> +<span class='line'>1032</span> +<span class='line'>1033</span> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>1034</span> </span><span class="WHIT"> </span><span class="NAME">_addEventHandlers</span><span class="WHIT"> </span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>1035</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">that</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">this</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1036</span> </span><span class="NAME">that.doc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">that.node.getSVGDocument</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1037</span> </span><span class="NAME">that.node.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> +<span class='line'>1038</span> </span><span class="WHIT"> </span><span class="STRN">"load"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>1039</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>1040</span> </span><span class="NAME">that.doc</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">that.node.getSVGDocument</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1041</span> </span><span class="NAME">that.root</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">that.doc.documentElement</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1042</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._counters.loaded</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1043</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1044</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"loaded"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1045</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1046</span> +<span class='line'>1047</span> </span><span class="WHIT"> </span><span class="NAME">that.node.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> +<span class='line'>1048</span> </span><span class="WHIT"> </span><span class="STRN">"error"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>1049</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>1050</span> </span><span class="NAME">Karma.karma._counters.loaded</span><span class="PUNC">--</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1051</span> </span><span class="WHIT"> </span><span class="NAME">Karma.karma._counters.errors</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1052</span> </span><span class="WHIT"> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"error"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1053</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">errorMsg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"Error: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that._type.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>1054</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">" cannot be loaded."</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1055</span> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="NAME">errorMsg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1056</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>1057</span> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1058</span> </span><span class="WHIT"> </span><span class="NAME">that.node.addEventListener</span><span class="PUNC">(</span><span class="WHIT"> +<span class='line'>1059</span> </span><span class="WHIT"> </span><span class="STRN">"abort"</span><span class="PUNC">,</span><span class="WHIT"> +<span class='line'>1060</span> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">e</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>1061</span> </span><span class="NAME">that.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"aborted"</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1062</span> </span><span class="WHIT"> </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">errorMsg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"ABORT: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that._type.toUpperCase</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> +<span class='line'>1063</span> </span><span class="WHIT"> </span><span class="STRN">" "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">that.name</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">" loading was aborted."</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1064</span> </span><span class="NAME">Karma.karma._updateStatus</span><span class="PUNC">(</span><span class="NAME">errorMsg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1065</span> +<span class='line'>1066</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1067</span> +<span class='line'>1068</span> </span><span class="WHIT"> </span><span class="PUNC">}</span><span class="WHIT"> +<span class='line'>1069</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1070</span> +<span class='line'>1071</span> </span><span class="NAME">Karma._makeVideoCollection</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">video</span><span class="PUNC">)</span><span class="PUNC">{</span><span class="WHIT"> +<span class='line'>1072</span> </span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">'NYI: Not Yet Implemented'</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1073</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT"> +<span class='line'>1074</span> </span></pre></body></html>
\ No newline at end of file |