Commit Graph

71 Commits

Author SHA1 Message Date
Walter Korman 7acc400904 Added toString().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1917 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-06 00:05:16 +00:00
Michael Bayne 10c2251bdb This is tricky business; we need to be more careful about how we handle
animations triggered on the completion of previous animations so as not to
booch things if a triggered animation is queued up after all previous
animations have already been started.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1916 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-05 23:56:35 +00:00
Michael Bayne 562111a95d Better debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1915 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-05 21:53:56 +00:00
Michael Bayne 07ee41afef Whoops! Didn't finish the job prior to that last checkin.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1914 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-05 21:29:00 +00:00
Michael Bayne b24800922a Changed addAnimation() to startAnimation(), made it protected. Removed
getAnimationCount() because it's no longer valid.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1913 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-05 21:27:49 +00:00
Michael Bayne 913264c225 Documentation cleanup; removed vestigal _lastidx.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1912 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-05 21:23:55 +00:00
Michael Bayne f3fd0744ec Further clean up. We love helper classes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1911 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-05 21:17:32 +00:00
Michael Bayne da1119b61a Cleaned up and robustified. There were issues.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1910 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-05 21:12:55 +00:00
Michael Bayne 3eba0dcf13 Animation sequencer revamp: animations can be added incrementally;
animations can be cued on the completion of the previous animation;
runnables can be provided for invocation upon animation completion or
in place of an animation in the chain.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1907 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-05 20:53:53 +00:00
Michael Bayne 400b8ca638 Use ObserverList; provide timestamp to animation events.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1905 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-05 20:51:50 +00:00
Michael Bayne 144cf2299a Provide a timestamp with animation events.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1904 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-05 20:51:13 +00:00
Ray Greenwell a0730067ec Pulled out gobs of Sprite/Animation functionality into AbstractMedia.
Pulled out gobs of SpriteManager/AnimationManager functionality into
  AbstractMediaManager.
The big change: sprites can have their render order fine-tuned like
animations.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1787 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-08 21:03:37 +00:00
Walter Korman 09a2f8e950 Initialize the animation starting time when the animation is first ticked
rather than requiring that it be set via setStartTime().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1764 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-01 04:24:34 +00:00
Walter Korman 5af9b4ac19 Initial version of an animation that allows adding animations sequentially
with a specifiable delay between each.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1762 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-30 06:30:47 +00:00
Walter Korman 03b1dbe90d Fixed the smallest typo in javadoc.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1761 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-30 06:18:46 +00:00
Ray Greenwell 0a503148df if the sequencer is an AnimationFrameSequencer, let it know about us.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1732 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-20 21:37:22 +00:00
Ray Greenwell aa715a6a5a AnimationFrameSequencer is a FrameSequencer that wants to know about
the Animation it's working for.
The enclosed MultiFunciton sequencer can do all sorts of neat stuff.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1731 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-20 21:36:53 +00:00
Ray Greenwell e790f98774 an AnimationEvent that indicates that a particular frame or frame sequence
index has been reached.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1729 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-20 21:35:11 +00:00
Michael Bayne c1667c3782 Animation manager now takes into account fine grained render order when
rendering animations.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1728 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-20 21:28:20 +00:00
Michael Bayne 70b2f7f494 Slightly less expensive jockeying to ensure that we do the right thing
when starting up and being told to switch to frame zero.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1706 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-17 22:18:42 +00:00
Ray Greenwell bed0c21515 make sure to paint the first frame when starting an animation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1705 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-17 22:06:26 +00:00
Ray Greenwell 2d93950835 stop when we get to the end.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1703 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-17 21:58:12 +00:00
Michael Bayne fc261655b3 Created an animation that can be used to display a simple sequence of
frames.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1696 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-17 20:08:21 +00:00
Michael Bayne 2e7fd00214 Added setLocation() and reset().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1694 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-17 20:06:58 +00:00
Walter Korman 153497686f Added addAnimations(Animation[]).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1662 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-23 23:18:14 +00:00
Walter Korman b4d997a8df Perform actual rectangle intersection to determine whether a chunk is
still visible within the animation bounds.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1649 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-19 21:08:51 +00:00
Walter Korman 2ed4b6e0c4 Oops; fixed incorrectly placed try/catch.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1646 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-15 20:56:08 +00:00
Walter Korman ec765c0258 Minor optimization and cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1645 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-15 20:53:50 +00:00
Walter Korman f0113d4916 Catch exceptions while rendering animations so that we can report the
animation at fault.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1644 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-15 20:53:24 +00:00
Walter Korman c4943a40f8 If a time delay is specified, fade out the chunks as time elapses.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1625 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-31 23:33:46 +00:00
Walter Korman 4acd5fcfdd Added convenience class for observing animations and being notified when
each individual animation completes and when all added animations have
completed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1381 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-21 17:59:11 +00:00
Walter Korman bd6146292f Restore the original clip only after we've un-translated the graphics
context.  Minor reformatting and enhanced toString().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1352 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-09 04:42:10 +00:00
Michael Bayne 23d170c83e Added support for pausing a media panel which pauses all sprites and
animations currently operating therein. (It doesn't pause scrolling which
I suppose I'll have to fix at some point if we ever need it.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1292 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-25 16:23:31 +00:00
Michael Bayne cc6a9d00ef Major low-level rendering rethink. There will be much follow-on cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1286 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-23 01:16:28 +00:00
Michael Bayne b4d50d0843 Fixed bug where last render time was being used where last scroll time was
needed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1279 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-18 22:38:24 +00:00
Michael Bayne 06f8a68b56 Moved RandomUtil from media.util to util.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1248 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-15 18:18:20 +00:00
Michael Bayne a88799d4a1 Scroll fiddling! We no longer set a desired x and y velocity directly,
instead we say that we want to scroll by a certain amount in a certain
amount of time. This allows the animated panel (who knows about this
stuff) to figure out when to stop scrolling without overshooting by a
pixel or two.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1244 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-15 17:46:41 +00:00
Michael Bayne 20e39601c8 Changed AnimatedPanel to a JComponent from a Canvas because we no longer
need to extend the latter.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1207 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-06 04:49:43 +00:00
Walter Korman b3eebe2081 Added ability to render animations in two distinct layers; added mechanism
whereby animations can clean up after themselves.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1130 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-16 03:11:23 +00:00
Walter Korman 9c54e55fde Fixed typo that broke the build. Egads!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1120 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-14 21:09:01 +00:00
Walter Korman 84c0bd70cd Add a copy of the bounds rectangle when invalidated since it may be
destructively modified by the animation manager.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1118 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-12 22:54:16 +00:00
Michael Bayne ad5a5c4e6d Added (and commented out) some handy debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1099 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-08 01:37:51 +00:00
Michael Bayne 137e9e9ea8 Revampola! Moved the code that handles viewport offset into the animated
panel; restructured things so everyone deals with "view" coordinates
rather than screen coordinates and the animated panel takes care of doing
the final translation before rendering.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1065 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-21 06:01:29 +00:00
Michael Bayne 2e6c813bd6 Pass the current time stamp to viewWillScroll().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1063 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-21 00:20:22 +00:00
Michael Bayne d869e1168e Let our sprite manager know when we scroll; modified the rendering such
that scrolled views are copied to the display in their entirety instead of
just updating the dirtied regions (because we can't scroll the visible
screen buffer and then paint on top of it because the user will see things
in an intermediate stage).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1046 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 19:56:49 +00:00
Michael Bayne 3e68fd8994 Clear out our back buffer when we're validated (as we probably changed
sizes).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1037 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 07:19:04 +00:00
Michael Bayne 7db44c5ee3 Let the animated panel handle invalidating the regions exposed by
scrolling so that it can do so with the actual dimensions of the panel
(the scene view only knows how big its model wants to be). Changed
scrollView to viewWillScroll to more accurately reflect what's going on.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1036 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 05:03:17 +00:00
Michael Bayne f2f6407c1e Need to account for negative scrolling deltas.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1034 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 04:45:14 +00:00
Michael Bayne a6f63ee873 Need to set the absolute value of the velocity.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1030 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 03:57:30 +00:00
Michael Bayne 3125782a15 Modifications to get scrolling working again. It's a bit smoother, but
we can do better.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1026 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-19 01:42:28 +00:00