--- old/src/java.desktop/share/classes/java/awt/image/ImageProducer.java 2016-04-05 17:09:40.000000000 +0400 +++ new/src/java.desktop/share/classes/java/awt/image/ImageProducer.java 2016-04-05 17:09:40.000000000 +0400 @@ -25,6 +25,9 @@ package java.awt.image; +import java.util.Arrays; +import java.util.List; + /** * The interface for objects which can produce the image data for Images. * Each image contains an ImageProducer which is used to reconstruct @@ -109,4 +112,40 @@ * @see ImageConsumer#setHints */ public void requestTopDownLeftRightResend(ImageConsumer ic); + + /** + * Returns {@code true} if {@code ImageProducer} consist of a set of + * image producers which can be used for {@code MultiResolutionImage} + * construction. + * + * @return {@code true} if {@code ImageProducer} consist of a set of + * image producers + * + * @see #getResolutionVariantItems + * @see MultiResolutionImage + * + * @since 9 + */ + default boolean isMultiResolutionImageProducer() { + return false; + } + + /** + * Gets a readable list of all resolution variant items consisting of + * {@code ImageProducer} and associated scale factors. The provided + * resolution variant items can be used for {@code MultiResolutionImage} + * construction. + * The list must be nonempty and contain at least one resolution variant item. + *
+ * Note that many implementations might return an unmodifiable list.
+ *
+ * @return list of resolution variant items.
+ * @see #isMultiResolutionImageProducer
+ * @see MultiResolutionImage
+ *
+ * @since 9
+ */
+ default List