From 8309d0dade37684076ad530bfbca5d4ffc6d1f4d Mon Sep 17 00:00:00 2001 From: Lioncash Date: Wed, 21 Dec 2016 17:19:12 -0500 Subject: citra-qt: Move graphics debugging code into its own folder Keeps all graphics debugging stuff from cluttering up the root debugger folder --- .../graphics/graphics_breakpoint_observer.h | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/citra_qt/debugger/graphics/graphics_breakpoint_observer.h (limited to 'src/citra_qt/debugger/graphics/graphics_breakpoint_observer.h') diff --git a/src/citra_qt/debugger/graphics/graphics_breakpoint_observer.h b/src/citra_qt/debugger/graphics/graphics_breakpoint_observer.h new file mode 100644 index 000000000..e77df4f5b --- /dev/null +++ b/src/citra_qt/debugger/graphics/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 +#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, + protected Pica::DebugContext::BreakPointObserver { + Q_OBJECT + +public: + BreakPointObserverDock(std::shared_ptr 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); +}; -- cgit v1.2.3