estimate its memory if its BufferedImage is a subimage of another
BufferedImage.
Include the amount of memory used by colorizations in ImageManager's cache
usage calculations.
Crank ImageManager's cache size up to 32 megs since a) it's actually seeing the
memory used by colorizations and b) the new seamonsters are pretty sizable.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@291 ed5b42cb-e716-0410-a449-f6a68f950b19
for what ultimately boils down adding this method to BundledComponentRepository:
@Override // from IMImageProvider
public Mirage getTileImage (String path, Rectangle bounds, Colorization[] zations)
{
// we don't need our images prepared for screen rendering
BufferedImage src = _imgr.getImage(getImageKey(path), zations);
if (bounds != null) {
src = src.getSubimage(bounds.x, bounds.y, bounds.width, bounds.height);
}
return new BufferedMirage(src);
}
So much fun to revisit code I wrote six years ago.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@283 ed5b42cb-e716-0410-a449-f6a68f950b19
things fail & attract attentino, rather than trying to work around it and printing
a stack trace that will likely go unnoticed amidst a slew of other build messages.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@273 ed5b42cb-e716-0410-a449-f6a68f950b19
for things like scales and rotates so 0,0 still meant the same place, but that
meant I couldn't just reposition something, since it would promptly undo the
transform I passed in.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@256 ed5b42cb-e716-0410-a449-f6a68f950b19
naturalOrder() which allows media to use a more consistent "same render order"
order resolution value than Object.hashCode().
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@248 ed5b42cb-e716-0410-a449-f6a68f950b19
inaccurate System.currentTimeMillis() timer. Fortuately Sun introduced
System.nanoTime() in 1.5 which provides civilized timing information, so we can
use that instead of sun.misc.Perf which is unavailable in an applet sandbox. We
will need to go in and try to cope as best we can with currentTimeMillis() if
we want to support unsigned play in JDK 1.4 or earlier. We'll do that later.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@231 ed5b42cb-e716-0410-a449-f6a68f950b19
to have to think about), but it's totally untested. That comes next!
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@115 ed5b42cb-e716-0410-a449-f6a68f950b19
Sprite/AnimationManager -> AbstractMediaManager.
A smidgen more progress on MediaOverlay, but we need to get these bits checked
in ASAP.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@114 ed5b42cb-e716-0410-a449-f6a68f950b19
render sprites and animations anywhere in the frame for those times when you
just need to draw outside the lines.
The actual MediaOverlay isn't done yet, but all the refactoring to support it
is done, so the rest should be easy. In theory this shouldn't break anything
(like the Yohoho build), but we're about to find out.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@112 ed5b42cb-e716-0410-a449-f6a68f950b19
I'd really prefer to put this in the sprite package, but putting it here means I don't have to publicize the willStart/willFinish/didFinish functions on Animation. I'm open to suggestions for better solutions to that one...
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@96 ed5b42cb-e716-0410-a449-f6a68f950b19
things properly if they do. Simply stealing our target sprite's _bounds will
not result in the necessary calls to addDirtyRegion() if they change due to
calls to setLocation() on our (now unmanaged) target sprite.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@89 ed5b42cb-e716-0410-a449-f6a68f950b19
and efficiently dirty old and new bounds when our bounds change.
git-svn-id: svn+ssh://src.earth.threerings.net/nenya/trunk@88 ed5b42cb-e716-0410-a449-f6a68f950b19