#920 Export instance name to SVG use element

This commit is contained in:
honfika@gmail.com
2015-06-09 12:27:02 +02:00
parent 02efdde16b
commit 88a44ce07d
2 changed files with 6 additions and 3 deletions

View File

@@ -2304,12 +2304,12 @@ public final class SWF implements SWFContainerItem, Timelined {
clips.add(clip);
prevClips.add(exporter.getClip());
Matrix mat = Matrix.getTranslateInstance(rect.xMin, rect.yMin).preConcatenate(new Matrix(layer.matrix));
exporter.addUse(mat, boundRect, assetName);
exporter.addUse(mat, boundRect, assetName, layer.instanceName);
exporter.setClip(clip.shape);
exporter.endGroup();
} else {
Matrix mat = Matrix.getTranslateInstance(rect.xMin, rect.yMin).preConcatenate(new Matrix(layer.matrix));
exporter.addUse(mat, boundRect, assetName);
exporter.addUse(mat, boundRect, assetName, layer.instanceName);
}
}
}

View File

@@ -207,13 +207,16 @@ public class SVGExporter {
attr.setValue("background: " + new RGBA(backGroundColor).toHexARGB());
}
public Element addUse(Matrix transform, RECT boundRect, String href) {
public Element addUse(Matrix transform, RECT boundRect, String href, String instanceName) {
Element image = _svg.createElement("use");
if (transform != null) {
image.setAttribute("transform", transform.getTransformationString(SWF.unitDivisor, 1));
image.setAttribute("width", Double.toString(boundRect.getWidth() / (double) SWF.unitDivisor));
image.setAttribute("height", Double.toString(boundRect.getHeight() / (double) SWF.unitDivisor));
}
if (instanceName != null) {
image.setAttribute("id", instanceName);
}
image.setAttribute("xlink:href", "#" + href);
if (clip != null) {
image.setAttribute("clip-path", "url(#" + clip + ")");