#91638 - createBufferedImage() and doMergeImages() usable in headless environment now
1.1 --- a/openide.util/src/org/openide/util/IconManager.java Mon Jan 01 13:24:31 2007 +0000
1.2 +++ b/openide.util/src/org/openide/util/IconManager.java Wed Jan 03 14:56:02 2007 +0000
1.3 @@ -20,11 +20,13 @@
1.4 package org.openide.util;
1.5
1.6 import java.awt.Component;
1.7 +import java.awt.HeadlessException;
1.8 import java.awt.Image;
1.9 import java.awt.MediaTracker;
1.10 import java.awt.Toolkit;
1.11 import java.awt.Transparency;
1.12 import java.awt.image.BufferedImage;
1.13 +import java.awt.image.ColorModel;
1.14 import java.awt.image.ImageObserver;
1.15 import java.lang.ref.SoftReference;
1.16 import java.util.HashMap;
1.17 @@ -340,9 +342,7 @@
1.18 boolean bitmask = (image1 instanceof Transparency) && ((Transparency)image1).getTransparency() != Transparency.TRANSLUCENT
1.19 && (image2 instanceof Transparency) && ((Transparency)image2).getTransparency() != Transparency.TRANSLUCENT;
1.20
1.21 - java.awt.image.ColorModel model = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment()
1.22 - .getDefaultScreenDevice().getDefaultConfiguration()
1.23 - .getColorModel(bitmask? Transparency.BITMASK: Transparency.TRANSLUCENT);
1.24 + ColorModel model = colorModel(bitmask? Transparency.BITMASK: Transparency.TRANSLUCENT);
1.25 java.awt.image.BufferedImage buffImage = new java.awt.image.BufferedImage(
1.26 model, model.createCompatibleWritableRaster(w, h), model.isAlphaPremultiplied(), null
1.27 );
1.28 @@ -361,15 +361,27 @@
1.29 return new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB_PRE);
1.30 }
1.31
1.32 - java.awt.image.ColorModel model = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment()
1.33 - .getDefaultScreenDevice().getDefaultConfiguration()
1.34 - .getColorModel(java.awt.Transparency.TRANSLUCENT);
1.35 + ColorModel model = colorModel(java.awt.Transparency.TRANSLUCENT);
1.36 java.awt.image.BufferedImage buffImage = new java.awt.image.BufferedImage(
1.37 model, model.createCompatibleWritableRaster(width, height), model.isAlphaPremultiplied(), null
1.38 );
1.39
1.40 return buffImage;
1.41 }
1.42 +
1.43 + static private ColorModel colorModel(int transparency) {
1.44 + ColorModel model;
1.45 + try {
1.46 + model = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment()
1.47 + .getDefaultScreenDevice().getDefaultConfiguration()
1.48 + .getColorModel(transparency);
1.49 + }
1.50 + catch(HeadlessException he) {
1.51 + model = ColorModel.getRGBdefault();
1.52 + }
1.53 +
1.54 + return model;
1.55 + }
1.56
1.57 /**
1.58 * Key used for composite images -- it holds image identities