}
rca.push("ctx.translate("+minX*factor+","+minY*factor+");");
var edgesUsed = new Uint8Array(edgeInfoList.length); // 0 initialized
+ var pathStarted = false;
for (var i1 = 0, l1 = edgeInfoList.length ; i1 < l1 ; i1++) {
var edgeInfo = edgeInfoList[i1];
var edges = edgeInfo.edges;
}
var currIndex = i1;
console.log(edgeInfo);
- rca.push("ctx.beginPath("+(edges[0]-minX)*factor+","+(edges[1]-minY)*factor+");");
+ // ref) http://d.hatena.ne.jp/yoya/20120313/canvas
+ if (pathStarted) {
+ rca.push("ctx.moveTo("+(edges[0]-minX)*factor+","+(edges[1]-minY)*factor+");");
+ } else {
+ rca.push("ctx.beginPath("+(edges[0]-minX)*factor+","+(edges[1]-minY)*factor+");");
+ pathStarted = true;
+ }
do {
if (edgesUsed[currIndex]) {
console.error("duplicate link edge");
break; // self loop
}
} while ((currIndex = edgeInfo.next) !== null);
- rca.push("ctx.closePath();");
}
rca.push("ctx.fill();");
if (factor !== 1) {