Qt: Move EmuThread ownership from render window to main window.

This commit is contained in:
bunnei 2015-04-16 18:35:09 -04:00
parent 4d30edc11e
commit 762c1a9ff5
6 changed files with 57 additions and 69 deletions

View file

@ -14,6 +14,7 @@ class QScreen;
class QKeyEvent;
class GRenderWindow;
class GMainWindow;
class EmuThread : public QThread
{
@ -67,7 +68,7 @@ public slots:
void Stop();
private:
friend class GRenderWindow;
friend class GMainWindow;
EmuThread(GRenderWindow* render_window);
@ -100,10 +101,7 @@ class GRenderWindow : public QWidget, public EmuWindow
Q_OBJECT
public:
GRenderWindow(QWidget* parent = NULL);
~GRenderWindow();
void closeEvent(QCloseEvent*) override;
GRenderWindow(QWidget* parent, GMainWindow& main_window);
// EmuWindow implementation
void SwapBuffers() override;
@ -116,8 +114,6 @@ public:
void restoreGeometry(const QByteArray& geometry); // overridden
QByteArray saveGeometry(); // overridden
EmuThread& GetEmuThread();
void keyPressEvent(QKeyEvent* event) override;
void keyReleaseEvent(QKeyEvent* event) override;
@ -139,10 +135,10 @@ private:
QGLWidget* child;
EmuThread emu_thread;
QByteArray geometry;
GMainWindow& main_window;
/// Device id of keyboard for use with KeyMap
int keyboard_id;
};