rpcsx/rpcs3qt-legacy/video_label.cpp
2025-04-06 23:55:46 +03:00

52 lines
821 B
C++

#include "stdafx.h"
#include "video_label.h"
video_label::video_label(QWidget* parent)
: QLabel(parent), qt_video_source()
{
}
video_label::~video_label()
{
}
void video_label::set_thumbnail(const QPixmap& pxmap)
{
m_current_pixmap = pxmap;
}
void video_label::set_active(bool active)
{
if (active)
{
set_image_change_callback([this](const QVideoFrame& frame)
{
if (const QPixmap pixmap = get_movie_image(frame); get_active() && !pixmap.isNull())
{
setPixmap(pixmap);
}
});
start_movie();
}
else
{
set_image_change_callback({});
stop_movie();
setPixmap(m_current_pixmap);
}
}
void video_label::enterEvent(QEnterEvent* event)
{
set_active(true);
QLabel::enterEvent(event);
}
void video_label::leaveEvent(QEvent* event)
{
set_active(false);
QLabel::leaveEvent(event);
}