aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/samsungtv/samsungtv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backends/platform/samsungtv/samsungtv.cpp')
-rw-r--r--backends/platform/samsungtv/samsungtv.cpp33
1 files changed, 23 insertions, 10 deletions
diff --git a/backends/platform/samsungtv/samsungtv.cpp b/backends/platform/samsungtv/samsungtv.cpp
index aa79b92558..1e316aa840 100644
--- a/backends/platform/samsungtv/samsungtv.cpp
+++ b/backends/platform/samsungtv/samsungtv.cpp
@@ -24,19 +24,32 @@
*/
#include "backends/platform/samsungtv/samsungtv.h"
+#include "backends/events/samsungtvsdl/samsungtvsdl-events.h"
-#if defined(SAMSUNGTV)
+OSystem_SDL_SamsungTV::OSystem_SDL_SamsungTV()
+ :
+ OSystem_POSIX("/dtv/usb/sda1/.scummvmrc") {
+}
bool OSystem_SDL_SamsungTV::hasFeature(Feature f) {
return
- (f == kFeatureAspectRatioCorrection) ||
- (f == kFeatureCursorHasPalette);
+ (f == OSystem::kFeatureAspectRatioCorrection) ||
+ (f == OSystem::kFeatureCursorHasPalette);
+}
+
+void OSystem_SDL_SamsungTV::initBackend() {
+ // Create the events manager
+ if (_eventManager == 0)
+ _eventManager = new SamsungTVSdlEventManager(this);
+
+ // Call parent implementation of this method
+ OSystem_SDL::initBackend();
}
void OSystem_SDL_SamsungTV::setFeatureState(Feature f, bool enable) {
switch (f) {
- case kFeatureAspectRatioCorrection:
- setAspectRatioCorrection(enable);
+ case OSystem::kFeatureAspectRatioCorrection:
+ _graphicsManager->setFeatureState(f, enable);
break;
default:
break;
@@ -44,14 +57,14 @@ void OSystem_SDL_SamsungTV::setFeatureState(Feature f, bool enable) {
}
bool OSystem_SDL_SamsungTV::getFeatureState(Feature f) {
- assert (_transactionMode == kTransactionNone);
-
switch (f) {
- case kFeatureAspectRatioCorrection:
- return _videoMode.aspectRatioCorrection;
+ case OSystem::kFeatureAspectRatioCorrection:
+ return _graphicsManager->getFeatureState(f);
default:
return false;
}
}
-#endif
+void OSystem_SDL_SamsungTV::quit() {
+ deinit();
+}