#pragma once #include #include 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