📄 fadetransition.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3)
// Source File Name: FadeTransition.java
package se.southend.drops.pixelfilter;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import se.southend.drops.screen.Device;
// Referenced classes of package se.southend.drops.pixelfilter:
// FadeFilter, Transition
public class FadeTransition
implements Transition
{
public FadeTransition(int duration)
{
this(null, null, duration, 0);
}
public FadeTransition(Image fromImage, Image toImage, int duration)
{
this(fromImage, toImage, duration, 0);
}
public FadeTransition(Image fromImage, Image toImage, int duration, int delay)
{
this.duration = duration;
fromFilter = new FadeFilter();
toFilter = new FadeFilter();
setImages(fromImage, toImage);
startTime = currentTime = Device.getTime() + (long)delay;
}
public int getTimePlayed()
{
return (int)(currentTime - startTime);
}
public void setTimePlayed(int time)
{
startTime = currentTime - (long)time;
}
public int getDuration()
{
return duration;
}
public boolean isFinished()
{
return startTime != 0L && currentTime - startTime >= (long)duration;
}
public void setImages(Image fromImage, Image toImage)
{
if(fromImage != null)
{
fromFilter.setImage(fromImage);
fromEnabled = true;
} else
{
fromEnabled = false;
}
if(toImage != null)
{
toFilter.setImage(toImage);
toEnabled = true;
} else
{
toEnabled = false;
}
}
public void setRGB(int fromRGB[], int fromWidth, int fromHeight, int toRGB[], int toWidth, int toHeight)
{
if(fromRGB != null)
{
fromFilter.setRGB(fromRGB, fromWidth, fromHeight);
fromEnabled = true;
} else
{
fromEnabled = false;
}
if(toRGB != null)
{
toFilter.setRGB(toRGB, toWidth, toHeight);
toEnabled = true;
} else
{
toEnabled = false;
}
}
public int getWidth()
{
return fromFilter.getWidth() <= toFilter.getWidth() ? toFilter.getWidth() : fromFilter.getWidth();
}
public int getHeight()
{
return fromFilter.getHeight() <= toFilter.getHeight() ? toFilter.getHeight() : fromFilter.getHeight();
}
public void paintAt(Graphics graphics, int x, int y)
{
currentTime = Device.getTime();
if(currentTime < startTime)
{
fromFilter.paintAt(graphics, x + (fromFilter.getWidth() >= toFilter.getWidth() ? 0 : toFilter.getWidth() - fromFilter.getWidth() >> 1), y + (fromFilter.getHeight() >= toFilter.getHeight() ? 0 : toFilter.getHeight() - fromFilter.getHeight() >> 1));
} else
{
int progress = 255;
if(!isFinished())
progress = (int)(currentTime - startTime << 8) / duration;
if(fromEnabled)
{
fromFilter.setAlpha(255 - progress);
fromFilter.paintAt(graphics, x + (fromFilter.getWidth() >= toFilter.getWidth() ? 0 : toFilter.getWidth() - fromFilter.getWidth() >> 1), y + (fromFilter.getHeight() >= toFilter.getHeight() ? 0 : toFilter.getHeight() - fromFilter.getHeight() >> 1));
}
if(toEnabled)
{
toFilter.setAlpha(progress);
toFilter.paintAt(graphics, x + (toFilter.getWidth() >= fromFilter.getWidth() ? 0 : fromFilter.getWidth() - toFilter.getWidth() >> 1), y + (toFilter.getHeight() >= fromFilter.getHeight() ? 0 : fromFilter.getHeight() - toFilter.getHeight() >> 1));
}
}
}
private FadeFilter fromFilter;
private FadeFilter toFilter;
private boolean fromEnabled;
private boolean toEnabled;
private long startTime;
private long currentTime;
private int duration;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -