disassembly and new font

This commit is contained in:
T0b1
2023-06-03 21:58:56 +02:00
parent 4f0f320ac4
commit 343a30289c
15 changed files with 3631 additions and 32 deletions

View File

@@ -49,7 +49,7 @@ namespace dbgui::frontend
std::vector<Reg> regs;*/
void draw(const Frontend &);
bool draw(const Frontend &);
std::string id;
bool open;
@@ -57,7 +57,7 @@ namespace dbgui::frontend
struct ThreadWindow
{
void draw(const Frontend &);
bool draw(const Frontend &);
std::string id;
bool open;
@@ -65,21 +65,54 @@ namespace dbgui::frontend
struct FrameWindow
{
void draw(const Frontend &);
bool draw(const Frontend &);
std::string id;
bool open;
};
struct DisasmWindow
{
struct Instruction
{
// "<mnem>%*c<op>%*c[ ; <comment>]"
std::string fmt_str;
uint64_t addr;
uint8_t mnem_len, op_len, comm_len;
};
bool draw(Frontend &);
void handle_data_res(const BackToFront::DataResult &result);
std::string id;
bool open;
bool first;
bool ip_unsuccessful;
bool disas_unsuccessful;
bool ip_changed;
size_t ip_src_id, disas_src_id;
uint64_t ip;
uint8_t max_mnem_len, max_op_len;
std::vector<Instruction> insts;
};
struct Window
{
WindowType type;
std::variant<std::monostate, RegWindow, ThreadWindow, FrameWindow> data;
std::variant<std::monostate, RegWindow, ThreadWindow, FrameWindow,
DisasmWindow>
data;
void draw(const Frontend &);
// if true, window is closed and should be deleted
bool draw(Frontend &);
static Window create_regs(size_t window_id);
static Window create_threads(size_t window_id);
static Window create_frames(size_t window_id);
static Window create_disas(size_t window_id);
void handle_data_res(const BackToFront::DataResult &result);
};
} // namespace dbgui::frontend