#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();
}
}