]> gerrit.simantics Code Review - simantics/district.git/blob - org.simantics.district.maps/src/org/simantics/maps/MapScalingTransform.java
e29e8e553fc9fadc90c326dcb28f704c3fabf171
[simantics/district.git] / org.simantics.district.maps / src / org / simantics / maps / MapScalingTransform.java
1 package org.simantics.maps;
2
3 import java.awt.geom.AffineTransform;
4
5 public class MapScalingTransform {
6
7     private MapScalingTransform() {
8     }
9     public static final double scale = 256.0d / 360.0d;
10     public static final AffineTransform INSTANCE = new AffineTransform(scale, 0, 0, scale, 0, 0);
11
12     public static double getScaleX() {
13         return INSTANCE.getScaleX();
14     }
15
16     public static double getScaleY() {
17         return INSTANCE.getScaleY();
18     }
19     
20     public static int zoomLevel(AffineTransform current) {
21         double org = INSTANCE.getScaleX();
22         double cur = current.getScaleX();
23         double f = cur / org;
24         double zoomLevel = Math.log10(f) / Math.log10(2);
25         if (zoomLevel < 0) {
26             zoomLevel = 0;
27         }
28         return (int) zoomLevel;
29     }
30 }