diff options
Diffstat (limited to 'js/controllers/elements/stage-controller.js')
-rwxr-xr-x | js/controllers/elements/stage-controller.js | 69 |
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 | }); |