summaryrefslogtreecommitdiffstats
path: root/src/citra_qt/debugger/graphics_breakpoint_observer.h
diff options
context:
space:
mode:
authorTony Wasserka <neobrainx@gmail.com>2015-02-11 22:17:46 +0100
committerTony Wasserka <neobrainx@gmail.com>2015-02-11 22:17:46 +0100
commitf990728ad44246e5eca0e5ace32ea47f68e280c3 (patch)
tree40b3e6837a25b8d7b8e269776df9553ad6e3bf41 /src/citra_qt/debugger/graphics_breakpoint_observer.h
parentMerge pull request #558 from kevinhartman/gsp-writereg-mask (diff)
parentcitra-qt: Add a vertex shader debugger. (diff)
downloadyuzu-f990728ad44246e5eca0e5ace32ea47f68e280c3.tar
yuzu-f990728ad44246e5eca0e5ace32ea47f68e280c3.tar.gz
yuzu-f990728ad44246e5eca0e5ace32ea47f68e280c3.tar.bz2
yuzu-f990728ad44246e5eca0e5ace32ea47f68e280c3.tar.lz
yuzu-f990728ad44246e5eca0e5ace32ea47f68e280c3.tar.xz
yuzu-f990728ad44246e5eca0e5ace32ea47f68e280c3.tar.zst
yuzu-f990728ad44246e5eca0e5ace32ea47f68e280c3.zip
Diffstat (limited to 'src/citra_qt/debugger/graphics_breakpoint_observer.h')
-rw-r--r--src/citra_qt/debugger/graphics_breakpoint_observer.h33
1 files changed, 33 insertions, 0 deletions
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 000000000..f0d3361f8
--- /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);
+};