Death, taxes and refactoring: seriously revamped the low-level media code

to handle scrolling in a much cleaner and happier way. There's now a
VirtualMediaPanel which operates in virtual coordinates and can be made to
"view" any location in those virtual coordinates. By changing the view,
the view can be scrolled and the view can be made to center on a pathable
(generally a sprite) which will cause it to scroll around as the pathable
moves around in the virtual coordinate space.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1475 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2002-06-18 22:25:33 +00:00
parent 4b29f806df
commit 7253a68c7c
10 changed files with 387 additions and 615 deletions
@@ -1,5 +1,5 @@
//
// $Id: LinePath.java,v 1.8 2002/06/12 01:11:55 mdb Exp $
// $Id: LinePath.java,v 1.9 2002/06/18 22:25:33 mdb Exp $
package com.threerings.media.util;
@@ -46,28 +46,6 @@ public class LinePath implements Path
_duration = duration;
}
/**
* Instructs this path to adjust itself when the view scrolls, or not.
* If the path scrolls with the view, it will adjust its starting and
* ending positions by the amount scrolled by the view so that they
* remain fixed relative to the scrolled view. If it doesn't they will
* remain the same regardless of whether the view scrolls.
*/
public void setScrollsWithView (boolean scrollsWithView)
{
_scrollsWithView = scrollsWithView;
}
// documentation inherited from interface
public void viewWillScroll (int dx, int dy)
{
// adjust our source and dest points if we're tracking the view
if (_scrollsWithView) {
_source.translate(-dx, -dy);
_dest.translate(-dx, -dy);
}
}
// documentation inherited
public void init (Pathable pable, long timestamp)
{
@@ -153,9 +131,4 @@ public class LinePath implements Path
/** The duration that we're to spend following the path. */
protected long _duration;
/** Whether or not we scroll along with the view (which we accomplish
* by scrolling our start and end positions when the view scrolls) or
* if we should leave our coordinates alone. */
protected boolean _scrollsWithView = true;
}