Using setDash for dashed lines

This commit is contained in:
Yury Delendik 2012-12-04 08:26:10 -06:00
parent bcbc21a51c
commit a7f0e9612a
2 changed files with 16 additions and 8 deletions

View File

@ -361,10 +361,14 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
this.ctx.miterLimit = limit;
},
setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {
this.ctx.mozDash = dashArray;
this.ctx.mozDashOffset = dashPhase;
this.ctx.webkitLineDash = dashArray;
this.ctx.webkitLineDashOffset = dashPhase;
var ctx = this.ctx;
if ('setLineDash' in ctx) {
ctx.setLineDash(dashArray);
ctx.lineDashOffset = dashPhase;
} else {
ctx.mozDash = dashArray;
ctx.mozDashOffset = dashPhase;
}
},
setRenderingIntent: function CanvasGraphics_setRenderingIntent(intent) {
// Maybe if we one day fully support color spaces this will be important

View File

@ -391,10 +391,14 @@ var tests = [
ctx.moveTo(0,5);
ctx.lineTo(50, 5);
ctx.lineWidth = 10;
ctx.mozDash = [10, 10];
ctx.mozDashOffset = 0;
ctx.webkitLineDash = [10, 10];
ctx.webkitLineDashOffset = 0;
if ('setLineDash' in ctx) {
ctx.setLineDash([10, 10]);
ctx.lineDashOffset = 0;
} else {
ctx.mozDash = [10, 10];
ctx.mozDashOffset = 0;
}
ctx.stroke();
var data = ctx.getImageData(0, 0, 50, 50).data;