diff options
Diffstat (limited to 'js/controllers')
-rw-r--r-- | js/controllers/elements/shapes-controller.js | 36 | ||||
-rw-r--r-- | js/controllers/main-menu-controller.js | 43 | ||||
-rw-r--r-- | js/controllers/styles-controller.js | 4 |
3 files changed, 78 insertions, 5 deletions
diff --git a/js/controllers/elements/shapes-controller.js b/js/controllers/elements/shapes-controller.js index e764de4e..640119c4 100644 --- a/js/controllers/elements/shapes-controller.js +++ b/js/controllers/elements/shapes-controller.js | |||
@@ -63,11 +63,11 @@ exports.ShapesController = Montage.create(CanvasController, { | |||
63 | canvas.height = el.height; | 63 | canvas.height = el.height; |
64 | this.application.ninja.elementMediator.replaceElement(el, canvas); | 64 | this.application.ninja.elementMediator.replaceElement(el, canvas); |
65 | NJevent("elementDeleted", el); | 65 | NJevent("elementDeleted", el); |
66 | this.application.ninja.selectionController.selectElement(canvas); | ||
67 | el = canvas; | 66 | el = canvas; |
68 | this.toggleWebGlMode(el, value); | 67 | this.toggleWebGlMode(el, value); |
69 | el.elementModel.shapeModel.GLGeomObj.buildBuffers(); | 68 | el.elementModel.shapeModel.GLWorld.render(); |
70 | break; | 69 | this.application.ninja.selectionController.selectElement(el); |
70 | return; | ||
71 | case "strokeMaterial": | 71 | case "strokeMaterial": |
72 | var sm = Object.create(MaterialsLibrary.getMaterial(value)); | 72 | var sm = Object.create(MaterialsLibrary.getMaterial(value)); |
73 | if(sm) | 73 | if(sm) |
@@ -338,7 +338,9 @@ exports.ShapesController = Montage.create(CanvasController, { | |||
338 | { | 338 | { |
339 | return; | 339 | return; |
340 | } | 340 | } |
341 | var world, | 341 | var sm, |
342 | fm, | ||
343 | world, | ||
342 | worldData = el.elementModel.shapeModel.GLWorld.export(); | 344 | worldData = el.elementModel.shapeModel.GLWorld.export(); |
343 | if(worldData) | 345 | if(worldData) |
344 | { | 346 | { |
@@ -346,6 +348,22 @@ exports.ShapesController = Montage.create(CanvasController, { | |||
346 | el.elementModel.shapeModel.GLWorld = world; | 348 | el.elementModel.shapeModel.GLWorld = world; |
347 | el.elementModel.shapeModel.useWebGl = true; | 349 | el.elementModel.shapeModel.useWebGl = true; |
348 | world.import(worldData); | 350 | world.import(worldData); |
351 | el.elementModel.shapeModel.GLGeomObj = world.getGeomRoot(); | ||
352 | |||
353 | sm = Object.create(MaterialsLibrary.getMaterial("FlatMaterial")); | ||
354 | if(sm) | ||
355 | { | ||
356 | el.elementModel.shapeModel.GLGeomObj.setStrokeMaterial(sm); | ||
357 | el.elementModel.shapeModel.strokeMaterial = sm; | ||
358 | } | ||
359 | fm = Object.create(MaterialsLibrary.getMaterial("FlatMaterial")); | ||
360 | // TODO - Use consts after GL code is converted to object literal notation | ||
361 | // if( fm && (el.elementModel.shapeModel.GLGeomObj.geomType() !== GLGeomObj.GEOM_TYPE_LINE) ) | ||
362 | if( fm && (el.elementModel.shapeModel.GLGeomObj.geomType() !== 3) ) | ||
363 | { | ||
364 | el.elementModel.shapeModel.GLGeomObj.setFillMaterial(fm); | ||
365 | el.elementModel.shapeModel.fillMaterial = fm; | ||
366 | } | ||
349 | } | 367 | } |
350 | 368 | ||
351 | } | 369 | } |
@@ -366,8 +384,16 @@ exports.ShapesController = Montage.create(CanvasController, { | |||
366 | el.elementModel.shapeModel.GLWorld = world; | 384 | el.elementModel.shapeModel.GLWorld = world; |
367 | el.elementModel.shapeModel.useWebGl = false; | 385 | el.elementModel.shapeModel.useWebGl = false; |
368 | world.import(worldData); | 386 | world.import(worldData); |
387 | el.elementModel.shapeModel.GLGeomObj = world.getGeomRoot(); | ||
388 | el.elementModel.shapeModel.GLGeomObj.setStrokeMaterial(null); | ||
389 | el.elementModel.shapeModel.strokeMaterial = null; | ||
390 | // TODO - Use consts after GL code is converted to object literal notation | ||
391 | if(el.elementModel.shapeModel.GLGeomObj.geomType() !== 3) | ||
392 | { | ||
393 | el.elementModel.shapeModel.GLGeomObj.setFillMaterial(null); | ||
394 | el.elementModel.shapeModel.fillMaterial = null; | ||
395 | } | ||
369 | } | 396 | } |
370 | |||
371 | } | 397 | } |
372 | } | 398 | } |
373 | 399 | ||
diff --git a/js/controllers/main-menu-controller.js b/js/controllers/main-menu-controller.js new file mode 100644 index 00000000..5e126617 --- /dev/null +++ b/js/controllers/main-menu-controller.js | |||
@@ -0,0 +1,43 @@ | |||
1 | /* <copyright> | ||
2 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | ||
3 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | ||
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | ||
5 | </copyright> */ | ||
6 | |||
7 | |||
8 | var Montage = require("montage/core/core").Montage, | ||
9 | Component = require("montage/ui/component").Component; | ||
10 | |||
11 | exports.MainMenuController = Montage.create(Component, { | ||
12 | deserializedFromTemplate:{ | ||
13 | value:function () { | ||
14 | this.eventManager.addEventListener("executeHelpFAQ", this, false); | ||
15 | this.eventManager.addEventListener("executeHelpForums", this, false); | ||
16 | this.eventManager.addEventListener("executeHelpTopics", this, false); | ||
17 | this.eventManager.addEventListener("executeHelpAbout", this, false); | ||
18 | } | ||
19 | }, | ||
20 | |||
21 | // Basic help menu handling methods | ||
22 | handleExecuteHelpFAQ:{ | ||
23 | value:function () { | ||
24 | window.open('http://www.tetsubo.org/go/ninjafaq'); | ||
25 | } | ||
26 | }, | ||
27 | handleExecuteHelpForums:{ | ||
28 | value:function () { | ||
29 | window.open('http://www.tetsubo.org/go/ninjaforums'); | ||
30 | } | ||
31 | }, | ||
32 | handleExecuteHelpTopics:{ | ||
33 | value:function () { | ||
34 | window.open('http://www.tetsubo.org/go/ninjadocs'); | ||
35 | } | ||
36 | }, | ||
37 | handleExecuteHelpAbout:{ | ||
38 | value:function () { | ||
39 | // TODO | ||
40 | console.log("Pull up the about popup"); | ||
41 | } | ||
42 | } | ||
43 | }); | ||
diff --git a/js/controllers/styles-controller.js b/js/controllers/styles-controller.js index 011caec5..44e0e798 100644 --- a/js/controllers/styles-controller.js +++ b/js/controllers/styles-controller.js | |||
@@ -181,6 +181,10 @@ var stylesController = exports.StylesController = Montage.create(Component, { | |||
181 | rule = stylesheet.rules[index]; | 181 | rule = stylesheet.rules[index]; |
182 | 182 | ||
183 | ///// attach specificity to rule object | 183 | ///// attach specificity to rule object |
184 | // if rule is css keyframes, return rule and don't attach specificity | ||
185 | if (rule instanceof WebKitCSSKeyframesRule) { | ||
186 | return rule; | ||
187 | } | ||
184 | rule[this.CONST.SPECIFICITY_KEY] = this.getSpecificity(rule.selectorText); | 188 | rule[this.CONST.SPECIFICITY_KEY] = this.getSpecificity(rule.selectorText); |
185 | 189 | ||
186 | ///// return the rule we just inserted | 190 | ///// return the rule we just inserted |