From 86236b32d62f3c9fec6f9f3d72f5ca3ecad18e3c Mon Sep 17 00:00:00 2001 From: "honfika@gmail.com" Date: Fri, 11 Mar 2016 08:10:47 +0100 Subject: [PATCH] ignore emptry egdes fixed --- .../decompiler/flash/xfl/XFLConverter.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java index 1840e667a..c6e25fa83 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/xfl/XFLConverter.java @@ -564,6 +564,7 @@ public class XFLConverter { int layer = 1; + boolean hasEdge = false; XFLXmlWriter currentLayer = new XFLXmlWriter(); if (fillStyleCount > 0 || lineStyleCount > 0) { currentLayer.writeStartElement("DOMShape", new String[]{"isFloating", "true"}); @@ -624,6 +625,7 @@ public class XFLConverter { convertShapeEdges(startEdgeX, startEdgeY, mat, edges, edgesSb); currentLayer.writeAttribute("edges", edgesSb.toString()); currentLayer.writeEndElement(); + hasEdge = true; } } @@ -632,11 +634,11 @@ public class XFLConverter { currentLayer.writeEndElement(); // edges currentLayer.writeEndElement(); // DOMShape } - String currentLayerString = currentLayer.toString(); - if (!currentLayerString.contains("")) { //no empty layers, TODO:handle this better - layers.add(currentLayerString); + if (currentLayer.length() > 0 && hasEdge) { //no empty layers + layers.add(currentLayer.toString()); } currentLayer.setLength(0); + hasEdge = false; currentLayer.writeStartElement("DOMShape", new String[]{"isFloating", "true"}); //ret += convertShape(characters, null, shape); for (int f = 0; f < scr.fillStyles.fillStyles.length; f++) { @@ -722,6 +724,7 @@ public class XFLConverter { convertShapeEdges(startEdgeX, startEdgeY, mat, edges, edgesSb); currentLayer.writeAttribute("edges", edgesSb.toString()); currentLayer.writeEndElement(); + hasEdge = true; } startEdgeX = x; @@ -765,6 +768,7 @@ public class XFLConverter { convertShapeEdges(startEdgeX, startEdgeY, mat, edges, edgesSb); currentLayer.writeAttribute("edges", edgesSb.toString()); currentLayer.writeEndElement(); + hasEdge = true; } } } @@ -773,9 +777,8 @@ public class XFLConverter { currentLayer.writeEndElement(); // edges currentLayer.writeEndElement(); // DOMShape - String currentLayerString = currentLayer.toString(); - if (!currentLayerString.contains("")) { //no empty layers, TODO:handle this better - layers.add(currentLayerString); + if (currentLayer.length() > 0 && hasEdge) { //no empty layers + layers.add(currentLayer.toString()); } } return layers; @@ -951,7 +954,7 @@ public class XFLConverter { GLOWFILTER gf = (GLOWFILTER) filter; writer.writeStartElement("GlowFilter"); if (gf.glowColor.alpha != 255) { - writer.writeAttribute("alpha", doubleToString(gf.glowColor.getAlphaFloat())); + writer.writeAttribute("alpha", gf.glowColor.getAlphaFloat()); } writer.writeAttribute("blurX", doubleToString(gf.blurX)); writer.writeAttribute("blurY", doubleToString(gf.blurY));