Now supports loading icons from resource bundles.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1814 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2002-10-17 17:43:21 +00:00
parent 3ec6f9301c
commit 3ee6e84676
+21 -3
View File
@@ -1,5 +1,5 @@
// //
// $Id: IconManager.java,v 1.2 2002/05/06 18:08:32 mdb Exp $ // $Id: IconManager.java,v 1.3 2002/10/17 17:43:21 mdb Exp $
package com.threerings.media; package com.threerings.media;
@@ -76,6 +76,15 @@ public class IconManager
_config = config; _config = config;
} }
/**
* If icon images should be loaded from a set of resource bundles
* rather than the classpath, that set can be set here.
*/
public void setSource (String resourceSet)
{
_rsrcSet = resourceSet;
}
/** /**
* Fetches the icon with the specified index from the named icon set. * Fetches the icon with the specified index from the named icon set.
*/ */
@@ -104,8 +113,13 @@ public class IconManager
} }
// load up the tileset // load up the tileset
set = _tilemgr.loadTileSet( if (_rsrcSet == null) {
path, metrics[0], metrics[1], metrics[2]); set = _tilemgr.loadTileSet(
path, metrics[0], metrics[1], metrics[2]);
} else {
set = _tilemgr.loadTileSet(
_rsrcSet, path, metrics[0], metrics[1], metrics[2]);
}
// cache it // cache it
_icons.put(iconSet, set); _icons.put(iconSet, set);
@@ -132,6 +146,10 @@ public class IconManager
/** Our configuration information. */ /** Our configuration information. */
protected Properties _config; protected Properties _config;
/** The resource bundle from which we load icon images, or null if
* they should be loaded from the classpath. */
protected String _rsrcSet;
/** A cache of our icon tilesets. TODO: use a real LRU cache instead /** A cache of our icon tilesets. TODO: use a real LRU cache instead
* of a hash map. */ * of a hash map. */
protected HashMap _icons = new HashMap(); protected HashMap _icons = new HashMap();