aboutsummaryrefslogtreecommitdiff
path: root/backends/base-backend.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/base-backend.cpp')
-rw-r--r--backends/base-backend.cpp74
1 files changed, 20 insertions, 54 deletions
diff --git a/backends/base-backend.cpp b/backends/base-backend.cpp
index 40e702495a..8d22ab732d 100644
--- a/backends/base-backend.cpp
+++ b/backends/base-backend.cpp
@@ -24,8 +24,16 @@
*/
#include "backends/base-backend.h"
+
+#ifndef DISABLE_DEFAULT_EVENT_MANAGER
#include "backends/events/default/default-events.h"
+#endif
+
+#ifndef DISABLE_DEFAULT_AUDIOCD_MANAGER
#include "backends/audiocd/default/default-audiocd.h"
+#endif
+
+
#include "gui/message.h"
void BaseBackend::displayMessageOnOSD(const char *msg) {
@@ -34,16 +42,20 @@ void BaseBackend::displayMessageOnOSD(const char *msg) {
dialog.runModal();
}
+void BaseBackend::initBackend() {
+ // Init Event manager
+#ifndef DISABLE_DEFAULT_EVENT_MANAGER
+ if (!_eventManager)
+ _eventManager = new DefaultEventManager(getDefaultEventSource());
+#endif
-static Common::EventManager *s_eventManager = 0;
+ // Init audio CD manager
+#ifndef DISABLE_DEFAULT_AUDIOCD_MANAGER
+ if (!_audiocdManager)
+ _audiocdManager = new DefaultAudioCDManager();
+#endif
-Common::EventManager *BaseBackend::getEventManager() {
- // FIXME/TODO: Eventually this method should be turned into an abstract one,
- // to force backends to implement this conciously (even if they
- // end up returning the default event manager anyway).
- if (!s_eventManager)
- s_eventManager = new DefaultEventManager(this);
- return s_eventManager;
+ OSystem::initBackend();
}
void BaseBackend::fillScreen(uint32 col) {
@@ -52,49 +64,3 @@ void BaseBackend::fillScreen(uint32 col) {
memset(screen->pixels, col, screen->h * screen->pitch);
unlockScreen();
}
-
-
-/*
- FIXME: Maybe we should push the default config file loading/saving code below
- out to all the backends?
-*/
-
-
-#if defined(POSIX)
-#define DEFAULT_CONFIG_FILE ".scummvmrc"
-#endif
-
-#if !defined(POSIX)
-#define DEFAULT_CONFIG_FILE "scummvm.ini"
-#endif
-
-BaseBackend::BaseBackend() {
- _audiocdManager = 0;
-}
-
-BaseBackend::~BaseBackend() {
- delete _audiocdManager;
-}
-
-Common::SeekableReadStream *BaseBackend::createConfigReadStream() {
- Common::FSNode file(DEFAULT_CONFIG_FILE);
- return file.createReadStream();
-}
-
-Common::WriteStream *BaseBackend::createConfigWriteStream() {
-#ifdef __DC__
- return 0;
-#else
- Common::FSNode file(DEFAULT_CONFIG_FILE);
- return file.createWriteStream();
-#endif
-}
-
-AudioCDManager *BaseBackend::getAudioCDManager() {
- if (!_audiocdManager)
- _audiocdManager = new DefaultAudioCDManager();
- return _audiocdManager;
-}
-
-void BaseBackend::resetGraphicsScale() {
-}