diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/svg/SvgImporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/svg/SvgImporter.java index 370b2081a..e92b904d7 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/svg/SvgImporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/importers/svg/SvgImporter.java @@ -195,10 +195,7 @@ public class SvgImporter { st.shapes = shapes; if (!fill) { - st.shapeBounds = shapes.getBounds(st.getShapeNum()); - if (st instanceof DefineShape4Tag) { - ((DefineShape4Tag)st).edgeBounds = shapes.getEdgeBounds(); - } + st.updateBounds(); } st.setModified(true); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape4Tag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape4Tag.java index 348b1577f..8e8c86a66 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape4Tag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/DefineShape4Tag.java @@ -26,6 +26,7 @@ import com.jpexs.decompiler.flash.types.SHAPEWITHSTYLE; import com.jpexs.decompiler.flash.types.annotations.Reserved; import com.jpexs.decompiler.flash.types.annotations.SWFType; import com.jpexs.decompiler.flash.types.annotations.SWFVersion; +import com.jpexs.decompiler.flash.types.shaperecords.SHAPERECORD; import com.jpexs.helpers.ByteArrayRange; import java.io.IOException; @@ -109,4 +110,12 @@ public class DefineShape4Tag extends ShapeTag { public int getShapeNum() { return 4; } + + @Override + public void updateBounds() { + super.updateBounds(); + edgeBounds = SHAPERECORD.getBounds(shapes.shapeRecords, null, 4, true); + } + + } diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/ShapeTag.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/ShapeTag.java index ab9c7b442..7d4668f77 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/ShapeTag.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/tags/base/ShapeTag.java @@ -263,4 +263,8 @@ public abstract class ShapeTag extends DrawableTag implements LazyObject { public void setCharacterId(int characterId) { this.shapeId = characterId; } + + public void updateBounds() { + shapeBounds = SHAPERECORD.getBounds(shapes.shapeRecords, shapes.lineStyles, getShapeNum(), false); + } } diff --git a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java index 964ce2030..bedce7d1c 100644 --- a/src/com/jpexs/decompiler/flash/gui/ImagePanel.java +++ b/src/com/jpexs/decompiler/flash/gui/ImagePanel.java @@ -384,6 +384,7 @@ public final class ImagePanel extends JPanel implements MediaDisplay { } public void setHilightedPoints(List hilightedPoints) { + hilightedEdge = null; selectedPoints = new ArrayList<>(); calculatePointsXY(); this.hilightedPoints = hilightedPoints; @@ -393,7 +394,9 @@ public final class ImagePanel extends JPanel implements MediaDisplay { public void setHilightedEdge(Point[] hilightedEdge) { this.hilightedEdge = hilightedEdge; + hilightedPoints = null; hilightEdgeColor = 255; + pointEditPanel.setVisible(false); redraw(); } @@ -1627,7 +1630,7 @@ public final class ImagePanel extends JPanel implements MediaDisplay { public void mouseMoved(MouseEvent e) { List points = hilightedPoints; if (points != null) { - Cursor cursor = defaultCursor; + Cursor cursor = selectCursor; int maxDistance = 5; List newPointsUnderCursor = new ArrayList<>(); for (int i = 0; i < points.size(); i++) { diff --git a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java index a76f9e7fd..8b0d360db 100644 --- a/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java +++ b/src/com/jpexs/decompiler/flash/gui/PreviewPanel.java @@ -1617,6 +1617,8 @@ public class PreviewPanel extends JPersistentSplitPane implements TagEditorPanel if (displayEditMode == EDIT_POINTS) { displayEditImagePanel.setHilightedPoints(null); displayEditTag.setModified(true); + ShapeTag shape = (ShapeTag) displayEditTag; + shape.updateBounds(); oldShapeRecords = null; } Tag hilightTag = null;