diff options
Diffstat (limited to 'js/controllers/elements')
-rwxr-xr-x | js/controllers/elements/shapes-controller.js | 50 |
1 files changed, 29 insertions, 21 deletions
diff --git a/js/controllers/elements/shapes-controller.js b/js/controllers/elements/shapes-controller.js index cd7fa16d..e9dde5fc 100755 --- a/js/controllers/elements/shapes-controller.js +++ b/js/controllers/elements/shapes-controller.js | |||
@@ -396,8 +396,8 @@ exports.ShapesController = Montage.create(CanvasController, { | |||
396 | if(isFill) | 396 | if(isFill) |
397 | { | 397 | { |
398 | // Properties Panel asks for fill color even for shapes that only have strokes | 398 | // Properties Panel asks for fill color even for shapes that only have strokes |
399 | // Check that shape object has a getFillColor method before getting fills | 399 | // Check that shape object supports fills |
400 | if(el.elementModel.shapeModel.GLGeomObj.getFillColor) | 400 | if(el.elementModel.shapeModel.GLGeomObj.canFill) |
401 | { | 401 | { |
402 | return this.application.ninja.colorController.colorModel.webGlToColor(el.elementModel.shapeModel.GLGeomObj.getFillColor()); | 402 | return this.application.ninja.colorController.colorModel.webGlToColor(el.elementModel.shapeModel.GLGeomObj.getFillColor()); |
403 | } | 403 | } |
@@ -494,28 +494,36 @@ exports.ShapesController = Montage.create(CanvasController, { | |||
494 | webGl; | 494 | webGl; |
495 | if(isFill) | 495 | if(isFill) |
496 | { | 496 | { |
497 | if(mode) | 497 | // skip shape types that don't have fill color |
498 | if(el.elementModel.shapeModel.GLGeomObj.canFill) | ||
498 | { | 499 | { |
499 | switch (mode) { | 500 | if(mode) |
500 | case 'nocolor': | 501 | { |
501 | el.elementModel.shapeModel.GLGeomObj.setFillColor(null); | 502 | switch (mode) { |
502 | break; | 503 | case 'nocolor': |
503 | case 'gradient': | 504 | el.elementModel.shapeModel.GLGeomObj.setFillColor(null); |
504 | if(el.elementModel.shapeModel.useWebGl) | 505 | break; |
505 | { | 506 | case 'gradient': |
506 | this._setGradientMaterial(el, color.color.gradientMode, isFill); | 507 | if(el.elementModel.shapeModel.useWebGl) |
507 | } | 508 | { |
508 | el.elementModel.shapeModel.GLGeomObj.setFillColor({gradientMode:color.color.gradientMode, color:color.color.stops}); | 509 | this._setGradientMaterial(el, color.color.gradientMode, isFill); |
509 | break; | 510 | } |
510 | default: | 511 | el.elementModel.shapeModel.GLGeomObj.setFillColor({gradientMode:color.color.gradientMode, color:color.color.stops}); |
511 | if(el.elementModel.shapeModel.useWebGl) | 512 | break; |
512 | { | 513 | default: |
513 | this._setFlatMaterial(el, isFill); | 514 | if(el.elementModel.shapeModel.useWebGl) |
514 | } | 515 | { |
515 | webGl = this.application.ninja.colorController.colorModel.colorToWebGl(color.color); | 516 | this._setFlatMaterial(el, isFill); |
516 | el.elementModel.shapeModel.GLGeomObj.setFillColor(webGl); | 517 | } |
518 | webGl = this.application.ninja.colorController.colorModel.colorToWebGl(color.color); | ||
519 | el.elementModel.shapeModel.GLGeomObj.setFillColor(webGl); | ||
520 | } | ||
517 | } | 521 | } |
518 | } | 522 | } |
523 | else | ||
524 | { | ||
525 | return; | ||
526 | } | ||
519 | } | 527 | } |
520 | else | 528 | else |
521 | { | 529 | { |