Separated Fill and Stroke operations on Path so that it will only be filled when there's a "fill" attr. This prevents the Canvas path from being unexpectedly closed. https://github.com/ericdrowell/KineticJS/issues/567

This commit is contained in:
Jason Follas
2013-08-26 08:07:17 -04:00
parent cddf36b423
commit c93f4348b0
2 changed files with 44 additions and 8 deletions

View File

@@ -77,7 +77,10 @@
break;
}
}
canvas.fillStroke(this);
if (this.getFill() !== undefined)
canvas.fill(this);
canvas.stroke(this);
}
};
Kinetic.Util.extend(Kinetic.Path, Kinetic.Shape);

View File

@@ -803,5 +803,38 @@ Test.Modules.PATH = {
});
layer.add(borneo);
stage.add(layer);
},
'*Stroke only when no fill': function(containerId) {
// https://github.com/ericdrowell/KineticJS/issues/567
var stage = new Kinetic.Stage({
container: containerId,
width: 1024,
height: 480,
throttle: 80,
scale: 0.75,
x: 10,
y: 10
});
var layer = new Kinetic.Layer();
var path = new Kinetic.Path({
data: "M 50 0 C 50 150 170 170 200 170",
stroke: 'black'
});
path.on('mouseover', function () {
this.setStroke("#f00");
layer.draw();
});
path.on('mouseout', function(){
this.setStroke("#000");
layer.draw();
});
layer.add(path);
stage.add(layer);
}
};