aboutsummaryrefslogtreecommitdiff
path: root/js/controllers/elements
diff options
context:
space:
mode:
Diffstat (limited to 'js/controllers/elements')
-rw-r--r--js/controllers/elements/shapes-controller.js36
1 files changed, 31 insertions, 5 deletions
diff --git a/js/controllers/elements/shapes-controller.js b/js/controllers/elements/shapes-controller.js
index 39300eb8..f69e6fc9 100644
--- a/js/controllers/elements/shapes-controller.js
+++ b/js/controllers/elements/shapes-controller.js
@@ -43,11 +43,11 @@ exports.ShapesController = Montage.create(CanvasController, {
43 canvas.height = el.height; 43 canvas.height = el.height;
44 this.application.ninja.elementMediator.replaceElement(el, canvas); 44 this.application.ninja.elementMediator.replaceElement(el, canvas);
45 NJevent("elementDeleted", el); 45 NJevent("elementDeleted", el);
46 this.application.ninja.selectionController.selectElement(canvas);
47 el = canvas; 46 el = canvas;
48 this.toggleWebGlMode(el, value); 47 this.toggleWebGlMode(el, value);
49 el.elementModel.shapeModel.GLGeomObj.buildBuffers(); 48 el.elementModel.shapeModel.GLWorld.render();
50 break; 49 this.application.ninja.selectionController.selectElement(el);
50 return;
51 case "strokeMaterial": 51 case "strokeMaterial":
52 var sm = Object.create(MaterialsLibrary.getMaterial(value)); 52 var sm = Object.create(MaterialsLibrary.getMaterial(value));
53 if(sm) 53 if(sm)
@@ -318,7 +318,9 @@ exports.ShapesController = Montage.create(CanvasController, {
318 { 318 {
319 return; 319 return;
320 } 320 }
321 var world, 321 var sm,
322 fm,
323 world,
322 worldData = el.elementModel.shapeModel.GLWorld.export(); 324 worldData = el.elementModel.shapeModel.GLWorld.export();
323 if(worldData) 325 if(worldData)
324 { 326 {
@@ -326,6 +328,22 @@ exports.ShapesController = Montage.create(CanvasController, {
326 el.elementModel.shapeModel.GLWorld = world; 328 el.elementModel.shapeModel.GLWorld = world;
327 el.elementModel.shapeModel.useWebGl = true; 329 el.elementModel.shapeModel.useWebGl = true;
328 world.import(worldData); 330 world.import(worldData);
331 el.elementModel.shapeModel.GLGeomObj = world.getGeomRoot();
332
333 sm = Object.create(MaterialsLibrary.getMaterial("FlatMaterial"));
334 if(sm)
335 {
336 el.elementModel.shapeModel.GLGeomObj.setStrokeMaterial(sm);
337 el.elementModel.shapeModel.strokeMaterial = sm;
338 }
339 fm = Object.create(MaterialsLibrary.getMaterial("FlatMaterial"));
340 // TODO - Use consts after GL code is converted to object literal notation
341// if( fm && (el.elementModel.shapeModel.GLGeomObj.geomType() !== GLGeomObj.GEOM_TYPE_LINE) )
342 if( fm && (el.elementModel.shapeModel.GLGeomObj.geomType() !== 3) )
343 {
344 el.elementModel.shapeModel.GLGeomObj.setFillMaterial(fm);
345 el.elementModel.shapeModel.fillMaterial = fm;
346 }
329 } 347 }
330 348
331 } 349 }
@@ -346,8 +364,16 @@ exports.ShapesController = Montage.create(CanvasController, {
346 el.elementModel.shapeModel.GLWorld = world; 364 el.elementModel.shapeModel.GLWorld = world;
347 el.elementModel.shapeModel.useWebGl = false; 365 el.elementModel.shapeModel.useWebGl = false;
348 world.import(worldData); 366 world.import(worldData);
367 el.elementModel.shapeModel.GLGeomObj = world.getGeomRoot();
368 el.elementModel.shapeModel.GLGeomObj.setStrokeMaterial(null);
369 el.elementModel.shapeModel.strokeMaterial = null;
370 // TODO - Use consts after GL code is converted to object literal notation
371 if(el.elementModel.shapeModel.GLGeomObj.geomType() !== 3)
372 {
373 el.elementModel.shapeModel.GLGeomObj.setFillMaterial(null);
374 el.elementModel.shapeModel.fillMaterial = null;
375 }
349 } 376 }
350
351 } 377 }
352 } 378 }
353 379