/*
* Copyright (c) 2010-2016, Sikuli.org, sikulix.com
* Released under the MIT License.
*
*/
package org.sikuli.ide;
import java.awt.image.*;
import java.util.Date;
public class LoadingSpinner {
protected GifDecoder _gif;
protected long _start_t = 0;
protected int _curFrame_i = 0;
protected BufferedImage _curFrame = null;
public LoadingSpinner(){
_gif = new GifDecoder();
_gif.read(getClass().getResourceAsStream("/icons/loading.gif"));
_curFrame = _gif.getFrame(0);
}
public BufferedImage getFrame(){
int delay = _gif.getDelay(_curFrame_i);
long now = (new Date()).getTime();
if(now - _start_t >= delay){
_start_t = now;
_curFrame_i = (_curFrame_i+1) % _gif.getFrameCount();
_curFrame = _gif.getFrame(_curFrame_i);
}
return _curFrame;
}
}