aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rwxr-xr-xjs/controllers/elements/element-controller.js23
-rwxr-xr-xjs/controllers/styles-controller.js5
-rwxr-xr-xjs/helper-classes/3D/draw-utils.js7
-rwxr-xr-xjs/helper-classes/3D/snap-manager.js5
-rwxr-xr-xjs/helper-classes/3D/view-utils.js15
-rwxr-xr-xjs/stage/layout.js9
-rwxr-xr-xjs/stage/stage-deps.js2
-rwxr-xr-xjs/stage/stage.reel/stage.html2
-rwxr-xr-xjs/stage/stage.reel/stage.js28
9 files changed, 64 insertions, 32 deletions
diff --git a/js/controllers/elements/element-controller.js b/js/controllers/elements/element-controller.js
index 20225c61..7bb07976 100755
--- a/js/controllers/elements/element-controller.js
+++ b/js/controllers/elements/element-controller.js
@@ -159,8 +159,6 @@ exports.ElementController = Montage.create(Component, {
159 el.elementModel.stroke = null; 159 el.elementModel.stroke = null;
160 return; 160 return;
161 case 'gradient': 161 case 'gradient':
162 this.setProperty(el, "border-image", color.color.css);
163 this.setProperty(el, "border-color", "none");
164 if(color.borderInfo) { 162 if(color.borderInfo) {
165 if(color.borderInfo.borderWidth) { 163 if(color.borderInfo.borderWidth) {
166 this.setProperty(el, "border-width", color.borderInfo.borderWidth + color.borderInfo.borderUnits); 164 this.setProperty(el, "border-width", color.borderInfo.borderWidth + color.borderInfo.borderUnits);
@@ -169,9 +167,11 @@ exports.ElementController = Montage.create(Component, {
169 this.setProperty(el, "border-style", color.borderInfo.borderStyle); 167 this.setProperty(el, "border-style", color.borderInfo.borderStyle);
170 } 168 }
171 } 169 }
170 this.setGradientBorder(el, color.color.gradientMode, color.color.css);
172 break; 171 break;
173 default: 172 default:
174 this.setProperty(el, "border-image", "none"); 173 this.setProperty(el, "border-image", "none");
174 this.setProperty(el, "border-image-slice", "");
175 this.setProperty(el, "border-color", color.color.css); 175 this.setProperty(el, "border-color", color.color.css);
176 if(color.borderInfo) { 176 if(color.borderInfo) {
177 if(color.borderInfo.borderWidth) { 177 if(color.borderInfo.borderWidth) {
@@ -188,6 +188,25 @@ exports.ElementController = Montage.create(Component, {
188 } 188 }
189 }, 189 },
190 190
191 setGradientBorder: {
192 value: function(el, gradientMode, css) {
193 if(gradientMode === "radial") {
194 this.setProperty(el, "border-image", css.replace("ellipse", "circle"));
195 } else {
196 this.setProperty(el, "border-image", css);
197 }
198 this.setProperty(el, "border-color", "none");
199 // gradient slice = borderWidth/totalWidth
200 var b = parseInt(this.getProperty(el, "border-left-width", true)),
201 w = parseInt(this.getProperty(el, "width", true)),
202 h = parseInt(this.getProperty(el, "height", true));
203 if(h > w) {
204 w = h;
205 }
206 this.setProperty(el, "border-image-slice", Math.floor(b/(w+b+b) * 100) + "%");
207 }
208 },
209
191 getStroke: { 210 getStroke: {
192 value: function(el) { 211 value: function(el) {
193 // TODO - Need to figure out which border side user wants 212 // TODO - Need to figure out which border side user wants
diff --git a/js/controllers/styles-controller.js b/js/controllers/styles-controller.js
index 534f77c7..e76e5a1b 100755
--- a/js/controllers/styles-controller.js
+++ b/js/controllers/styles-controller.js
@@ -1229,9 +1229,10 @@ var stylesController = exports.StylesController = Montage.create(Component, {
1229 } 1229 }
1230 } 1230 }
1231 if(isNaN(dist)) { 1231 if(isNaN(dist)) {
1232 dist = null; 1232 return "none";
1233 } else {
1234 return dist;
1233 } 1235 }
1234 return dist;
1235 } 1236 }
1236 }, 1237 },
1237 1238
diff --git a/js/helper-classes/3D/draw-utils.js b/js/helper-classes/3D/draw-utils.js
index 871b832d..75aa308c 100755
--- a/js/helper-classes/3D/draw-utils.js
+++ b/js/helper-classes/3D/draw-utils.js
@@ -126,7 +126,7 @@ var DrawUtils = exports.DrawUtils = Montage.create(Component, {
126 //initialize with current document 126 //initialize with current document
127 this._eltArray = []; 127 this._eltArray = [];
128 this._planesArray = []; 128 this._planesArray = [];
129 this.setDrawingSurfaceElement(stage.canvas); 129 this.setDrawingSurfaceElement(stage.gridCanvas);
130 this.setSourceSpaceElement( this.application.ninja.currentDocument.model.documentRoot); 130 this.setSourceSpaceElement( this.application.ninja.currentDocument.model.documentRoot);
131 this.setWorkingPlane( [0,0,1,0] ); 131 this.setWorkingPlane( [0,0,1,0] );
132 132
@@ -307,7 +307,6 @@ var DrawUtils = exports.DrawUtils = Montage.create(Component, {
307 } 307 }
308 308
309 if(!changed) { 309 if(!changed) {
310 stage.layout.draw();
311 this.drawWorkingPlane(); 310 this.drawWorkingPlane();
312 this.draw3DCompass(); 311 this.draw3DCompass();
313 } 312 }
@@ -631,8 +630,8 @@ var DrawUtils = exports.DrawUtils = Montage.create(Component, {
631 if (!this.isDrawingGrid()) return; 630 if (!this.isDrawingGrid()) return;
632 631
633 var saveContext = this.getDrawingSurfaceElement(); 632 var saveContext = this.getDrawingSurfaceElement();
634 //this.setDrawingSurfaceElement(window.stageManager.layoutCanvas); 633 this.setDrawingSurfaceElement(this.application.ninja.stage.gridCanvas);
635 this.setDrawingSurfaceElement(this.application.ninja.stage.layoutCanvas); 634 this.clear();
636 635
637 // 3 coordinate axes for the plane 636 // 3 coordinate axes for the plane
638 var zAxis = [this._workingPlane[0], this._workingPlane[1], this._workingPlane[2]]; 637 var zAxis = [this._workingPlane[0], this._workingPlane[1], this._workingPlane[2]];
diff --git a/js/helper-classes/3D/snap-manager.js b/js/helper-classes/3D/snap-manager.js
index 069c6022..4dcda24a 100755
--- a/js/helper-classes/3D/snap-manager.js
+++ b/js/helper-classes/3D/snap-manager.js
@@ -21,8 +21,7 @@ var SnapManager = exports.SnapManager = Montage.create(Component, {
21 /////////////////////////////////////////////////////////////////////// 21 ///////////////////////////////////////////////////////////////////////
22 // Instance variables 22 // Instance variables
23 /////////////////////////////////////////////////////////////////////// 23 ///////////////////////////////////////////////////////////////////////
24 drawingCanvas: { value: null, writable: true}, 24
25
26 // we keep a stack of working planes to facilitate working on other planes temporarily 25 // we keep a stack of working planes to facilitate working on other planes temporarily
27 _workingPlaneStack : { value: [], writable: true }, 26 _workingPlaneStack : { value: [], writable: true },
28 27
@@ -2124,7 +2123,7 @@ var SnapManager = exports.SnapManager = Montage.create(Component, {
2124 if (hitRec) 2123 if (hitRec)
2125 { 2124 {
2126 var saveContext = drawUtils.getDrawingSurfaceElement(); 2125 var saveContext = drawUtils.getDrawingSurfaceElement();
2127 drawUtils.setDrawingSurfaceElement(this.drawingCanvas); 2126 drawUtils.setDrawingSurfaceElement(this.application.ninja.stage.drawingCanvas);
2128 var context = drawUtils.getDrawingContext(); 2127 var context = drawUtils.getDrawingContext();
2129 if (context) 2128 if (context)
2130 { 2129 {
diff --git a/js/helper-classes/3D/view-utils.js b/js/helper-classes/3D/view-utils.js
index a3d09404..3c7ae6ff 100755
--- a/js/helper-classes/3D/view-utils.js
+++ b/js/helper-classes/3D/view-utils.js
@@ -195,7 +195,12 @@ exports.ViewUtils = Montage.create(Component, {
195 195
196 getPerspectiveDistFromElement: { 196 getPerspectiveDistFromElement: {
197 value: function( elt ) { 197 value: function( elt ) {
198 return ElementsMediator.getPerspectiveDist(elt); 198 var pDist = ElementsMediator.getPerspectiveDist(elt);
199 if(pDist === "none") {
200 return null;
201 } else {
202 return pDist;
203 }
199 } 204 }
200 }, 205 },
201 206
@@ -1320,14 +1325,6 @@ exports.ViewUtils = Montage.create(Component, {
1320 } 1325 }
1321 }, 1326 },
1322 1327
1323 getCurrentDocument:
1324 {
1325 value: function()
1326 {
1327 return snapManagerModule.SnapManager.application.ninja.currentDocument;
1328 }
1329 },
1330
1331 setStageZoom: { 1328 setStageZoom: {
1332 value:function( globalPt, zoomFactor ) { 1329 value:function( globalPt, zoomFactor ) {
1333 var localPt; 1330 var localPt;
diff --git a/js/stage/layout.js b/js/stage/layout.js
index 460c8b4a..7b4ccc17 100755
--- a/js/stage/layout.js
+++ b/js/stage/layout.js
@@ -121,6 +121,10 @@ exports.Layout = Montage.create(Component, {
121 value: function() { 121 value: function() {
122 this.clearCanvas(); 122 this.clearCanvas();
123 123
124 // TODO Bind the layoutview mode to the current document
125 // var mode = this.application.ninja.currentDocument.layoutMode;
126 if(this.layoutView === "layoutOff") return;
127
124 var els = this.elementsToDraw.length; 128 var els = this.elementsToDraw.length;
125 for(var i = 0, el; i < els; i++){ 129 for(var i = 0, el; i < els; i++){
126 this.drawTagOutline(this.elementsToDraw[i]); 130 this.drawTagOutline(this.elementsToDraw[i]);
@@ -154,11 +158,6 @@ exports.Layout = Montage.create(Component, {
154 158
155 if(!item || !this.application.ninja.selectionController.isNodeTraversable(item)) return; 159 if(!item || !this.application.ninja.selectionController.isNodeTraversable(item)) return;
156 160
157 // TODO Bind the layoutview mode to the current document
158 // var mode = this.application.ninja.currentDocument.layoutMode;
159
160 if(this.layoutView === "layoutOff") return;
161
162 // Don't draw outlines for shapes. 161 // Don't draw outlines for shapes.
163 // TODO Use the element mediator/controller/model to see if its a shape 162 // TODO Use the element mediator/controller/model to see if its a shape
164 // if (utilsModule.utils.isElementAShape(item)) return; 163 // if (utilsModule.utils.isElementAShape(item)) return;
diff --git a/js/stage/stage-deps.js b/js/stage/stage-deps.js
index 896d4a5b..2469ba79 100755
--- a/js/stage/stage-deps.js
+++ b/js/stage/stage-deps.js
@@ -37,8 +37,6 @@ exports.StageDeps = Montage.create(Component, {
37 window.MathUtils = MathUtilsClass;