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() {
var context = this.getContext();
var s = this.attrs.shadow;
if(s) {
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) {
context.globalAlpha = sa * aa;
context.shadowColor = s.color;
context.shadowBlur = s.blur;
context.shadowOffsetX = s.offset.x;
context.shadowOffsetY = s.offset.y;
this.appliedShadow = true;
return true;
if(s.alpha) {
context.globalAlpha = s.alpha * aa;
}
context.shadowColor = color;
context.shadowBlur = blur;
context.shadowOffsetX = offset.x;
context.shadowOffsetY = offset.y;
this.appliedShadow = true;
return true;
}
return false;
@ -3133,10 +3138,11 @@ Kinetic.Shape.prototype = {
this.tempLayer = layer;
/*
* pre styles include alpha, linejoin, and line cap
* pre styles include alpha, linejoin
*/
if(this.getAbsoluteAlpha() !== 1) {
context.globalAlpha = this.getAbsoluteAlpha();
var absAlpha = this.getAbsoluteAlpha();
if(absAlpha !== 1) {
context.globalAlpha = absAlpha;
}
this.applyLineJoin();
@ -3146,7 +3152,6 @@ Kinetic.Shape.prototype = {
context.restore();
}
}
};
// extend 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() {
var context = this.getContext();
var s = this.attrs.shadow;
if(s) {
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) {
context.globalAlpha = sa * aa;
context.shadowColor = s.color;
context.shadowBlur = s.blur;
context.shadowOffsetX = s.offset.x;
context.shadowOffsetY = s.offset.y;
this.appliedShadow = true;
return true;
if(s.alpha) {
context.globalAlpha = s.alpha * aa;
}
context.shadowColor = color;
context.shadowBlur = blur;
context.shadowOffsetX = offset.x;
context.shadowOffsetY = offset.y;
this.appliedShadow = true;
return true;
}
return false;
@ -360,10 +365,11 @@ Kinetic.Shape.prototype = {
this.tempLayer = layer;
/*
* pre styles include alpha, linejoin, and line cap
* pre styles include alpha, linejoin
*/
if(this.getAbsoluteAlpha() !== 1) {
context.globalAlpha = this.getAbsoluteAlpha();
var absAlpha = this.getAbsoluteAlpha();
if(absAlpha !== 1) {
context.globalAlpha = absAlpha;
}
this.applyLineJoin();
@ -373,7 +379,6 @@ Kinetic.Shape.prototype = {
context.restore();
}
}
};
// extend Node
Kinetic.GlobalObject.extend(Kinetic.Shape, Kinetic.Node);