]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.district.network.ui/src/org/simantics/district/network/ui/styles/DistrictNetworkHoverInfoStyle.java
Fixed vertex hover after previous commit
[simantics/district.git] / org.simantics.district.network.ui / src / org / simantics / district / network / ui / styles / DistrictNetworkHoverInfoStyle.java
index bdb0b731350e4a2b526445a738704cd88d9825a0..31332ec6b5a2a66b21fb0b23a7e7712ccc2b7aa1 100644 (file)
@@ -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;
     }