#include "widget.h"
#include <QPainter>
#include <cmath>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
startTimer(40);
}
Widget::~Widget()
{
}
void Widget::paintEvent(QPaintEvent *event)
{
QPainter p(this);
p.setRenderHint(QPainter::Antialiasing);
double w, h, left, top;
const auto p=4./3;
if (width() < r*height()){
//b
w = width();
h = w/r;
left = 0;
top = (height() - h)/2
}
else{
//a
h = hight();
w = h*r;
left = (width() - w)/2
top = 0;
}
auto blackRadius = 0.1*h+m_time*100;
if (blackRadius <h)
{
p.setPen(Qt::NoPen);
p.setBrush(Qt::black);
QPointF blackCenter (left+0.5*w, top+0.5*h);
p.drawEllipse(blackCenter, blackRadius, blackRadius);
}
else {
auto darkGrayRadius = 0.1*h+m_time*100;
p.setPen(Qt::NoPen);
p.setBrush(Qt::darkGray);
QPointF darkGrayCenter (left+0.5*w, top+0.5*h);
p.drawEllipse(darkGrayCenter, darkGrayRadius, darkGrayRadius);
}
}
void Widget::timerEvent(QTimerEvent *)
{
autodt=40/1000.;
m_time +=dt;
update();
}
I2luY2x1ZGUgIndpZGdldC5oIgojaW5jbHVkZSA8UVBhaW50ZXI+CiNpbmNsdWRlIDxjbWF0aD4KCldpZGdldDo6V2lkZ2V0KFFXaWRnZXQgKnBhcmVudCkKICAgIDogUVdpZGdldChwYXJlbnQpCnsKICAgIHN0YXJ0VGltZXIoNDApOwp9CgpXaWRnZXQ6On5XaWRnZXQoKQp7Cgp9CnZvaWQgV2lkZ2V0OjpwYWludEV2ZW50KFFQYWludEV2ZW50ICpldmVudCkKewogICAgUVBhaW50ZXIgcCh0aGlzKTsKICAgIHAuc2V0UmVuZGVySGludChRUGFpbnRlcjo6QW50aWFsaWFzaW5nKTsKICAgIGRvdWJsZSB3LCBoLCBsZWZ0LCB0b3A7CiAgICBjb25zdCBhdXRvIHA9NC4vMzsKICAgIGlmICh3aWR0aCgpIDwgcipoZWlnaHQoKSl7CiAgICAgICAgLy9iCiAgICAgICAgdyA9IHdpZHRoKCk7CiAgICAgICAgaCA9IHcvcjsKICAgICAgICBsZWZ0ID0gMDsKICAgICAgICB0b3AgPSAoaGVpZ2h0KCkgLSBoKS8yCiAgICB9CiAgICBlbHNlewogICAgICAgIC8vYQogICAgICAgIGggPSBoaWdodCgpOwogICAgICAgIHcgPSBoKnI7CiAgICAgICAgbGVmdCA9ICh3aWR0aCgpIC0gdykvMgogICAgICAgIHRvcCA9IDA7CiAgICB9CiAgICBhdXRvIGJsYWNrUmFkaXVzID0gMC4xKmgrbV90aW1lKjEwMDsKICAgIGlmIChibGFja1JhZGl1cyA8aCkKICAgIHsKICAgICAgICBwLnNldFBlbihRdDo6Tm9QZW4pOwogICAgICAgIHAuc2V0QnJ1c2goUXQ6OmJsYWNrKTsKICAgICAgICBRUG9pbnRGIGJsYWNrQ2VudGVyIChsZWZ0KzAuNSp3LCB0b3ArMC41KmgpOwogICAgICAgIHAuZHJhd0VsbGlwc2UoYmxhY2tDZW50ZXIsIGJsYWNrUmFkaXVzLCBibGFja1JhZGl1cyk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBhdXRvIGRhcmtHcmF5UmFkaXVzID0gMC4xKmgrbV90aW1lKjEwMDsKICAgICAgICBwLnNldFBlbihRdDo6Tm9QZW4pOwogICAgICAgIHAuc2V0QnJ1c2goUXQ6OmRhcmtHcmF5KTsKICAgICAgICBRUG9pbnRGIGRhcmtHcmF5Q2VudGVyIChsZWZ0KzAuNSp3LCB0b3ArMC41KmgpOwogICAgICAgIHAuZHJhd0VsbGlwc2UoZGFya0dyYXlDZW50ZXIsIGRhcmtHcmF5UmFkaXVzLCBkYXJrR3JheVJhZGl1cyk7CiAgICB9Cn0KCnZvaWQgV2lkZ2V0Ojp0aW1lckV2ZW50KFFUaW1lckV2ZW50ICopCnsKICAgIGF1dG9kdD00MC8xMDAwLjsKICAgIG1fdGltZSArPWR0Owp1cGRhdGUoKTsKfQo=