aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/citra_qt/CMakeLists.txt2
-rw-r--r--src/citra_qt/debugger/graphics_breakpoint_observer.cpp32
-rw-r--r--src/citra_qt/debugger/graphics_breakpoint_observer.h33
-rw-r--r--src/citra_qt/debugger/graphics_framebuffer.cpp27
-rw-r--r--src/citra_qt/debugger/graphics_framebuffer.h24
5 files changed, 68 insertions, 50 deletions
diff --git a/src/citra_qt/CMakeLists.txt b/src/citra_qt/CMakeLists.txt
index bbc521f8..dbeb7c4c 100644
--- a/src/citra_qt/CMakeLists.txt
+++ b/src/citra_qt/CMakeLists.txt
@@ -8,6 +8,7 @@ set(SRCS
debugger/callstack.cpp
debugger/disassembler.cpp
debugger/graphics.cpp
+ debugger/graphics_breakpoint_observer.cpp
debugger/graphics_breakpoints.cpp
debugger/graphics_cmdlists.cpp
debugger/graphics_framebuffer.cpp
@@ -27,6 +28,7 @@ set(HEADERS
debugger/callstack.h
debugger/disassembler.h
debugger/graphics.h
+ debugger/graphics_breakpoint_observer.h
debugger/graphics_breakpoints.h
debugger/graphics_breakpoints_p.h
debugger/graphics_cmdlists.h
diff --git a/src/citra_qt/debugger/graphics_breakpoint_observer.cpp b/src/citra_qt/debugger/graphics_breakpoint_observer.cpp
new file mode 100644
index 00000000..10ac1eba
--- /dev/null
+++ b/src/citra_qt/debugger/graphics_breakpoint_observer.cpp
@@ -0,0 +1,32 @@
+// Copyright 2014 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include <QMetaType>
+
+#include "graphics_breakpoint_observer.h"
+
+BreakPointObserverDock::BreakPointObserverDock(std::shared_ptr<Pica::DebugContext> debug_context,
+ const QString& title, QWidget* parent)
+ : QDockWidget(title, parent), BreakPointObserver(debug_context)
+{
+ qRegisterMetaType<Pica::DebugContext::Event>("Pica::DebugContext::Event");
+
+ connect(this, SIGNAL(Resumed()), this, SLOT(OnResumed()));
+
+ // NOTE: This signal is emitted from a non-GUI thread, but connect() takes
+ // care of delaying its handling to the GUI thread.
+ connect(this, SIGNAL(BreakPointHit(Pica::DebugContext::Event,void*)),
+ this, SLOT(OnBreakPointHit(Pica::DebugContext::Event,void*)),
+ Qt::BlockingQueuedConnection);
+}
+
+void BreakPointObserverDock::OnPicaBreakPointHit(Pica::DebugContext::Event event, void* data)
+{
+ emit BreakPointHit(event, data);
+}
+
+void BreakPointObserverDock::OnPicaResume()
+{
+ emit Resumed();
+}
diff --git a/src/citra_qt/debugger/graphics_breakpoint_observer.h b/src/citra_qt/debugger/graphics_breakpoint_observer.h
new file mode 100644
index 00000000..f0d3361f
--- /dev/null
+++ b/src/citra_qt/debugger/graphics_breakpoint_observer.h
@@ -0,0 +1,33 @@
+// Copyright 2014 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <QDockWidget>
+
+#include "video_core/debug_utils/debug_utils.h"
+
+/**
+ * Utility class which forwards calls to OnPicaBreakPointHit and OnPicaResume to public slots.
+ * This is because the Pica breakpoint callbacks are called from a non-GUI thread, while
+ * the widget usually wants to perform reactions in the GUI thread.
+ */
+class BreakPointObserverDock : public QDockWidget, private Pica::DebugContext::BreakPointObserver {
+ Q_OBJECT
+
+public:
+ BreakPointObserverDock(std::shared_ptr<Pica::DebugContext> debug_context, const QString& title,
+ QWidget* parent = nullptr);
+
+ void OnPicaBreakPointHit(Pica::DebugContext::Event event, void* data) override;
+ void OnPicaResume() override;
+
+private slots:
+ virtual void OnBreakPointHit(Pica::DebugContext::Event event, void* data) = 0;
+ virtual void OnResumed() = 0;
+
+signals:
+ void Resumed();
+ void BreakPointHit(Pica::DebugContext::Event event, void* data);
+};
diff --git a/src/citra_qt/debugger/graphics_framebuffer.cpp b/src/citra_qt/debugger/graphics_framebuffer.cpp
index 43c59738..1ba60021 100644
--- a/src/citra_qt/debugger/graphics_framebuffer.cpp
+++ b/src/citra_qt/debugger/graphics_framebuffer.cpp
@@ -6,7 +6,6 @@
#include <QComboBox>
#include <QDebug>
#include <QLabel>
-#include <QMetaType>
#include <QPushButton>
#include <QSpinBox>
@@ -17,32 +16,6 @@
#include "util/spinbox.h"
-BreakPointObserverDock::BreakPointObserverDock(std::shared_ptr<Pica::DebugContext> debug_context,
- const QString& title, QWidget* parent)
- : QDockWidget(title, parent), BreakPointObserver(debug_context)
-{
- qRegisterMetaType<Pica::DebugContext::Event>("Pica::DebugContext::Event");
-
- connect(this, SIGNAL(Resumed()), this, SLOT(OnResumed()));
-
- // NOTE: This signal is emitted from a non-GUI thread, but connect() takes
- // care of delaying its handling to the GUI thread.
- connect(this, SIGNAL(BreakPointHit(Pica::DebugContext::Event,void*)),
- this, SLOT(OnBreakPointHit(Pica::DebugContext::Event,void*)),
- Qt::BlockingQueuedConnection);
-}
-
-void BreakPointObserverDock::OnPicaBreakPointHit(Pica::DebugContext::Event event, void* data)
-{
- emit BreakPointHit(event, data);
-}
-
-void BreakPointObserverDock::OnPicaResume()
-{
- emit Resumed();
-}
-
-
GraphicsFramebufferWidget::GraphicsFramebufferWidget(std::shared_ptr<Pica::DebugContext> debug_context,
QWidget* parent)
: BreakPointObserverDock(debug_context, tr("Pica Framebuffer"), parent),
diff --git a/src/citra_qt/debugger/graphics_framebuffer.h b/src/citra_qt/debugger/graphics_framebuffer.h
index 56215761..c6e293bc 100644
--- a/src/citra_qt/debugger/graphics_framebuffer.h
+++ b/src/citra_qt/debugger/graphics_framebuffer.h
@@ -6,7 +6,7 @@
#include <QDockWidget>
-#include "video_core/debug_utils/debug_utils.h"
+#include "graphics_breakpoint_observer.h"
class QComboBox;
class QLabel;
@@ -14,28 +14,6 @@ class QSpinBox;
class CSpinBox;
-// Utility class which forwards calls to OnPicaBreakPointHit and OnPicaResume to public slots.
-// This is because the Pica breakpoint callbacks are called from a non-GUI thread, while
-// the widget usually wants to perform reactions in the GUI thread.
-class BreakPointObserverDock : public QDockWidget, Pica::DebugContext::BreakPointObserver {
- Q_OBJECT
-
-public:
- BreakPointObserverDock(std::shared_ptr<Pica::DebugContext> debug_context, const QString& title,
- QWidget* parent = nullptr);
-
- void OnPicaBreakPointHit(Pica::DebugContext::Event event, void* data) override;
- void OnPicaResume() override;
-
-private slots:
- virtual void OnBreakPointHit(Pica::DebugContext::Event event, void* data) = 0;
- virtual void OnResumed() = 0;
-
-signals:
- void Resumed();
- void BreakPointHit(Pica::DebugContext::Event event, void* data);
-};
-
class GraphicsFramebufferWidget : public BreakPointObserverDock {
Q_OBJECT