Revision: 5984
          http://sourceforge.net/p/jump-pilot/code/5984
Author:   ma15569
Date:     2018-10-30 09:56:00 +0000 (Tue, 30 Oct 2018)
Log Message:
-----------
set right label distance according to the scale of view

Modified Paths:
--------------
    
core/trunk/src/com/vividsolutions/jump/workbench/ui/renderer/style/LabelStyle.java

Modified: 
core/trunk/src/com/vividsolutions/jump/workbench/ui/renderer/style/LabelStyle.java
===================================================================
--- 
core/trunk/src/com/vividsolutions/jump/workbench/ui/renderer/style/LabelStyle.java
  2018-10-29 12:05:46 UTC (rev 5983)
+++ 
core/trunk/src/com/vividsolutions/jump/workbench/ui/renderer/style/LabelStyle.java
  2018-10-30 09:56:00 UTC (rev 5984)
@@ -65,6 +65,7 @@
 import com.vividsolutions.jump.geom.CoordUtil;
 import com.vividsolutions.jump.geom.InteriorPointFinder;
 import com.vividsolutions.jump.util.CoordinateArrays;
+import com.vividsolutions.jump.workbench.JUMPWorkbench;
 import com.vividsolutions.jump.workbench.model.Layer;
 import com.vividsolutions.jump.workbench.ui.GUIUtil;
 import com.vividsolutions.jump.workbench.ui.Viewport;
@@ -336,10 +337,21 @@
         if (geometry.isEmpty()) {
             return new Coordinate(0, 0);
         }
+        // [Giuseppe Aruta 2018-10-29] set right label distance according to 
the
+        // scale
+        // of view
+        final Viewport viewport = JUMPWorkbench.getInstance().getFrame()
+                .getContext().getLayerViewPanel().getViewport();
+        Double viewScale = 1.0;
+        final Double viewBaseScale = 1.0;
+        viewScale = viewport.getScale();
+        final double scaleFactor = viewScale * viewBaseScale;
+        value = (int) (value / scaleFactor) / 2;
+
         final Envelope envelope = new Envelope(geometry.getCoordinate().x
-                - value / 2, geometry.getCoordinate().x + value / 2,
-                geometry.getCoordinate().y - value / 2,
-                geometry.getCoordinate().y + value / 2);
+                - value, geometry.getCoordinate().x + value,
+                geometry.getCoordinate().y - value, geometry.getCoordinate().y
+                        + value);
         double x = (envelope.getMinX() + envelope.getMaxX()) / 2d;
         double y = (envelope.getMinY() + envelope.getMaxY()) / 2d;
         if (verticalAlignment.equals(DEFAULT) && geometry.getDimension() != 2) 
{



_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to