Working multimonitor

This commit is contained in:
Cacodemon345
2022-07-04 01:50:42 +06:00
parent af3f2685e1
commit 7ab71cafd3
18 changed files with 165 additions and 52 deletions

View File

@@ -9,6 +9,7 @@
#include <memory>
class MediaMenu;
class RendererStack;
namespace Ui {
class MainWindow;
@@ -26,7 +27,7 @@ public:
void showMessage(const QString& header, const QString& message);
void getTitle(wchar_t* title);
void blitToWidget(int x, int y, int w, int h);
void blitToWidget(int x, int y, int w, int h, int monitor_index);
QSize getRenderWidgetSize();
void setSendKeyboardInput(bool enabled);
signals:
@@ -40,6 +41,10 @@ signals:
void updateStatusBarTip(int tag);
void updateMenuResizeOptions();
void updateWindowRememberOption();
void initRendererMonitor(int monitor_index);
void destroyRendererMonitor(int monitor_index);
void initRendererMonitorForNonQtThread(int monitor_index);
void destroyRendererMonitorForNonQtThread(int monitor_index);
void setTitle(const QString& title);
void setFullscreen(bool state);
@@ -51,6 +56,8 @@ public slots:
void showSettings();
void hardReset();
void togglePause();
void initRendererMonitorSlot(int monitor_index);
void destroyRendererMonitorSlot(int monitor_index);
private slots:
void on_actionFullscreen_triggered();
void on_actionSettings_triggered();
@@ -118,6 +125,7 @@ protected:
private:
Ui::MainWindow *ui;
std::unique_ptr<MachineStatus> status;
std::array<std::unique_ptr<RendererStack>, 8> renderers;
std::shared_ptr<MediaMenu> mm;
#ifdef Q_OS_MACOS