aboutsummaryrefslogtreecommitdiff
path: root/js/controllers/elements/stage-controller.js
diff options
context:
space:
mode:
authorNivesh Rajbhandari2012-04-16 16:06:24 -0700
committerNivesh Rajbhandari2012-04-16 16:06:24 -0700
commitc253192a08b499ea7be46fa5438d273e51f7ec5a (patch)
tree18a1f0e3679c0eb993a9dedb537035d3861f49ac /js/controllers/elements/stage-controller.js
parente19376c54eedd1f1c457ba405b2f110be376a559 (diff)
parent4b900ea5cd6bb77eb30cec8c03b9ec9fa662c1e9 (diff)
downloadninja-c253192a08b499ea7be46fa5438d273e51f7ec5a.tar.gz
Merge branch 'refs/heads/ninja-internal' into WebGLFixes
Diffstat (limited to 'js/controllers/elements/stage-controller.js')
-rwxr-xr-xjs/controllers/elements/stage-controller.js69
1 files changed, 67 insertions, 2 deletions
diff --git a/js/controllers/elements/stage-controller.js b/js/controllers/elements/stage-controller.js
index 34bb1fb5..f376e40f 100755
--- a/js/controllers/elements/stage-controller.js
+++ b/js/controllers/elements/stage-controller.js
@@ -83,8 +83,14 @@ exports.StageController = Montage.create(ElementController, {
83 return el.elementModel.stageDimension.style.getProperty(p); 83 return el.elementModel.stageDimension.style.getProperty(p);
84 case "width": 84 case "width":
85 return el.elementModel.stageDimension.style.getProperty(p); 85 return el.elementModel.stageDimension.style.getProperty(p);
86 case "-webkit-transform-style":
87 if(el.id === "Viewport") {
88 return this.application.ninja.stylesController.getElementStyle(el, p, false, true);
89 } else {
90 return el.elementModel.stageView.style.getProperty(p);
91 }
86 default: 92 default:
87 return ElementController.getProperty(el, p, false, true); 93 return ElementController.getProperty(el, p, true, true);
88 //console.log("Undefined Stage property ", p); 94 //console.log("Undefined Stage property ", p);
89 } 95 }
90 } 96 }
@@ -111,6 +117,10 @@ exports.StageController = Montage.create(ElementController, {
111 this.application.ninja.currentDocument.iframe.height = parseInt(value) + 400; 117 this.application.ninja.currentDocument.iframe.height = parseInt(value) + 400;
112 el.elementModel.stageDimension.style.setProperty(p, value); 118 el.elementModel.stageDimension.style.setProperty(p, value);
113 break; 119 break;
120 case "-webkit-transform-style":
121 el.elementModel.stageView.style.setProperty(p, value);
122 this.application.ninja.stage.updatedStage = true;
123 break;
114 default: 124 default:
115 console.log("Undefined property ", p, "for the Stage Controller"); 125 console.log("Undefined property ", p, "for the Stage Controller");
116 } 126 }
@@ -129,5 +139,60 @@ exports.StageController = Montage.create(ElementController, {
129 value: function(el, rule, selector) { 139 value: function(el, rule, selector) {
130 el.elementModel.transitionStopRule.selectorText = selector; 140 el.elementModel.transitionStopRule.selectorText = selector;
131 } 141 }
132 } 142 },
143
144 getMatrix: {
145 value: function(el) {
146 if(el.elementModel && el.elementModel.props3D && el.elementModel.props3D.matrix3d)
147 {
148 return el.elementModel.props3D.matrix3d.slice(0);
149 }
150 else
151 {
152 var mat;
153
154 if (el)
155 {
156 mat = this.application.ninja.stylesController.getMatrixFromElement(el, true);
157 if (!mat) {
158 mat = Matrix.I(4);
159 }
160
161 var zoom = this.application.ninja.elementMediator.getProperty(el, "zoom");
162 if (zoom)
163 {
164 zoom = Number(zoom);
165 if (zoom != 1)
166 {
167 var zoomMat = Matrix.create( [
168 [ zoom, 0, 0, 0],
169 [ 0, zoom, 0, 0],
170 [ 0, 0, zoom, 0],
171 [ 0, 0, 0, 1]
172 ] );
173 glmat4.multiply( zoomMat, mat, mat );
174 }
175 }
176 }
177
178 el.elementModel.props3D.matrix3d = mat;
179 return mat;
180 }
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 },
133}); 198});