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

Print this page




  31 import java.lang.reflect.Method;
  32 import java.security.AccessController;
  33 import java.security.PrivilegedAction;
  34 import java.util.*;
  35 
  36 import javax.swing.*;
  37 import javax.swing.border.Border;
  38 import javax.swing.plaf.UIResource;
  39 
  40 import sun.awt.AppContext;
  41 
  42 import sun.lwawt.macosx.CImage;
  43 import sun.lwawt.macosx.CImage.Creator;
  44 import sun.lwawt.macosx.CPlatformWindow;
  45 import sun.misc.Launcher;
  46 import sun.reflect.misc.ReflectUtil;
  47 import sun.security.action.GetPropertyAction;
  48 import sun.swing.SwingUtilities2;
  49 
  50 import com.apple.laf.AquaImageFactory.SlicedImageControl;
  51 import sun.awt.image.MultiResolutionBufferedImage;
  52 
  53 final class AquaUtils {
  54 
  55     private static final String ANIMATIONS_PROPERTY = "swing.enableAnimations";
  56 
  57     /**
  58      * Suppresses default constructor, ensuring non-instantiability.
  59      */
  60     private AquaUtils() {
  61     }
  62 
  63     /**
  64      * Convenience function for determining ComponentOrientation.  Helps us
  65      * avoid having Munge directives throughout the code.
  66      */
  67     static boolean isLeftToRight(final Component c) {
  68         return c.getComponentOrientation().isLeftToRight();
  69     }
  70 
  71     static void enforceComponentOrientation(final Component c, final ComponentOrientation orientation) {


 107             @Override
 108             int getGreyFor(final int gray) {
 109                 return gray * 75 / 100;
 110             }
 111         });
 112         return Toolkit.getDefaultToolkit().createImage(prod);
 113     }
 114 
 115     static Image generateDisabledImage(final Image image) {
 116         final ImageProducer prod = new FilteredImageSource(image.getSource(), new IconImageFilter() {
 117             @Override
 118             int getGreyFor(final int gray) {
 119                 return 255 - ((255 - gray) * 65 / 100);
 120             }
 121         });
 122         return Toolkit.getDefaultToolkit().createImage(prod);
 123     }
 124 
 125     static Image generateLightenedImage(final Image image, final int percent) {
 126         final GrayFilter filter = new GrayFilter(true, percent);
 127         return (image instanceof MultiResolutionBufferedImage)
 128                 ? ((MultiResolutionBufferedImage) image).map(
 129                         rv -> generateLightenedImage(rv, filter))
 130                 : generateLightenedImage(image, filter);
 131     }
 132 
 133     static Image generateLightenedImage(Image image, ImageFilter filter) {
 134         final ImageProducer prod = new FilteredImageSource(image.getSource(), filter);
 135         return Toolkit.getDefaultToolkit().createImage(prod);
 136     }
 137 
 138     private abstract static class IconImageFilter extends RGBImageFilter {
 139         IconImageFilter() {
 140             super();
 141             canFilterIndexColorModel = true;
 142         }
 143 
 144         @Override
 145         public final int filterRGB(final int x, final int y, final int rgb) {
 146             final int red = (rgb >> 16) & 0xff;
 147             final int green = (rgb >> 8) & 0xff;
 148             final int blue = rgb & 0xff;




  31 import java.lang.reflect.Method;
  32 import java.security.AccessController;
  33 import java.security.PrivilegedAction;
  34 import java.util.*;
  35 
  36 import javax.swing.*;
  37 import javax.swing.border.Border;
  38 import javax.swing.plaf.UIResource;
  39 
  40 import sun.awt.AppContext;
  41 
  42 import sun.lwawt.macosx.CImage;
  43 import sun.lwawt.macosx.CImage.Creator;
  44 import sun.lwawt.macosx.CPlatformWindow;
  45 import sun.misc.Launcher;
  46 import sun.reflect.misc.ReflectUtil;
  47 import sun.security.action.GetPropertyAction;
  48 import sun.swing.SwingUtilities2;
  49 
  50 import com.apple.laf.AquaImageFactory.SlicedImageControl;
  51 import sun.awt.image.MultiResolutionCachedImage;
  52 
  53 final class AquaUtils {
  54 
  55     private static final String ANIMATIONS_PROPERTY = "swing.enableAnimations";
  56 
  57     /**
  58      * Suppresses default constructor, ensuring non-instantiability.
  59      */
  60     private AquaUtils() {
  61     }
  62 
  63     /**
  64      * Convenience function for determining ComponentOrientation.  Helps us
  65      * avoid having Munge directives throughout the code.
  66      */
  67     static boolean isLeftToRight(final Component c) {
  68         return c.getComponentOrientation().isLeftToRight();
  69     }
  70 
  71     static void enforceComponentOrientation(final Component c, final ComponentOrientation orientation) {


 107             @Override
 108             int getGreyFor(final int gray) {
 109                 return gray * 75 / 100;
 110             }
 111         });
 112         return Toolkit.getDefaultToolkit().createImage(prod);
 113     }
 114 
 115     static Image generateDisabledImage(final Image image) {
 116         final ImageProducer prod = new FilteredImageSource(image.getSource(), new IconImageFilter() {
 117             @Override
 118             int getGreyFor(final int gray) {
 119                 return 255 - ((255 - gray) * 65 / 100);
 120             }
 121         });
 122         return Toolkit.getDefaultToolkit().createImage(prod);
 123     }
 124 
 125     static Image generateLightenedImage(final Image image, final int percent) {
 126         final GrayFilter filter = new GrayFilter(true, percent);
 127         return (image instanceof MultiResolutionCachedImage)
 128                 ? ((MultiResolutionCachedImage) image).map(
 129                         rv -> generateLightenedImage(rv, filter))
 130                 : generateLightenedImage(image, filter);
 131     }
 132 
 133     static Image generateLightenedImage(Image image, ImageFilter filter) {
 134         final ImageProducer prod = new FilteredImageSource(image.getSource(), filter);
 135         return Toolkit.getDefaultToolkit().createImage(prod);
 136     }
 137 
 138     private abstract static class IconImageFilter extends RGBImageFilter {
 139         IconImageFilter() {
 140             super();
 141             canFilterIndexColorModel = true;
 142         }
 143 
 144         @Override
 145         public final int filterRGB(final int x, final int y, final int rgb) {
 146             final int red = (rgb >> 16) & 0xff;
 147             final int green = (rgb >> 8) & 0xff;
 148             final int blue = rgb & 0xff;