disassembly and new font
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user