X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.district.network.ui%2Fsrc%2Forg%2Fsimantics%2Fdistrict%2Fnetwork%2Fui%2Fstyles%2FDistrictNetworkHoverInfoStyle.java;h=31332ec6b5a2a66b21fb0b23a7e7712ccc2b7aa1;hb=6218654d0a683aed2fec569dea2ecb89e395c7be;hp=bdb0b731350e4a2b526445a738704cd88d9825a0;hpb=86d471d96d6bc11bf7629113e57c6d9a9916e608;p=simantics%2Fdistrict.git diff --git a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/styles/DistrictNetworkHoverInfoStyle.java b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/styles/DistrictNetworkHoverInfoStyle.java index bdb0b731..31332ec6 100644 --- a/org.simantics.district.network.ui/src/org/simantics/district/network/ui/styles/DistrictNetworkHoverInfoStyle.java +++ b/org.simantics.district.network.ui/src/org/simantics/district/network/ui/styles/DistrictNetworkHoverInfoStyle.java @@ -1,7 +1,6 @@ package org.simantics.district.network.ui.styles; import java.awt.geom.Point2D; -import java.awt.geom.Rectangle2D; import java.util.Collections; import java.util.List; @@ -124,14 +123,17 @@ public class DistrictNetworkHoverInfoStyle { return point; } - public static Point2D calculatePoint(INode node, int zoomLevel) { + public static Point2D calculatePoint(INode node, int zoomLevel, Point2D result) { if (node instanceof DistrictNetworkVertexNode) { DistrictNetworkVertexNode vertex = (DistrictNetworkVertexNode) node; - Rectangle2D b = vertex.getBounds(); - return new Point2D.Double(b.getCenterX(), b.getCenterY()); + return DistrictNetworkNodeUtils.calculatePoint2D(vertex.getVertex().getPoint(), result); } else if (node instanceof DistrictNetworkEdgeNode) { DistrictNetworkEdgeNode edge = (DistrictNetworkEdgeNode) node; - return (Point2D) edge.getCenterPoint(zoomLevel).clone(); + Point2D cp = edge.getCenterPoint(zoomLevel); + if (result == null) + result = new Point2D.Double(); + result.setLocation(cp); + return result; } return null; }