diff options
author | Jose Antonio Marquez | 2012-02-24 14:51:29 -0800 |
---|---|---|
committer | Jose Antonio Marquez | 2012-02-24 14:51:29 -0800 |
commit | 9a87513929290b6f84a090b4b4cca8fab0f2ab81 (patch) | |
tree | f25f7ad305e1db6fa96ae085859c62c317208249 /js/document | |
parent | 97d6314f96f309332a655d49b95ec651c378bcf2 (diff) | |
download | ninja-9a87513929290b6f84a090b4b4cca8fab0f2ab81.tar.gz |
Added import/export of RDGE data
This is only the IO aspect, the data getter seems broken for 2D canvas and does not allow for save, and nothing works for setting the data on load. However, the IO aspect of saving and opening the data are not incorporated.
Diffstat (limited to 'js/document')
-rwxr-xr-x | js/document/html-document.js | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/js/document/html-document.js b/js/document/html-document.js index 6394e3ce..ca1b0886 100755 --- a/js/document/html-document.js +++ b/js/document/html-document.js | |||
@@ -162,15 +162,15 @@ exports.HTMLDocument = Montage.create(TextDocument, { | |||
162 | cdm.collectGLData( elt, this._glData ); | 162 | cdm.collectGLData( elt, this._glData ); |
163 | } | 163 | } |
164 | 164 | ||
165 | return this._glData | 165 | return this._glData; |
166 | }, | 166 | }, |
167 | 167 | ||
168 | set: function(value) | 168 | set: function(value) |
169 | { | 169 | { |
170 | var elt = this.iframe.contentWindow.document.getElementById("UserContent"); | 170 | var elt = this.documentRoot; |
171 | if (elt) | 171 | if (elt) |
172 | { | 172 | { |
173 | console.log( "load canvas data: " + value ); | 173 | console.log( "load canvas data: " , value ); |
174 | var cdm = new CanvasDataManager(); | 174 | var cdm = new CanvasDataManager(); |
175 | cdm.loadGLData(elt, value); | 175 | cdm.loadGLData(elt, value); |
176 | } | 176 | } |
@@ -374,6 +374,25 @@ exports.HTMLDocument = Montage.create(TextDocument, { | |||
374 | //Inserting user's document into template | 374 | //Inserting user's document into template |
375 | this._templateDocument.head.innerHTML = this._userDocument.content.head; | 375 | this._templateDocument.head.innerHTML = this._userDocument.content.head; |
376 | this._templateDocument.body.innerHTML = this._userDocument.content.body; | 376 | this._templateDocument.body.innerHTML = this._userDocument.content.body; |
377 | //TODO: Use querySelectorAll | ||
378 | var scripttags = this._templateDocument.html.getElementsByTagName('script'), webgldata; | ||
379 | // | ||
380 | for (var w in scripttags) { | ||
381 | if (scripttags[w].getAttribute) { | ||
382 | if (scripttags[w].getAttribute('data-ninja-webgl') !== null) { | ||
383 | //TODO: Add logic to handle more than one data tag | ||
384 | webgldata = JSON.parse((scripttags[w].innerHTML.replace("(", "")).replace(")", "")); | ||
385 | } | ||
386 | } | ||
387 | } | ||
388 | // | ||
389 | if (webgldata) { | ||
390 | for (var n=0; webgldata.data[n]; n++) { | ||
391 | webgldata.data[n] = unescape(webgldata.data[n]); | ||
392 | } | ||
393 | this._templateDocument.webgl = webgldata.data; | ||
394 | } | ||
395 | |||
377 | 396 | ||
378 | //Adding a handler for the main user document reel to finish loading | 397 | //Adding a handler for the main user document reel to finish loading |
379 | this._document.body.addEventListener("userTemplateDidLoad", this.userTemplateDidLoad.bind(this), false); | 398 | this._document.body.addEventListener("userTemplateDidLoad", this.userTemplateDidLoad.bind(this), false); |
@@ -487,6 +506,10 @@ exports.HTMLDocument = Montage.create(TextDocument, { | |||
487 | 506 | ||
488 | this.callback(this); | 507 | this.callback(this); |
489 | 508 | ||
509 | //Setting webGL data | ||
510 | if (this._templateDocument.webgl) { | ||
511 | this.glData = this._templateDocument.webgl; | ||
512 | } | ||
490 | } | 513 | } |
491 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | 514 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |
492 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | 515 | //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// |