#include <QPainter>
#include <QSound>
#include "intro.h"


Intro::Intro(QWidget *parent) : QWidget(parent)
{
	resize(800,480);
	frame = 0;
	timerId = startTimer(10);
	QSound::play("sounds/Startup.wav");
}


Intro::~Intro()
{

}


void Intro::paintEvent(QPaintEvent *pe)
{
	if (frame < 80) {
		QPainter p(this);
		p.setPen(Qt::NoPen);
		p.setBrush(QColor(frame*3,frame*3,frame*3));
		p.drawRect(0,0,800,480);
	} else if (frame < 160) {
		QPainter p(this);
		p.setPen(Qt::NoPen);
		p.setBrush(QColor(255,255,255));
		p.drawRect(0,0,800,480);
		p.drawPixmap(365,230-frame/2,QPixmap("pics/logo.png"));
	} else if (frame < 300) {
		QPainter p(this);
		p.setPen(Qt::NoPen);
		p.setBrush(QColor(255,255,255));
		p.drawRect(0,0,800,480);
		p.drawPixmap(365,230-80,QPixmap("pics/logo.png"));
		p.setOpacity((frame-160)/80.0);
		p.setPen(QColor(64,32,64));
		p.setFont(QFont("NeuStyle", 16));
		p.drawText(340,280,"InvertedLogic");
	} else {
		QPainter p(this);
		p.setOpacity((380-frame)/80.0);
		p.setPen(Qt::NoPen);
		p.setBrush(QColor(255,255,255));
		p.drawRect(0,0,800,480);
		p.drawPixmap(365,230-80,QPixmap("pics/logo.png"));
		p.setPen(QColor(64,32,64));
		p.setFont(QFont("NeuStyle", 16));
		p.drawText(340,280,"InvertedLogic");
	}
}


void Intro::timerEvent(QTimerEvent *te)
{
	update();
	frame++;
#define ENABLE_INTRO_ANIMATION		1
#if defined(ENABLE_INTRO_ANIMATION)
	if (frame == 300) {
		emit setStage(-2);
	}
	if (frame > 380) {
#else
	if (frame > 0) {
//		emit setStage(-2);
#endif
		killTimer(timerId);
		hide();
	}
}

