src/macosx/classes/com/apple/laf/AquaImageFactory.java

Print this page

        

*** 44,57 **** import com.apple.laf.AquaIcon.InvertableIcon; import com.apple.laf.AquaIcon.JRSUIControlSpec; import com.apple.laf.AquaIcon.SystemIcon; import com.apple.laf.AquaUtils.RecyclableObject; import com.apple.laf.AquaUtils.RecyclableSingleton; - import java.util.Arrays; - import java.util.List; - import sun.awt.image.MultiResolutionBufferedImage; import sun.awt.image.MultiResolutionImage; public class AquaImageFactory { public static IconUIResource getConfirmImageIcon() { // public, because UIDefaults.ProxyLazyValue uses reflection to get this value --- 44,55 ---- import com.apple.laf.AquaIcon.InvertableIcon; import com.apple.laf.AquaIcon.JRSUIControlSpec; import com.apple.laf.AquaIcon.SystemIcon; import com.apple.laf.AquaUtils.RecyclableObject; import com.apple.laf.AquaUtils.RecyclableSingleton; import sun.awt.image.MultiResolutionImage; + import sun.awt.image.MultiResolutionCachedImage; public class AquaImageFactory { public static IconUIResource getConfirmImageIcon() { // public, because UIDefaults.ProxyLazyValue uses reflection to get this value
*** 123,135 **** } private static final int kAlertIconSize = 64; static IconUIResource getAppIconCompositedOn(final Image background) { ! if (background instanceof MultiResolutionBufferedImage) { int width = background.getWidth(null); ! Image mrIconImage = ((MultiResolutionBufferedImage) background).map( rv -> getAppIconImageCompositedOn(rv, rv.getWidth(null) / width)); return new IconUIResource(new ImageIcon(mrIconImage)); } BufferedImage iconImage = getAppIconImageCompositedOn(background, 1); --- 121,133 ---- } private static final int kAlertIconSize = 64; static IconUIResource getAppIconCompositedOn(final Image background) { ! if (background instanceof MultiResolutionCachedImage) { int width = background.getWidth(null); ! Image mrIconImage = ((MultiResolutionCachedImage) background).map( rv -> getAppIconImageCompositedOn(rv, rv.getWidth(null) / width)); return new IconUIResource(new ImageIcon(mrIconImage)); } BufferedImage iconImage = getAppIconImageCompositedOn(background, 1);
*** 304,330 **** } private static Image getNSIcon(String imageName) { Image icon = Toolkit.getDefaultToolkit() .getImage("NSImage://" + imageName); - - if (icon instanceof MultiResolutionImage) { return icon; } - int w = icon.getWidth(null); - int h = icon.getHeight(null); - - Dimension[] sizes = new Dimension[]{ - new Dimension(w, h), new Dimension(2 * w, 2 * h) - }; - - return new MultiResolutionBufferedImage(icon, sizes, (width, height) -> - AquaUtils.getCImageCreator().createImageFromName( - imageName, width, height)); - } - public static class NineSliceMetrics { public final int wCut, eCut, nCut, sCut; public final int minW, minH; public final boolean showMiddle, stretchH, stretchV; --- 302,314 ----