- [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
34 lines
857 B
C++
34 lines
857 B
C++
#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;
|
|
}
|
|
|
|
}
|
|
}
|