cleaned up shadow logic and defaults in _applyShadow

This commit is contained in:
Eric Rowell 2012-06-22 19:58:36 -07:00
parent 19750782c7
commit 6b36c7ed93
3 changed files with 40 additions and 30 deletions

33
dist/kinetic-core.js vendored
View File

@ -3037,20 +3037,25 @@ Kinetic.Shape.prototype = {
_applyShadow: function() { _applyShadow: function() {
var context = this.getContext(); var context = this.getContext();
var s = this.attrs.shadow; var s = this.attrs.shadow;
if(s) { if(s) {
var aa = this.getAbsoluteAlpha(); var aa = this.getAbsoluteAlpha();
var sa = this.attrs.shadow.alpha; // defaults
var color = s.color ? s.color : 'black';
var blur = s.blur ? s.blur : 5;
var offset = s.offset ? s.offset : {
x: 0,
y: 0
};
if(sa && s.color) { if(s.alpha) {
context.globalAlpha = sa * aa; context.globalAlpha = s.alpha * aa;
context.shadowColor = s.color;
context.shadowBlur = s.blur;
context.shadowOffsetX = s.offset.x;
context.shadowOffsetY = s.offset.y;
this.appliedShadow = true;
return true;
} }
context.shadowColor = color;
context.shadowBlur = blur;
context.shadowOffsetX = offset.x;
context.shadowOffsetY = offset.y;
this.appliedShadow = true;
return true;
} }
return false; return false;
@ -3133,10 +3138,11 @@ Kinetic.Shape.prototype = {
this.tempLayer = layer; this.tempLayer = layer;
/* /*
* pre styles include alpha, linejoin, and line cap * pre styles include alpha, linejoin
*/ */
if(this.getAbsoluteAlpha() !== 1) { var absAlpha = this.getAbsoluteAlpha();
context.globalAlpha = this.getAbsoluteAlpha(); if(absAlpha !== 1) {
context.globalAlpha = absAlpha;
} }
this.applyLineJoin(); this.applyLineJoin();
@ -3146,7 +3152,6 @@ Kinetic.Shape.prototype = {
context.restore(); context.restore();
} }
} }
}; };
// extend Node // extend Node
Kinetic.GlobalObject.extend(Kinetic.Shape, Kinetic.Node); Kinetic.GlobalObject.extend(Kinetic.Shape, Kinetic.Node);

File diff suppressed because one or more lines are too long

View File

@ -264,20 +264,25 @@ Kinetic.Shape.prototype = {
_applyShadow: function() { _applyShadow: function() {
var context = this.getContext(); var context = this.getContext();
var s = this.attrs.shadow; var s = this.attrs.shadow;
if(s) { if(s) {
var aa = this.getAbsoluteAlpha(); var aa = this.getAbsoluteAlpha();
var sa = this.attrs.shadow.alpha; // defaults
var color = s.color ? s.color : 'black';
var blur = s.blur ? s.blur : 5;
var offset = s.offset ? s.offset : {
x: 0,
y: 0
};
if(sa && s.color) { if(s.alpha) {
context.globalAlpha = sa * aa; context.globalAlpha = s.alpha * aa;
context.shadowColor = s.color;
context.shadowBlur = s.blur;
context.shadowOffsetX = s.offset.x;
context.shadowOffsetY = s.offset.y;
this.appliedShadow = true;
return true;
} }
context.shadowColor = color;
context.shadowBlur = blur;
context.shadowOffsetX = offset.x;
context.shadowOffsetY = offset.y;
this.appliedShadow = true;
return true;
} }
return false; return false;
@ -360,10 +365,11 @@ Kinetic.Shape.prototype = {
this.tempLayer = layer; this.tempLayer = layer;
/* /*
* pre styles include alpha, linejoin, and line cap * pre styles include alpha, linejoin
*/ */
if(this.getAbsoluteAlpha() !== 1) { var absAlpha = this.getAbsoluteAlpha();
context.globalAlpha = this.getAbsoluteAlpha(); if(absAlpha !== 1) {
context.globalAlpha = absAlpha;
} }
this.applyLineJoin(); this.applyLineJoin();
@ -373,7 +379,6 @@ Kinetic.Shape.prototype = {
context.restore(); context.restore();
} }
} }
}; };
// extend Node // extend Node
Kinetic.GlobalObject.extend(Kinetic.Shape, Kinetic.Node); Kinetic.GlobalObject.extend(Kinetic.Shape, Kinetic.Node);