- [NEW] Les accións de execució (stop, cont, step, next) funcionen desde qualsevol finestra

- [FIX] Tancara la finestra de debug no fa que la execució continue
- [NEW] El foco va a la finestra que mes convé
- [FIX] El breakpoints i el Next mostren la instrucció que toca
This commit is contained in:
2024-12-10 16:28:50 +01:00
parent f462afe56c
commit f08fbf9e8b
5 changed files with 69 additions and 36 deletions

View File

@@ -123,8 +123,45 @@ int main(int argc, char *argv[])
if (e.type == SDL_MOUSEMOTION) result = ui::window::sendEvent(e.motion.windowID, &e);
if (e.type == SDL_WINDOWEVENT) result = ui::window::sendEvent(e.window.windowID, &e);
if (e.type == SDL_MOUSEWHEEL) result = ui::window::sendEvent(e.wheel.windowID, &e);
if (e.type == SDL_KEYDOWN) result = ui::window::sendEvent(e.key.windowID, &e);
if (e.type == SDL_TEXTINPUT) result = ui::window::sendEvent(e.text.windowID, &e);
if (e.type == SDL_KEYDOWN) {
if (e.key.keysym.scancode==SDL_SCANCODE_F5) {
if (z80debug::debugging()) {
z80debug::history::gototop();
const uint8_t dt = z80::step();
z80debug::cont();
zxscreen::refresh(dt);
}
} else if (e.key.keysym.scancode==SDL_SCANCODE_F8) {
if (!z80debug::debugging()) {
z80debug::stop();
zxscreen::redraw();
} else {
z80debug::show();
}
} else if (e.key.keysym.scancode==SDL_SCANCODE_F10) {
if (z80debug::debugging()) {
z80debug::show();
z80debug::history::gototop();
const uint8_t dt = z80::step();
z80debug::refresh();
zxscreen::refresh(dt);
zxscreen::redraw();
z80analyze::refresh();
}
} else if (e.key.keysym.scancode==SDL_SCANCODE_F11) {
if (z80debug::debugging()) {
z80debug::show();
z80debug::history::gototop();
const uint8_t dt = z80debug::next();
z80debug::refresh();
zxscreen::refresh(dt);
zxscreen::redraw();
z80analyze::refresh();
}
}
result = ui::window::sendEvent(e.key.windowID, &e);
}
if (e.type == SDL_MOUSEBUTTONUP && e.button.button==1) ui::setClicked(true);