diff options
author | Subv <subv2112@gmail.com> | 2018-03-22 15:19:35 -0500 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2018-03-24 11:31:49 -0500 |
commit | 77fd0d47e70968bcbc87a3b5607cd29e6211f656 (patch) | |
tree | 54e91cede780bbd5bec2612547a61bdd799e36af /src/yuzu/debugger/graphics/graphics_breakpoints_p.h | |
parent | 1b8d798835c2d39c2867f53d8dcacdc7d0ba0d15 (diff) |
Frontend: Ported the GPU breakpoints and surface viewer widgets from citra.
Diffstat (limited to 'src/yuzu/debugger/graphics/graphics_breakpoints_p.h')
-rw-r--r-- | src/yuzu/debugger/graphics/graphics_breakpoints_p.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/yuzu/debugger/graphics/graphics_breakpoints_p.h b/src/yuzu/debugger/graphics/graphics_breakpoints_p.h new file mode 100644 index 000000000..35a6876ae --- /dev/null +++ b/src/yuzu/debugger/graphics/graphics_breakpoints_p.h @@ -0,0 +1,36 @@ +// Copyright 2014 Citra Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <memory> +#include <QAbstractListModel> +#include "video_core/debug_utils/debug_utils.h" + +class BreakPointModel : public QAbstractListModel { + Q_OBJECT + +public: + enum { + Role_IsEnabled = Qt::UserRole, + }; + + BreakPointModel(std::shared_ptr<Tegra::DebugContext> context, QObject* parent); + + int columnCount(const QModelIndex& parent = QModelIndex()) const override; + int rowCount(const QModelIndex& parent = QModelIndex()) const override; + QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; + Qt::ItemFlags flags(const QModelIndex& index) const override; + + bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override; + +public slots: + void OnBreakPointHit(Tegra::DebugContext::Event event); + void OnResumed(); + +private: + std::weak_ptr<Tegra::DebugContext> context_weak; + bool at_breakpoint; + Tegra::DebugContext::Event active_breakpoint; +}; |