Let our caller know if our fade level actually changed.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3427 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2005-03-24 04:50:52 +00:00
parent d54c776527
commit 5544701e5a
2 changed files with 17 additions and 10 deletions
@@ -54,9 +54,10 @@ public abstract class FadeAnimation extends Animation
// documentation inherited
public void tick (long timestamp)
{
_effect.tick(timestamp);
_finished = _effect.finished();
invalidate();
if (_effect.tick(timestamp)) {
_finished = _effect.finished();
invalidate();
}
}
// documentation inherited
@@ -52,18 +52,24 @@ public class FadeEffect
(_alpha >= _target) : (_alpha <= _target);
}
public void tick (long tickStamp)
public boolean tick (long tickStamp)
{
// figure out the current alpha
long msecs = tickStamp - _initStamp;
_alpha = _startAlpha + (msecs * _step);
if (_alpha < 0.0f) {
_alpha = 0.0f;
} else if (_alpha > 1.0f) {
_alpha = 1.0f;
float alpha = _startAlpha + (msecs * _step);
if (alpha < 0.0f) {
alpha = 0.0f;
} else if (alpha > 1.0f) {
alpha = 1.0f;
}
_comp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, _alpha);
if (_alpha != alpha) {
_alpha = alpha;
_comp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, _alpha);
return true;
}
return false;
}
public void beforePaint (Graphics2D gfx)