// console.log(fillStyles);
var styleCode = null;
var factor = FlappSWFMatrix.maxAbsScaleSkew(this.absoluteMatrix);
+ var edgeInfoList = fillEdges[fillStyle];
+ var minX = edgeInfoList.minX;
+ var maxX = edgeInfoList.maxX;
+ var minY = edgeInfoList.minY;
+ var maxY = edgeInfoList.maxY;
switch (style.type) {
case 00:
styleCode = '"'+style.color.toCSS()+'"';
rca.push("ctx.save();");
rca.push("ctx.transform("+1/factor+",0, 0, "+1/factor+", 0, 0);");
}
- var edgeInfoList = fillEdges[fillStyle];
+ rca.push("ctx.translate("+minX*factor+","+minY*factor+");");
var edgesUsed = new Uint8Array(edgeInfoList.length); // 0 initialized
for (var i1 = 0, l1 = edgeInfoList.length ; i1 < l1 ; i1++) {
var edgeInfo = edgeInfoList[i1];
}
var currIndex = i1;
console.log(edgeInfo);
- rca.push("ctx.beginPath("+edges[0]*factor+","+edges[1]*factor+");");
+ rca.push("ctx.beginPath("+(edges[0]-minX)*factor+","+(edges[1]-minY)*factor+");");
do {
if (edgesUsed[currIndex]) {
console.error("duplicate link edge");
edgesUsed[currIndex] = 1; // used
for (var i2 = 2, l2 = edges.length ; i2 < l2; ) {
if (types[i2 / 2 - 1] === 'C') {
- rca.push("ctx.ctx.quadraticCurveTo("+edges[i2++]*factor+","+edges[i2++]*factor+","+edges[i2++]*factor+","+edges[i2++]*factor+");");
+ rca.push("ctx.ctx.quadraticCurveTo("+(edges[i2++]-minX)*factor+","+(edges[i2++]-minY)*factor+","+(edges[i2++]-minX)*factor+","+(edges[i2++]-minY)*factor+");");
} else {
- rca.push("ctx.lineTo("+edges[i2++]*factor+","+edges[i2++]*factor+");");
+ rca.push("ctx.lineTo("+(edges[i2++]-minX)*factor+","+(edges[i2++]-minY)*factor+");");
}
}
if (currIndex === edgeInfo.next) {