diff --git a/src/java/com/threerings/media/image/ClientImageManager.java b/src/java/com/threerings/media/image/ClientImageManager.java index ce32d9f6..85e132e7 100644 --- a/src/java/com/threerings/media/image/ClientImageManager.java +++ b/src/java/com/threerings/media/image/ClientImageManager.java @@ -44,6 +44,15 @@ public class ClientImageManager extends ImageManager _runCacheSize = cacheKilobytes; } + /** + * Sets if images should be recreated in the graphics context's preferred format before + * rendering. This must be called before the ImageManager is created. + */ + public static void setPrepareImages (boolean prepareImages) + { + _runPrepareImages = prepareImages; + } + public ClientImageManager (ResourceManager rmgr, OptimalImageCreator icreator) { super(rmgr, icreator); @@ -75,7 +84,7 @@ public class ClientImageManager extends ImageManager src = getImage(key, zations); bounds = new Rectangle(0, 0, src.getWidth(), src.getHeight()); - } else if (!_prepareImages.getValue()) { + } else if (!_runPrepareImages) { src = getImage(key, zations); percentageOfDataBuffer = (bounds.width * bounds.height)/(float)(src.getHeight() * src.getWidth()); @@ -84,7 +93,7 @@ public class ClientImageManager extends ImageManager if (_runBlank.getValue()) { return new BlankMirage(bounds.width, bounds.height); - } else if (_prepareImages.getValue()) { + } else if (_runPrepareImages) { return new CachedVolatileMirage(this, key, bounds, zations); } else { return new BufferedMirage(src, percentageOfDataBuffer); @@ -107,6 +116,11 @@ public class ClientImageManager extends ImageManager "Cause image manager to optimize all images for display.", "narya.media.image.prep_images", MediaPrefs.config, true); + /** + * If images should be prepared for the graphics context in this run. + */ + protected static boolean _runPrepareImages = _prepareImages.getValue(); + /** A debug toggle for running entirely without rendering images. */ protected static RuntimeAdjust.BooleanAdjust _runBlank = new RuntimeAdjust.BooleanAdjust( "Cause image manager to return blank images.", diff --git a/src/java/com/threerings/media/image/ImageUtil.java b/src/java/com/threerings/media/image/ImageUtil.java index 7cd82753..0e77a03d 100644 --- a/src/java/com/threerings/media/image/ImageUtil.java +++ b/src/java/com/threerings/media/image/ImageUtil.java @@ -446,8 +446,7 @@ public class ImageUtil } else { // otherwise composite them by rendering them with an alpha // rule - BufferedImage target = isrc.createImage( - wid, hei, Transparency.TRANSLUCENT); + BufferedImage target = isrc.createImage(wid, hei, Transparency.TRANSLUCENT); Graphics2D g2 = target.createGraphics(); try { g2.drawImage(mask, 0, 0, null); @@ -484,8 +483,7 @@ public class ImageUtil // But it's something to consider) // composite them by rendering them with an alpha rule - BufferedImage target = isrc.createImage( - wid, hei, Transparency.TRANSLUCENT); + BufferedImage target = isrc.createImage(wid, hei, Transparency.TRANSLUCENT); Graphics2D g2 = target.createGraphics(); try { g2.setColor(Color.BLACK); // whatever, really