regs and we can step into!

This commit is contained in:
T0b1
2023-06-02 02:06:49 +02:00
parent d4bf6731a3
commit ac3718b12b
17 changed files with 1434 additions and 344 deletions

View File

@@ -3,29 +3,40 @@
#include <cstdint>
#include <vector>
#include <string>
#include <variant>
#include "msg.h"
#include "frontend/target.h"
namespace dbgui::frontend {
enum class WindowType : uint8_t {
regs,
source,
memory,
variables,
stack,
threads,
disassembly,
};
namespace dbgui::frontend
{
struct Frontend;
struct RegWindow {
enum class RegValType : uint8_t {
flag,
u64,
u128,
u256,
u512,
};
enum class WindowType : uint8_t
{
regs,
source,
memory,
variables,
stack,
threads,
disassembly,
};
struct Reg {
std::string name;
struct RegWindow
{
enum class RegValType : uint8_t
{
flag,
u64,
u128,
u256,
u512,
};
// TODO: store last_drawn val and which regs we should draw
/*struct Reg {
uint16_t set_idx;
uint16_t reg_idx;
RegValType type;
union {
bool bval;
@@ -36,12 +47,21 @@ namespace dbgui::frontend {
};
};
std::vector<Reg> regs;
std::vector<Reg> regs;*/
void draw();
};
void draw(const Frontend &);
struct Window {
WindowType type;
};
}
std::string id;
bool open;
};
struct Window
{
WindowType type;
std::variant<std::monostate, RegWindow> data;
void draw(const Frontend &);
static Window create_regs(size_t window_id);
};
} // namespace dbgui::frontend