< prev index next >
src/java.desktop/share/classes/java/awt/image/FilteredImageSource.java
Print this page
@@ -29,10 +29,16 @@
import java.awt.image.ImageFilter;
import java.awt.image.ImageConsumer;
import java.awt.image.ImageProducer;
import java.util.Hashtable;
import java.awt.image.ColorModel;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.stream.Collectors;
+import sun.awt.image.MultiResolutionToolkitImage;
/**
* This class is an implementation of the ImageProducer interface which
* takes an existing image and a filter object and uses them to produce
* image data for a new filtered version of the original image.
@@ -204,6 +210,23 @@
if (imgf != null) {
imgf.resendTopDownLeftRight(src);
}
}
}
+
+ @Override
+ public boolean isMultiResolutionImageProducer() {
+ return src.isMultiResolutionImageProducer();
+ }
+
+ @Override
+ public List<ResolutionVariantItem<ImageProducer>> getResolutionVariantItems() {
+ return src.getResolutionVariantItems().stream().map(
+ (rvItem) -> new ResolutionVariantItem<ImageProducer>(
+ new FilteredImageSource(rvItem.getValue(),
+ filter.getScaledFilterInstance(
+ rvItem.getScaleX(),
+ rvItem.getScaleY())),
+ rvItem.getScaleX(), rvItem.getScaleY()))
+ .collect(Collectors.toList());
+ }
}
< prev index next >