[Scummvm-cvs-logs] SF.net SVN: scummvm:[42725] scummvm/trunk/backends/events/default
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Sat Jul 25 03:00:37 CEST 2009
Revision: 42725
http://scummvm.svn.sourceforge.net/scummvm/?rev=42725&view=rev
Author: lordhoto
Date: 2009-07-25 01:00:37 +0000 (Sat, 25 Jul 2009)
Log Message:
-----------
Change DefaultEventManager to use EventDispatcher.
Modified Paths:
--------------
scummvm/trunk/backends/events/default/default-events.cpp
scummvm/trunk/backends/events/default/default-events.h
Modified: scummvm/trunk/backends/events/default/default-events.cpp
===================================================================
--- scummvm/trunk/backends/events/default/default-events.cpp 2009-07-25 01:00:24 UTC (rev 42724)
+++ scummvm/trunk/backends/events/default/default-events.cpp 2009-07-25 01:00:37 UTC (rev 42725)
@@ -93,15 +93,19 @@
}
DefaultEventManager::DefaultEventManager(Common::EventSource *boss) :
- _boss(boss),
_buttonState(0),
_modifierState(0),
_shouldQuit(false),
_shouldRTL(false),
_confirmExitDialogActive(false) {
- assert(_boss);
+ assert(boss);
+ g_eventDispatcher.registerSource(boss, false);
+ g_eventDispatcher.registerSource(&_artificialEventSource, false);
+
+ g_eventDispatcher.registerObserver(this, 0, false);
+
_recordFile = NULL;
_recordTimeFile = NULL;
_playbackFile = NULL;
@@ -378,12 +382,12 @@
bool DefaultEventManager::pollEvent(Common::Event &event) {
uint32 time = g_system->getMillis();
- bool result;
+ bool result = false;
- if (_artificialEventSource.pollEvent(event)) {
+ g_eventDispatcher.dispatch();
+ if (!_eventQueue.empty()) {
+ event = _eventQueue.pop();
result = true;
- } else {
- result = _boss->pollEvent(event);
#ifdef ENABLE_KEYMAPPER
if (result) {
Modified: scummvm/trunk/backends/events/default/default-events.h
===================================================================
--- scummvm/trunk/backends/events/default/default-events.h 2009-07-25 01:00:24 UTC (rev 42724)
+++ scummvm/trunk/backends/events/default/default-events.h 2009-07-25 01:00:37 UTC (rev 42725)
@@ -42,8 +42,6 @@
class DefaultEventManager : public Common::EventManager, Common::EventObserver {
- Common::EventSource *_boss;
-
#ifdef ENABLE_VKEYBD
Common::VirtualKeyboard *_vk;
#endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list