Allow image preparation to be turned off on a run by run basis
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@552 ed5b42cb-e716-0410-a449-f6a68f950b19
This commit is contained in:
@@ -44,6 +44,15 @@ public class ClientImageManager extends ImageManager
|
|||||||
_runCacheSize = cacheKilobytes;
|
_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)
|
public ClientImageManager (ResourceManager rmgr, OptimalImageCreator icreator)
|
||||||
{
|
{
|
||||||
super(rmgr, icreator);
|
super(rmgr, icreator);
|
||||||
@@ -75,7 +84,7 @@ public class ClientImageManager extends ImageManager
|
|||||||
src = getImage(key, zations);
|
src = getImage(key, zations);
|
||||||
bounds = new Rectangle(0, 0, src.getWidth(), src.getHeight());
|
bounds = new Rectangle(0, 0, src.getWidth(), src.getHeight());
|
||||||
|
|
||||||
} else if (!_prepareImages.getValue()) {
|
} else if (!_runPrepareImages) {
|
||||||
src = getImage(key, zations);
|
src = getImage(key, zations);
|
||||||
percentageOfDataBuffer =
|
percentageOfDataBuffer =
|
||||||
(bounds.width * bounds.height)/(float)(src.getHeight() * src.getWidth());
|
(bounds.width * bounds.height)/(float)(src.getHeight() * src.getWidth());
|
||||||
@@ -84,7 +93,7 @@ public class ClientImageManager extends ImageManager
|
|||||||
|
|
||||||
if (_runBlank.getValue()) {
|
if (_runBlank.getValue()) {
|
||||||
return new BlankMirage(bounds.width, bounds.height);
|
return new BlankMirage(bounds.width, bounds.height);
|
||||||
} else if (_prepareImages.getValue()) {
|
} else if (_runPrepareImages) {
|
||||||
return new CachedVolatileMirage(this, key, bounds, zations);
|
return new CachedVolatileMirage(this, key, bounds, zations);
|
||||||
} else {
|
} else {
|
||||||
return new BufferedMirage(src, percentageOfDataBuffer);
|
return new BufferedMirage(src, percentageOfDataBuffer);
|
||||||
@@ -107,6 +116,11 @@ public class ClientImageManager extends ImageManager
|
|||||||
"Cause image manager to optimize all images for display.",
|
"Cause image manager to optimize all images for display.",
|
||||||
"narya.media.image.prep_images", MediaPrefs.config, true);
|
"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. */
|
/** A debug toggle for running entirely without rendering images. */
|
||||||
protected static RuntimeAdjust.BooleanAdjust _runBlank = new RuntimeAdjust.BooleanAdjust(
|
protected static RuntimeAdjust.BooleanAdjust _runBlank = new RuntimeAdjust.BooleanAdjust(
|
||||||
"Cause image manager to return blank images.",
|
"Cause image manager to return blank images.",
|
||||||
|
|||||||
@@ -446,8 +446,7 @@ public class ImageUtil
|
|||||||
} else {
|
} else {
|
||||||
// otherwise composite them by rendering them with an alpha
|
// otherwise composite them by rendering them with an alpha
|
||||||
// rule
|
// rule
|
||||||
BufferedImage target = isrc.createImage(
|
BufferedImage target = isrc.createImage(wid, hei, Transparency.TRANSLUCENT);
|
||||||
wid, hei, Transparency.TRANSLUCENT);
|
|
||||||
Graphics2D g2 = target.createGraphics();
|
Graphics2D g2 = target.createGraphics();
|
||||||
try {
|
try {
|
||||||
g2.drawImage(mask, 0, 0, null);
|
g2.drawImage(mask, 0, 0, null);
|
||||||
@@ -484,8 +483,7 @@ public class ImageUtil
|
|||||||
// But it's something to consider)
|
// But it's something to consider)
|
||||||
|
|
||||||
// composite them by rendering them with an alpha rule
|
// composite them by rendering them with an alpha rule
|
||||||
BufferedImage target = isrc.createImage(
|
BufferedImage target = isrc.createImage(wid, hei, Transparency.TRANSLUCENT);
|
||||||
wid, hei, Transparency.TRANSLUCENT);
|
|
||||||
Graphics2D g2 = target.createGraphics();
|
Graphics2D g2 = target.createGraphics();
|
||||||
try {
|
try {
|
||||||
g2.setColor(Color.BLACK); // whatever, really
|
g2.setColor(Color.BLACK); // whatever, really
|
||||||
|
|||||||
Reference in New Issue
Block a user