aboutsummaryrefslogtreecommitdiff
path: root/js/ninja.reel/ninja.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/ninja.reel/ninja.js')
-rwxr-xr-xjs/ninja.reel/ninja.js52
1 files changed, 14 insertions, 38 deletions
diff --git a/js/ninja.reel/ninja.js b/js/ninja.reel/ninja.js
index 9fd71b1c..24e47612 100755
--- a/js/ninja.reel/ninja.js
+++ b/js/ninja.reel/ninja.js
@@ -351,6 +351,7 @@ exports.Ninja = Montage.create(Component, {
351 this.ninjaVersion = window.ninjaVersion.ninja.version; 351 this.ninjaVersion = window.ninjaVersion.ninja.version;
352 this.undoManager = document.application.undoManager = UndoManager.create(); 352 this.undoManager = document.application.undoManager = UndoManager.create();
353 document.application.njUtils = NjUtils; 353 document.application.njUtils = NjUtils;
354 document.application.model = this.appModel;
354 } 355 }
355 }, 356 },
356 357
@@ -376,9 +377,8 @@ exports.Ninja = Montage.create(Component, {
376 377
377 this.eventManager.addEventListener("selectTool", this, false); 378 this.eventManager.addEventListener("selectTool", this, false);
378 this.eventManager.addEventListener("selectSubTool", this, false); 379 this.eventManager.addEventListener("selectSubTool", this, false);
380 this.eventManager.addEventListener("executePreview", this, false);
379 381
380 this.addPropertyChangeListener("appModel.livePreview", this.executeLivePreview, false);
381 this.addPropertyChangeListener("appModel.chromePreview", this.executeChromePreview, false);
382 this.addPropertyChangeListener("appModel.debug", this.toggleDebug, false); 382 this.addPropertyChangeListener("appModel.debug", this.toggleDebug, false);
383 } 383 }
384 }, 384 },
@@ -387,7 +387,7 @@ exports.Ninja = Montage.create(Component, {
387 //////////////////////////////////////////////////////////////////// 387 ////////////////////////////////////////////////////////////////////
388 //////////////////////////////////////////////////////////////////// 388 ////////////////////////////////////////////////////////////////////
389 //TODO: Expand method to allow other browsers for preview 389 //TODO: Expand method to allow other browsers for preview
390 executeChromePreview: { 390 handleExecutePreview: {
391 value: function () { 391 value: function () {
392 //TODO: Make into proper component 392 //TODO: Make into proper component
393 this.saveOperationScreen = {}; 393 this.saveOperationScreen = {};
@@ -534,42 +534,18 @@ exports.Ninja = Montage.create(Component, {
534 } 534 }
535 }, 535 },
536 536
537 executeLivePreview: { 537 // Turn on WebGL animation on/off
538 value: function() { 538 toggleWebGlAnimation: {
539 var transitionStopRule; 539 value: function(animate) {
540// this.stage.hideCanvas(this.appModel.livePreview); 540 Array.prototype.slice.call(elt.querySelectorAll('[data-RDGE-id]'),0).forEach(function(glCanvas) {
541 541 if(animate) {
542 if(this.appModel.livePreview) { 542 glCanvas.elementModel.shapeModel.GLWorld._previewAnimation = true;
543 transitionStopRule = "nj-css-garbage-selector"; 543 glCanvas.elementModel.shapeModel.GLWorld.restartRenderLoop();
544 this.stage.bindingView.hide = true; 544 } else if (!glCanvas.elementModel.shapeModel.animate ) {
545 } else { 545 glCanvas.elementModel.shapeModel.GLWorld._previewAnimation = false;
546 transitionStopRule = "*" 546 glCanvas.elementModel.shapeModel.GLWorld._canvas.task.stop();
547 this.stage.bindingView.hide = false;
548 }
549
550 this.application.ninja.stylesController._stageStylesheet.rules[0].selectorText = transitionStopRule;
551
552 this._toggleWebGlAnimation(this.appModel.livePreview);
553 }
554 },
555
556 // Turn on WebGL animation during preview
557 _toggleWebGlAnimation: {
558 value: function(inLivePreview) {
559 var glCanvases = this.currentDocument.model.views.design.iframe.contentWindow.document.querySelectorAll('[data-RDGE-id]'),
560 glShapeModel;
561 if(glCanvases) {
562 for(var i = 0, len = glCanvases.length; i<len; i++) {
563 glShapeModel = glCanvases[i].elementModel.shapeModel;
564 if(inLivePreview) {
565 glShapeModel.GLWorld._previewAnimation = true;
566 glShapeModel.GLWorld.restartRenderLoop();
567 } else if (!glShapeModel.animate ) {
568 glShapeModel.GLWorld._previewAnimation = false;
569 glShapeModel.GLWorld._canvas.task.stop();
570 }
571 } 547 }
572 } 548 });
573 } 549 }
574 }, 550 },
575 551