diff options
7 files changed, 60 insertions, 9 deletions
diff --git a/js/controllers/elements/component-controller.js b/js/controllers/elements/component-controller.js index 83450d0f..fbe9a995 100755 --- a/js/controllers/elements/component-controller.js +++ b/js/controllers/elements/component-controller.js | |||
@@ -14,6 +14,7 @@ exports.ComponentController = Montage.create(ElementController, { | |||
14 | switch(prop) { | 14 | switch(prop) { |
15 | case "id": | 15 | case "id": |
16 | case "class": | 16 | case "class": |
17 | case "-webkit-transform-style": | ||
17 | case "left": | 18 | case "left": |
18 | case "top": | 19 | case "top": |
19 | case "width": | 20 | case "width": |
@@ -34,6 +35,7 @@ exports.ComponentController = Montage.create(ElementController, { | |||
34 | switch(p) { | 35 | switch(p) { |
35 | case "id": | 36 | case "id": |
36 | case "class": | 37 | case "class": |
38 | case "-webkit-transform-style": | ||
37 | case "left": | 39 | case "left": |
38 | case "top": | 40 | case "top": |
39 | case "width": | 41 | case "width": |
diff --git a/js/controllers/elements/stage-controller.js b/js/controllers/elements/stage-controller.js index 2734e226..f2c8fa2d 100755 --- a/js/controllers/elements/stage-controller.js +++ b/js/controllers/elements/stage-controller.js | |||
@@ -83,6 +83,8 @@ 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 | return el.elementModel.stageView.style.getProperty(p); | ||
86 | default: | 88 | default: |
87 | return ElementController.getProperty(el, p, false, true); | 89 | return ElementController.getProperty(el, p, false, true); |
88 | //console.log("Undefined Stage property ", p); | 90 | //console.log("Undefined Stage property ", p); |
@@ -111,6 +113,9 @@ exports.StageController = Montage.create(ElementController, { | |||
111 | this.application.ninja.currentDocument.iframe.height = parseInt(value) + 400; | 113 | this.application.ninja.currentDocument.iframe.height = parseInt(value) + 400; |
112 | el.elementModel.stageDimension.style.setProperty(p, value); | 114 | el.elementModel.stageDimension.style.setProperty(p, value); |
113 | break; | 115 | break; |
116 | case "-webkit-transform-style": | ||
117 | el.elementModel.stageView.style.setProperty(p, value); | ||
118 | break; | ||
114 | default: | 119 | default: |
115 | console.log("Undefined property ", p, "for the Stage Controller"); | 120 | console.log("Undefined property ", p, "for the Stage Controller"); |
116 | } | 121 | } |
diff --git a/js/document/templates/montage-html/default_html.css b/js/document/templates/montage-html/default_html.css index 68300edf..1cdd7114 100755 --- a/js/document/templates/montage-html/default_html.css +++ b/js/document/templates/montage-html/default_html.css | |||
@@ -65,11 +65,6 @@ body | |||
65 | display: none; | 65 | display: none; |
66 | } | 66 | } |
67 | 67 | ||
68 | .global3DSettings { | ||
69 | -webkit-transform-style: preserve-3d; | ||
70 | -webkit-transform: perspective(1400) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); | ||
71 | } | ||
72 | |||
73 | .elem-red-outline { | 68 | .elem-red-outline { |
74 | outline: red solid thin; | 69 | outline: red solid thin; |
75 | } \ No newline at end of file | 70 | } \ No newline at end of file |
diff --git a/js/document/templates/montage-html/index.html b/js/document/templates/montage-html/index.html index edfab2b0..b3f68030 100755 --- a/js/document/templates/montage-html/index.html +++ b/js/document/templates/montage-html/index.html | |||
@@ -40,7 +40,7 @@ | |||
40 | 40 | ||
41 | <ninja-div id="Viewport" class="stageDimension"> | 41 | <ninja-div id="Viewport" class="stageDimension"> |
42 | 42 | ||
43 | <ninja-div id="UserContent" class="stageView stageDimension global3DSettings"></ninja-div> | 43 | <ninja-div id="UserContent" class="stageView stageDimension"></ninja-div> |
44 | 44 | ||
45 | </ninja-div> | 45 | </ninja-div> |
46 | 46 | ||
diff --git a/js/panels/properties.reel/properties.js b/js/panels/properties.reel/properties.js index 782dd138..ca720ae7 100755 --- a/js/panels/properties.reel/properties.js +++ b/js/panels/properties.reel/properties.js | |||
@@ -166,9 +166,9 @@ exports.Properties = Montage.create(Component, { | |||
166 | this.threeD.xAngle = ElementsMediator.get3DProperty(el, "xAngle"); | 166 | this.threeD.xAngle = ElementsMediator.get3DProperty(el, "xAngle"); |
167 | this.threeD.yAngle = ElementsMediator.get3DProperty(el, "yAngle"); | 167 | this.threeD.yAngle = ElementsMediator.get3DProperty(el, "yAngle"); |
168 | this.threeD.zAngle = ElementsMediator.get3DProperty(el, "zAngle"); | 168 | this.threeD.zAngle = ElementsMediator.get3DProperty(el, "zAngle"); |
169 | } | ||
170 | } | 169 | } |
171 | } | 170 | } |
171 | } | ||
172 | }, | 172 | }, |
173 | 173 | ||
174 | handleSelectionChange: { | 174 | handleSelectionChange: { |
@@ -207,6 +207,12 @@ exports.Properties = Montage.create(Component, { | |||
207 | this.threeD.zAngle = ElementsMediator.get3DProperty(stage, "zAngle"); | 207 | this.threeD.zAngle = ElementsMediator.get3DProperty(stage, "zAngle"); |
208 | } | 208 | } |
209 | 209 | ||
210 | if(ElementsMediator.getProperty(stage, "-webkit-transform-style") === "preserve-3d") { | ||
211 | this.threeD.flatten = false; | ||
212 | } else { | ||
213 | this.threeD.flatten = true; | ||
214 | } | ||
215 | |||
210 | if(this.customPi !== stage.elementModel.pi) { | 216 | if(this.customPi !== stage.elementModel.pi) { |
211 | // We need to unregister color chips from the previous selection from the Color Model | 217 | // We need to unregister color chips from the previous selection from the Color Model |
212 | var len = this.customSections.length; | 218 | var len = this.customSections.length; |
@@ -271,6 +277,11 @@ exports.Properties = Montage.create(Component, { | |||
271 | this.positionSize.heightSize = parseFloat(ElementsMediator.getProperty(el, "height")); | 277 | this.positionSize.heightSize = parseFloat(ElementsMediator.getProperty(el, "height")); |
272 | this.positionSize.widthSize = parseFloat(ElementsMediator.getProperty(el, "width")); | 278 | this.positionSize.widthSize = parseFloat(ElementsMediator.getProperty(el, "width")); |
273 | 279 | ||
280 | if(ElementsMediator.getProperty(el, "-webkit-transform-style") === "preserve-3d") { | ||
281 | this.threeD.flatten = false; | ||
282 | } else { | ||
283 | this.threeD.flatten = true; | ||
284 | } | ||
274 | 285 | ||
275 | if(this.threeD.inGlobalMode) | 286 | if(this.threeD.inGlobalMode) |
276 | { | 287 | { |
diff --git a/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.html b/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.html index 18a7369e..b6c25baf 100755 --- a/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.html +++ b/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.html | |||
@@ -22,7 +22,8 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
22 | "xAngleControl": {"@": "threeDRotX"}, | 22 | "xAngleControl": {"@": "threeDRotX"}, |
23 | "yAngleControl": {"@": "threeDRotY"}, | 23 | "yAngleControl": {"@": "threeDRotY"}, |
24 | "zAngleControl": {"@": "threeDRotZ"}, | 24 | "zAngleControl": {"@": "threeDRotZ"}, |
25 | "axisModeGroupControl": {"@": "axisModeGroup"} | 25 | "axisModeGroupControl": {"@": "axisModeGroup"}, |
26 | "flattenControl": {"@": "flattenCheckbox"} | ||
26 | } | 27 | } |
27 | }, | 28 | }, |
28 | 29 | ||
@@ -242,6 +243,29 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
242 | "value": "Global", | 243 | "value": "Global", |
243 | "group": {"@": "axisModeGroup"} | 244 | "group": {"@": "axisModeGroup"} |
244 | } | 245 | } |
246 | }, | ||
247 | "flattenCheckbox": { | ||
248 | "module": "montage/ui/checkbox.reel", | ||
249 | "name": "Checkbox", | ||
250 | "properties": { | ||
251 | "element": {"#": "flattenCh"}, | ||
252 | "identifier": "flatten", | ||
253 | "checked": false | ||
254 | }, | ||
255 | "bindings": { | ||
256 | "checked": { | ||
257 | "boundObject": {"@": "owner"}, | ||
258 | "boundObjectPropertyPath": "flatten", | ||
259 | "oneway": false | ||
260 | } | ||
261 | }, | ||
262 | "listeners": [ | ||
263 | { | ||
264 | "type": "action", | ||
265 | "listener": {"@": "owner"}, | ||
266 | "capture": false | ||
267 | } | ||
268 | ] | ||
245 | } | 269 | } |
246 | } | 270 | } |
247 | </script> | 271 | </script> |
@@ -335,7 +359,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
335 | <article class="fieldRow oneCol checkbox"> | 359 | <article class="fieldRow oneCol checkbox"> |
336 | <div> | 360 | <div> |
337 | <div class="inputField"> | 361 | <div class="inputField"> |
338 | <input class="nj-skinned" type="checkbox" /> | 362 | <input id="flattenCh" class="nj-skinned" type="checkbox" /> |
339 | </div> | 363 | </div> |
340 | <div> | 364 | <div> |
341 | <label> Flatten</label> | 365 | <label> Flatten</label> |
diff --git a/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js b/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js index 35591afa..0d3d111d 100755 --- a/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js +++ b/js/panels/properties.reel/sections/three-d-view.reel/three-d-view.js | |||
@@ -79,6 +79,10 @@ exports.ThreeD = Montage.create(Component, { | |||
79 | value: 0 | 79 | value: 0 |
80 | }, | 80 | }, |
81 | 81 | ||
82 | flatten: { | ||
83 | value: false | ||
84 | }, | ||
85 | |||
82 | _disableTranslation: { | 86 | _disableTranslation: { |
83 | value: true | 87 | value: true |
84 | }, | 88 | }, |
@@ -107,6 +111,16 @@ exports.ThreeD = Montage.create(Component, { | |||
107 | value: null | 111 | value: null |
108 | }, |