"Thanks for your answer, but I want to have an edge that is both curved AND dotted. Maybe the only way is to rewrite the plugin... – rvandoni"
I needed something similar and yes it seems like it is the only way.
To ease things out:
Add:
context.setLineDash([6,6]); // numbers describe length of drawn line then blank, so you may want different values.
in file: "sigma.canvas.edges.curvedArrow.js"
Right before code:
context.setLineDash([6,6]); // <---
context.strokeStyle = color;
context.lineWidth = size;
context.beginPath();
context.moveTo(sX, sY);
if (source.id === target.id) {
context.bezierCurveTo(cp.x2, cp.y2, cp.x1, cp.y1, aX, aY);
} else {
context.quadraticCurveTo(cp.x, cp.y, aX, aY);
}
context.stroke();
You probably want both versions so just copy/create new function for it or parametrise.