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