mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-29 20:28:56 +00: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:
parent
65590711e9
commit
a533a9dc3d
5 changed files with 45 additions and 6 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue