mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-21 13:20:27 -06:00
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:
@ -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;
|
||||
|
Reference in New Issue
Block a user