Allow resource urls that have a blank resource set specified to
load resources to load from the default sets. (A normal url would be "resource://<set>/<path>", one using the default set would be "resource:///<path>". Goofy.) git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3396 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: Handler.java,v 1.7 2004/08/27 02:20:34 mdb Exp $
|
// $Id$
|
||||||
//
|
//
|
||||||
// Narya library - tools for developing networked games
|
// Narya library - tools for developing networked games
|
||||||
// Copyright (C) 2002-2004 Three Rings Design, Inc., All Rights Reserved
|
// Copyright (C) 2002-2004 Three Rings Design, Inc., All Rights Reserved
|
||||||
@@ -30,6 +30,7 @@ import java.net.URLConnection;
|
|||||||
import java.net.URLStreamHandler;
|
import java.net.URLStreamHandler;
|
||||||
|
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
|
import javax.imageio.stream.ImageInputStream;
|
||||||
|
|
||||||
import com.samskivert.net.AttachableURLFactory;
|
import com.samskivert.net.AttachableURLFactory;
|
||||||
import com.samskivert.io.ByteArrayOutInputStream;
|
import com.samskivert.io.ByteArrayOutInputStream;
|
||||||
@@ -41,7 +42,8 @@ import com.samskivert.util.StringUtil;
|
|||||||
/**
|
/**
|
||||||
* This class is not used directly, except by a registering ResourceManager
|
* This class is not used directly, except by a registering ResourceManager
|
||||||
* so that we can load data from the resource manager using URLs of the form
|
* so that we can load data from the resource manager using URLs of the form
|
||||||
* <code>resource://<resourceSet>/<path></code>.
|
* <code>resource://<resourceSet>/<path></code>. ResourceSet may
|
||||||
|
* be the empty string to load from the default resource sets.
|
||||||
*/
|
*/
|
||||||
public class Handler extends URLStreamHandler
|
public class Handler extends URLStreamHandler
|
||||||
{
|
{
|
||||||
@@ -82,6 +84,8 @@ public class Handler extends URLStreamHandler
|
|||||||
String query = url.getQuery();
|
String query = url.getQuery();
|
||||||
if (!StringUtil.blank(query)) {
|
if (!StringUtil.blank(query)) {
|
||||||
_stream = getStream(bundle, path, query);
|
_stream = getStream(bundle, path, query);
|
||||||
|
} else if (StringUtil.blank(bundle)) {
|
||||||
|
_stream = _rmgr.getResource(path);
|
||||||
} else {
|
} else {
|
||||||
_stream = _rmgr.getResource(bundle, path);
|
_stream = _rmgr.getResource(bundle, path);
|
||||||
}
|
}
|
||||||
@@ -147,7 +151,10 @@ public class Handler extends URLStreamHandler
|
|||||||
|
|
||||||
// locate the tile image, then write that subimage back out in PNG
|
// locate the tile image, then write that subimage back out in PNG
|
||||||
// format into memory and return an input stream for that
|
// format into memory and return an input stream for that
|
||||||
BufferedImage src = ImageIO.read(_rmgr.getImageResource(bundle, path));
|
ImageInputStream stream =
|
||||||
|
StringUtil.blank(bundle) ? _rmgr.getImageResource(path)
|
||||||
|
: _rmgr.getImageResource(bundle, path);
|
||||||
|
BufferedImage src = ImageIO.read(stream);
|
||||||
Rectangle trect = GeomUtil.getTile(
|
Rectangle trect = GeomUtil.getTile(
|
||||||
src.getWidth(), src.getHeight(), width, height, tidx);
|
src.getWidth(), src.getHeight(), width, height, tidx);
|
||||||
BufferedImage tile = src.getSubimage(
|
BufferedImage tile = src.getSubimage(
|
||||||
|
|||||||
Reference in New Issue
Block a user