package gui.forms;

import java.util.Random;

import com.trolltech.qt.core.QTimer;
import com.trolltech.qt.gui.*;

public class ImgTest extends QWidget {
	private QImage image;
       
    public ImgTest() {        
		resize(130, 130);
    }

    @Override
	protected void paintEvent(QPaintEvent pe) {
    	if( (image == null) )
    		return;
        QPainter painter = new QPainter(this);
        painter.drawImage(0, 0, image);
        painter.end();
	}

    public void endless() {
		Random rand      = new Random();
       	long cnt         = 0;
       	byte[] imgRgbBuf = new byte[(128 * 128) << 2];
       	while( true ) {
       		for(int i = 0; i < imgRgbBuf.length; i++) imgRgbBuf[i] = 0;
       		int idx = rand.nextInt(((128 * 128) << 2) - 4);
       		imgRgbBuf[idx]   = -1; // red
       		imgRgbBuf[idx+1] = -1; // green
       		imgRgbBuf[idx+2] = -1; // blue
     		image = new QImage(imgRgbBuf, 128, 128, QImage.Format.Format_RGB32);
      		setWindowTitle(Long.toString(cnt++));
      		update();
            QApplication.processEvents();
       	}    	
    }    
    
    public static void main(String[] args) {
        QApplication.initialize(args);
        ImgTest testImg = new ImgTest();
        testImg.show();
       	QTimer.singleShot(1000, testImg, "endless()");
       	QApplication.exec();
    }
}
