src/share/classes/sun/awt/image/MultiResolutionBufferedImage.java
Print this page
@@ -22,10 +22,11 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package sun.awt.image;
+import java.awt.Dimension;
import java.awt.Image;
import java.awt.Graphics;
import java.awt.geom.Dimension2D;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
@@ -41,10 +42,17 @@
private final BiFunction<Integer, Integer, Image> mapper;
private final Dimension2D[] sizes;
private int availableInfo;
public MultiResolutionBufferedImage(Image baseImage,
+ BiFunction<Integer, Integer, Image> mapper) {
+ this(baseImage, new Dimension[]{new Dimension(
+ baseImage.getWidth(null), baseImage.getHeight(null))
+ }, mapper);
+ }
+
+ public MultiResolutionBufferedImage(Image baseImage,
Dimension2D[] sizes, BiFunction<Integer, Integer, Image> mapper) {
super(baseImage.getWidth(null), baseImage.getHeight(null),
BufferedImage.TYPE_INT_ARGB_PRE);
this.sizes = sizes;
this.mapper = mapper;
@@ -113,11 +121,11 @@
}
return 0;
}
private static void preload(Image image, int availableInfo) {
- if (image instanceof ToolkitImage) {
+ if (availableInfo != 0 && image instanceof ToolkitImage) {
((ToolkitImage) image).preload(new ImageObserver() {
int flags = availableInfo;
@Override
public boolean imageUpdate(Image img, int infoflags,