Hi,
I think I've found a bug in the svg inkscape loading.
In RectProcessor.process(), PolygonProcessor.process(), LineProcessor.process() methods the inherited transform object is concatenated with the current transform in the wrong order.
Current code in these three methods:
Code:
public void process(Loader loader, Element element, Diagram diagram, Transform t) throws ParsingException {
Transform transform = Util.getTransform(element);
transform = new Transform(transform, t);
But imho it must be like this:
Code:
public void process(Loader loader, Element element, Diagram diagram, Transform t) throws ParsingException {
Transform transform = Util.getTransform(element);
transform = new Transform(t, transform);
It's just a little difference, but with big outcome. The position of rects, polygons and lines is not calculated right.
You can test it with following svg file I've uploaded:
http://iluzio.de/download/slick_test.svg
In inkscape (or firefox) the four green rects are completely inside the blue rect, with slick they are rendered at the border of the blue rect. With the fix from above everything is alright again...
kind regards!
shadow