⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fadetransition.java

📁 Sony Ericsson手机上的Facebook客户端全套代码
💻 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 + -