almost made the event handler into singleton having access problems

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1795 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
nakeee
2009-01-05 13:39:54 +00:00
parent 65590711e9
commit a533a9dc3d
5 changed files with 45 additions and 6 deletions

View File

@ -4,12 +4,31 @@
#include <wx/wx.h>
#endif
EventHandler *EventHandler::m_Instance = 0;
EventHandler::EventHandler() {
memset(keys, sizeof(listenFuncPtr) * (sf::Key::Escape+1)*8, 0);
memset(mouse, sizeof(listenFuncPtr) * (sf::Mouse::Count+1), 0);
memset(joys, sizeof(listenFuncPtr) * (sf::Joy::Count+1), 0);
}
EventHandler::~EventHandler() {
}
EventHandler::EventHandler *GetInstance() {
if (! EventHandler::m_Instance)
EventHandler::m_Instance = new EventHandler();
return EventHandler::m_Instance;
}
void EventHandler::Destroy() {
if (EventHandler::m_Instance)
delete EventHandler::m_Instance;
EventHandler::m_Instance = 0;
}
bool EventHandler::RegisterEventListener(listenFuncPtr func, Keys key) {
if (key.inputType == KeyboardInput) {
fprintf(stderr, "Registering %d\n", key.keyCode);
@ -270,3 +289,12 @@ void EventHandler::SFKeyToString(sf::Key::Code keycode, char *keyStr) {
break;
}
}
class EventHandlerCleaner
{
public:
~EventHandlerCleaner()
{
EventHandler::Destroy();
}
} EventHandlerCleanerInst;