--- a/jdk/src/java.desktop/share/classes/sun/swing/SwingUtilities2.java Mon Dec 12 12:26:54 2016 +0300
+++ b/jdk/src/java.desktop/share/classes/sun/swing/SwingUtilities2.java Mon Dec 12 21:47:44 2016 +0300
@@ -33,6 +33,7 @@
import java.awt.geom.Rectangle2D;
import java.awt.geom.AffineTransform;
import static java.awt.geom.AffineTransform.TYPE_FLIP;
+import static java.awt.geom.AffineTransform.TYPE_MASK_SCALE;
import static java.awt.geom.AffineTransform.TYPE_TRANSLATION;
import java.awt.print.PrinterGraphics;
import java.text.BreakIterator;
@@ -2162,6 +2163,19 @@
return false;
}
+ public static boolean isFloatingPointScale(AffineTransform tx) {
+ int type = tx.getType() & ~(TYPE_FLIP | TYPE_TRANSLATION);
+ if (type == 0) {
+ return false;
+ } else if ((type & ~TYPE_MASK_SCALE) == 0) {
+ double scaleX = tx.getScaleX();
+ double scaleY = tx.getScaleY();
+ return (scaleX != (int) scaleX) || (scaleY != (int) scaleY);
+ } else {
+ return false;
+ }
+ }
+
/**
* Returns the client property for the given key if it is set; otherwise
* returns the {@L&F} property.