aboutsummaryrefslogtreecommitdiff
path: root/js/controllers/elements/stage-controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/controllers/elements/stage-controller.js')
-rwxr-xr-xjs/controllers/elements/stage-controller.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/js/controllers/elements/stage-controller.js b/js/controllers/elements/stage-controller.js
index 34bb1fb5..97ea3aa5 100755
--- a/js/controllers/elements/stage-controller.js
+++ b/js/controllers/elements/stage-controller.js
@@ -129,5 +129,46 @@ exports.StageController = Montage.create(ElementController, {
129 value: function(el, rule, selector) { 129 value: function(el, rule, selector) {
130 el.elementModel.transitionStopRule.selectorText = selector; 130 el.elementModel.transitionStopRule.selectorText = selector;
131 } 131 }
132 },
133
134 getMatrix: {
135 value: function(el) {
136 if(el.elementModel && el.elementModel.props3D && el.elementModel.props3D.matrix3d)
137 {
138 return el.elementModel.props3D.matrix3d.slice(0);
139 }
140 else
141 {
142 var mat;
143
144 if (el)
145 {
146 var xformStr = this.application.ninja.elementMediator.getProperty(el, "-webkit-transform");
147 if (xformStr)
148 mat = this.transformStringToMat( xformStr );
149 if (!mat)
150 mat = Matrix.I(4);
151
152 var zoom = this.application.ninja.elementMediator.getProperty(el, "zoom");
153 if (zoom)
154 {
155 zoom = Number(zoom);
156 if (zoom != 1)
157 {
158 var zoomMat = Matrix.create( [
159 [ zoom, 0, 0, 0],
160 [ 0, zoom, 0, 0],
161 [ 0, 0, zoom, 0],
162 [ 0, 0, 0, 1]
163 ] );
164 glmat4.multiply( zoomMat, mat, mat );
165 }
166 }
167 }
168
169 el.elementModel.props3D.matrix3d = mat;
170 return mat;
171 }
172 }
132 } 173 }
133}); 174});