mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-01-20 15:40:30 +01:00
52 lines
821 B
C++
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);
|
|
}
|