aboutsummaryrefslogtreecommitdiff
path: root/js/controllers/elements
diff options
context:
space:
mode:
Diffstat (limited to 'js/controllers/elements')
-rwxr-xr-xjs/controllers/elements/element-controller.js13
-rwxr-xr-xjs/controllers/elements/stage-controller.js20
2 files changed, 25 insertions, 8 deletions
diff --git a/js/controllers/elements/element-controller.js b/js/controllers/elements/element-controller.js
index b8411ac0..0f17dd46 100755
--- a/js/controllers/elements/element-controller.js
+++ b/js/controllers/elements/element-controller.js
@@ -60,7 +60,7 @@ exports.ElementController = Montage.create(Component, {
60 60
61 for(var property in properties) { 61 for(var property in properties) {
62 this.application.ninja.stylesController.setElementStyle(element, property, properties[property]); 62 this.application.ninja.stylesController.setElementStyle(element, property, properties[property]);
63 } 63 }
64 } 64 }
65 }, 65 },
66 66
@@ -231,10 +231,6 @@ exports.ElementController = Montage.create(Component, {
231 return el.elementModel.props3D.perspectiveDist; 231 return el.elementModel.props3D.perspectiveDist;
232 } else { 232 } else {
233 var dist = this.application.ninja.stylesController.getPerspectiveDistFromElement(el, false); 233 var dist = this.application.ninja.stylesController.getPerspectiveDistFromElement(el, false);
234 if(dist == null) {
235 dist = 1400;
236 }
237
238 el.elementModel.props3D.perspectiveDist = dist; 234 el.elementModel.props3D.perspectiveDist = dist;
239 return dist; 235 return dist;
240 } 236 }
@@ -246,7 +242,12 @@ exports.ElementController = Montage.create(Component, {
246 value: function(el, props, index, update3DModel) { 242 value: function(el, props, index, update3DModel) {
247 var dist = props[index]["dist"], 243 var dist = props[index]["dist"],
248 mat = props[index]["mat"]; 244 mat = props[index]["mat"];
249 this.application.ninja.stylesController.setElementStyle(el, "-webkit-transform", "perspective(" + dist + ") " + "matrix3d(" + MathUtils.scientificToDecimal(mat, 5) + ")"); 245 this.application.ninja.stylesController.setElementStyle(el, "-webkit-transform", "matrix3d(" + MathUtils.scientificToDecimal(mat, 5) + ")");
246
247 this.application.ninja.stylesController.setElementStyle(el, "-webkit-transform-style", "preserve-3d");
248
249 // TODO - We don't support perspective on individual elements yet
250// this.application.ninja.stylesController.setElementStyle(el, "-webkit-perspective", dist);
250 251
251 el.elementModel.props3D.matrix3d = mat; 252 el.elementModel.props3D.matrix3d = mat;
252 el.elementModel.props3D.perspectiveDist = dist; 253 el.elementModel.props3D.perspectiveDist = dist;
diff --git a/js/controllers/elements/stage-controller.js b/js/controllers/elements/stage-controller.js
index dc916b1a..f376e40f 100755
--- a/js/controllers/elements/stage-controller.js
+++ b/js/controllers/elements/stage-controller.js
@@ -90,7 +90,7 @@ exports.StageController = Montage.create(ElementController, {
90 return el.elementModel.stageView.style.getProperty(p); 90 return el.elementModel.stageView.style.getProperty(p);
91 } 91 }
92 default: 92 default:
93 return ElementController.getProperty(el, p, false, true); 93 return ElementController.getProperty(el, p, true, true);
94 //console.log("Undefined Stage property ", p); 94 //console.log("Undefined Stage property ", p);
95 } 95 }
96 } 96 }
@@ -119,6 +119,7 @@ exports.StageController = Montage.create(ElementController, {
119 break; 119 break;
120 case "-webkit-transform-style": 120 case "-webkit-transform-style":
121 el.elementModel.stageView.style.setProperty(p, value); 121 el.elementModel.stageView.style.setProperty(p, value);
122 this.application.ninja.stage.updatedStage = true;
122 break; 123 break;
123 default: 124 default:
124 console.log("Undefined property ", p, "for the Stage Controller"); 125 console.log("Undefined property ", p, "for the Stage Controller");
@@ -178,5 +179,20 @@ exports.StageController = Montage.create(ElementController, {
178 return mat; 179 return mat;
179 } 180 }
180 } 181 }
181 } 182 },
183
184 getPerspectiveDist: {
185 value: function(el) {
186 if(el.elementModel && el.elementModel.props3D && el.elementModel.props3D.perspectiveDist)
187 {
188 return el.elementModel.props3D.perspectiveDist;
189 }
190 else
191 {
192 var dist = this.application.ninja.stylesController.getPerspectiveDistFromElement(el, true);
193 el.elementModel.props3D.perspectiveDist = dist;
194 return dist;
195 }
196 }
197 },
182}); 198});