- [NEW] Gestió dels events de cada finestra per separat

- [NEW] Symbols per a etiquetar adreces
- [NEW] Mapa de memòria "tocada"
- [NEW] En el mapa de memòria al passar el ratolí mostra l'adreça
- [NEW] En el mapa de memòria es mostra en roig la posició del contador de programa
- [NEW] Reemplaç en els opcodes de adreces conegudes per la seua etiqueta
This commit is contained in:
2024-12-09 15:33:35 +01:00
parent 8fd2eecb85
commit 2f4e79bc50
12 changed files with 299 additions and 104 deletions

33
ui_window.cpp Normal file
View File

@@ -0,0 +1,33 @@
#include "ui_window.h"
#include <vector>
namespace ui
{
namespace window
{
struct window_t
{
Uint32 window;
bool (*callback)(SDL_Event*);
};
std::vector<window_t> windows;
void registerWindow(Uint32 window, bool(*callback)(SDL_Event*))
{
for (auto win : windows) if (win.window == window) return;
windows.push_back((window_t){window, callback});
}
void unregisterWindow(Uint32 window)
{
for (auto win = windows.begin(); win != windows.end(); win++) if ((*win).window == window) { windows.erase(win); return; }
}
bool sendEvent(Uint32 window, SDL_Event *e)
{
for (auto win : windows) if (win.window == window) return win.callback(e);
return true;
}
}
}