void AbstractFrame::reset (Playback p) { StaticFramePlayback *sp = dynamic_cast<StaticFramePlayback*>(getPlayback(p)); sp->active = true; sp->repeatsDone = 0; sp->dewellStart.start(); }
size_t AbstractFrame::pos (Playback p) { #if 0 StaticFramePlayback *sp = dynamic_cast<StaticFramePlayback*>(getPlayback(p)); return (sp->active) ? 1 : 0; #endif }
void Float::paintEvent(QPaintEvent *e) { Painter p(this); p.setOpacity(_opacity); p.drawPixmap(0, 0, _shadow); if (!fillFrame() && _toggleCallback) { _toggleCallback(false); } auto inner = getInnerRect(); p.drawImage(inner.topLeft(), _frame); const auto playback = getPlayback(); const auto progress = playback ? playback->value(getms()) : 1.; if (progress > 0.) { auto pen = st::historyVideoMessageProgressFg->p; auto was = p.pen(); pen.setWidth(st::radialLine); pen.setCapStyle(Qt::RoundCap); p.setPen(pen); p.setOpacity(_opacity * st::historyVideoMessageProgressOpacity); auto from = QuarterArcLength; auto len = -qRound(FullArcLength * progress); auto stepInside = st::radialLine / 2; { PainterHighQualityEnabler hq(p); p.drawArc(inner.marginsRemoved(QMargins(stepInside, stepInside, stepInside, stepInside)), from, len); } //p.setPen(was); //p.setOpacity(_opacity); } }
FramePtr AbstractFrame::data(Playback p) { AbstractFramePlayback *sp = dynamic_cast<AbstractFramePlayback*>(getPlayback(p)); return FramePtr(); }