/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package webcamstudio.channels.transitions; import webcamstudio.streams.Stream; import webcamstudio.util.Tools; /** * * @author patrick (modified by karl) */ public class CornerShrink extends Transition{ public CornerShrink(Stream source){ super(source); } @Override protected void execute() { int x = channel.getX(); int y = channel.getY(); int newW = channel.getWidth(); int newH = channel.getHeight(); int deltaW = newW; int deltaH = newH; int rate = source.getRate(); int totalFrames = rate * 1; for (int i = 0; i<totalFrames;i++){ source.setWidth(newW - i*deltaW/totalFrames); source.setX(x + i*deltaW/totalFrames); source.setHeight(newH - i*deltaH/totalFrames); source.setY(y + i*deltaH/totalFrames); source.setOpacity(100 - i*100/totalFrames); Tools.sleep(1000/rate); } source.setX(x); source.setY(y); source.setWidth(newW); source.setHeight(newH); source.setOpacity(100); } }