Apply stories fade in raster renderer.

This commit is contained in:
John Preston 2023-05-12 10:07:37 +04:00
parent 30871ed116
commit 0d3df824e3
3 changed files with 48 additions and 36 deletions

View File

@ -76,7 +76,7 @@ void OverlayWidget::RendererSW::paintTransformedVideoFrame(
return;
}
paintTransformedImage(_owner->videoFrame(), rect, rotation);
paintControlsFade(rect, geometry.controlsOpacity);
paintControlsFade(rect, geometry.controlsOpacity, geometry.fade);
}
void OverlayWidget::RendererSW::paintTransformedStaticContent(
@ -97,12 +97,19 @@ void OverlayWidget::RendererSW::paintTransformedStaticContent(
if (!image.isNull()) {
paintTransformedImage(image, rect, rotation);
}
paintControlsFade(rect, geometry.controlsOpacity);
paintControlsFade(rect, geometry.controlsOpacity, geometry.fade);
}
void OverlayWidget::RendererSW::paintControlsFade(
QRect geometry,
float64 opacity) {
float64 opacity,
float64 fullFade) {
if (fullFade > 0.) {
_p->setOpacity(fullFade);
_p->fillRect(geometry, Qt::black);
opacity *= 1. - fullFade;
}
_p->setOpacity(opacity);
_p->setClipRect(geometry);
const auto width = _owner->width();

View File

@ -33,7 +33,10 @@ private:
const QImage &image,
QRect rect,
int rotation);
void paintControlsFade(QRect geometry, float64 opacity);
void paintControlsFade(
QRect geometry,
float64 opacity,
float64 fullFade);
void paintRadialLoading(
QRect inner,
bool radial,

View File

@ -4011,10 +4011,12 @@ void OverlayWidget::storiesTogglePaused(bool paused) {
|| !_streamed->instance.player().active()) {
return;
} else if (_streamed->instance.player().paused()) {
if (!paused) {
_streamed->instance.resume();
updatePlaybackState();
playbackPauseMusic();
} else {
}
} else if (paused) {
_streamed->instance.pause();
updatePlaybackState();
}