Files
qt5-legatus-legacy/Lts/Common/LtsMultiMonitor/lts_dummy_widget.h
T
2026-08-13 18:33:10 +02:00

56 lines
1.4 KiB
C++
Executable File

#pragma once
#include <LtsMultiMonitor/lts_multi_monitor_export.h>
#include <QWidget>
class QEvent;
namespace LtsMultiMonitor
{
class LTSMULTIMONITOR_EXPORT SecondaryWidget : public QWidget
{
Q_OBJECT
public:
SecondaryWidget() = default;
virtual ~SecondaryWidget() = default;
};
/**
* @brief The FullscreenVideoDummyWidget class provides a widget which obtains a whole screen in the MMM.
* A foreign application's window can be placed on this position. If the dummy widget gets
* replaced by another widget of the OpApp, then the FullscreenVideoDummyWidget gets destroyed and the
* foreign application's window *must* be closed.
* Do not destroy the FullscreenVideoDummyWidget yourself unless you want to free the screen space in the
* MMM again.
*
* Listen to signalWidgetPlaced and set your foreign application's window to globalGeometry.
* Listen to destroyed to close your foreign application's window as that window was replaced
* by the MMM.
*
* Does not work in tablet mode.
*/
class LTSMULTIMONITOR_EXPORT FullscreenVideoDummyWidget : public SecondaryWidget
{
Q_OBJECT
public:
FullscreenVideoDummyWidget();
void hideVideo();
void showVideo();
protected:
bool event(QEvent *);
signals:
void signalWidgetPlaced(const QRect &globalGeometry);
void signalHideVideo();
void signalShowVideo();
};
} // namespace LtsMultiMonitor