[Scummvm-git-logs] scummvm master -> d6a02740a8692f31c4ed7aca6367d31c9192bfc4

sev- sev at scummvm.org
Fri Mar 27 21:50:48 UTC 2020


This automated email contains information about 5 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
205175c4e5 SDL: Don't allow switching to and from fullscreen if it isn't supported
a5b6a577de SDL: Remove unnecessary overrides of setFeatureState() and getFeatureState()
153576f0b5 BACKENDS: Move implementations of hasFeature into the relevant OSystem subclasses
f2d323628d GCW0: Fully disable the downscaling code
d6a02740a8 GPH/DINGUX: Unify the downscaling code


Commit: 205175c4e5c822eb96531e8cff00a08bcf8b0deb
    https://github.com/scummvm/scummvm/commit/205175c4e5c822eb96531e8cff00a08bcf8b0deb
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2020-03-27T22:50:41+01:00

Commit Message:
SDL: Don't allow switching to and from fullscreen if it isn't supported

Changed paths:
    backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
    backends/graphics/gph/gph-graphics.cpp
    backends/graphics/openpandora/op-graphics.cpp
    backends/graphics/sdl/sdl-graphics.cpp
    backends/graphics/surfacesdl/surfacesdl-graphics.cpp
    backends/platform/dingux/dingux.cpp
    backends/platform/symbian/src/SymbianOS.cpp


diff --git a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp b/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
index 147476e19e..e96be07604 100644
--- a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
+++ b/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
@@ -453,8 +453,6 @@ void DINGUXSdlGraphicsManager::setupHardwareSize() {
 
 		_videoMode.hardwareWidth = _videoMode.screenWidth / 2;
 		_videoMode.hardwareHeight = _videoMode.screenHeight / 2;
-
-		_videoMode.fullscreen = true;
 	} else {
 		SurfaceSdlGraphicsManager::setupHardwareSize();
 	}
diff --git a/backends/graphics/gph/gph-graphics.cpp b/backends/graphics/gph/gph-graphics.cpp
index e411f930b2..7935893e7c 100644
--- a/backends/graphics/gph/gph-graphics.cpp
+++ b/backends/graphics/gph/gph-graphics.cpp
@@ -422,9 +422,6 @@ void GPHGraphicsManager::hideOverlay() {
 }
 
 void GPHGraphicsManager::setupHardwareSize() {
-	// We don't offer anything other than fullscreen on GPH devices so let's not even pretend.
-	_videoMode.fullscreen = true;
-
 	// Set the hardware stats to match the LCD.
 	_videoMode.hardwareWidth = 320;
 	_videoMode.hardwareHeight = 240;
diff --git a/backends/graphics/openpandora/op-graphics.cpp b/backends/graphics/openpandora/op-graphics.cpp
index d6c16462e8..3cc8c59907 100644
--- a/backends/graphics/openpandora/op-graphics.cpp
+++ b/backends/graphics/openpandora/op-graphics.cpp
@@ -53,7 +53,6 @@ bool OPGraphicsManager::loadGFXMode() {
 	SDL_ShowCursor(SDL_ENABLE);
 	SDL_SetCursor(hiddenCursor);
 
-	_videoMode.fullscreen = true;
 	return SurfaceSdlGraphicsManager::loadGFXMode();
 }
 
diff --git a/backends/graphics/sdl/sdl-graphics.cpp b/backends/graphics/sdl/sdl-graphics.cpp
index 36dde9a26e..07baf96763 100644
--- a/backends/graphics/sdl/sdl-graphics.cpp
+++ b/backends/graphics/sdl/sdl-graphics.cpp
@@ -337,7 +337,7 @@ bool SdlGraphicsManager::notifyEvent(const Common::Event &event) {
 }
 
 void SdlGraphicsManager::toggleFullScreen() {
-	if (!hasFeature(OSystem::kFeatureFullscreenMode))
+	if (!g_system->hasFeature(OSystem::kFeatureFullscreenMode))
 		return;
 
 	beginGFXTransaction();
@@ -357,7 +357,7 @@ Common::Keymap *SdlGraphicsManager::getKeymap() {
 	Keymap *keymap = new Keymap(Keymap::kKeymapTypeGlobal, "sdl-graphics", _("Graphics"));
 	Action *act;
 
-	if (hasFeature(OSystem::kFeatureFullscreenMode)) {
+	if (g_system->hasFeature(OSystem::kFeatureFullscreenMode)) {
 		act = new Action("FULS", _("Toggle fullscreen"));
 		act->addDefaultInputMapping("A+RETURN");
 		act->addDefaultInputMapping("A+KP_ENTER");
diff --git a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
index cef17e9585..2d5952a372 100644
--- a/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
+++ b/backends/graphics/surfacesdl/surfacesdl-graphics.cpp
@@ -194,12 +194,7 @@ SurfaceSdlGraphicsManager::SurfaceSdlGraphicsManager(SdlEventSource *sdlEventSou
 #endif
 	_scalerType = 0;
 
-#ifndef __SYMBIAN32__
 	_videoMode.fullscreen = ConfMan.getBool("fullscreen");
-#else
-	_videoMode.fullscreen = true;
-#endif
-
 	_videoMode.filtering = ConfMan.getBool("filtering");
 #if SDL_VERSION_ATLEAST(2, 0, 0)
 	_videoMode.stretchMode = STRETCH_FIT;
@@ -1494,6 +1489,9 @@ bool SurfaceSdlGraphicsManager::saveScreenshot(const Common::String &filename) c
 void SurfaceSdlGraphicsManager::setFullscreenMode(bool enable) {
 	Common::StackLock lock(_graphicsMutex);
 
+	if (!g_system->hasFeature(OSystem::kFeatureFullscreenMode))
+		return;
+
 	if (_oldVideoMode.setup && _oldVideoMode.fullscreen == enable)
 		return;
 
diff --git a/backends/platform/dingux/dingux.cpp b/backends/platform/dingux/dingux.cpp
index afd80acc1b..54e5a2c3e0 100644
--- a/backends/platform/dingux/dingux.cpp
+++ b/backends/platform/dingux/dingux.cpp
@@ -27,6 +27,8 @@
 #include "backends/graphics/dinguxsdl/dinguxsdl-graphics.h"
 
 void OSystem_SDL_Dingux::initBackend() {
+	ConfMan.registerDefault("fullscreen", true);
+
 	// Create the events manager
 	if (_eventSource == 0)
 		_eventSource = new DINGUXSdlEventSource();
diff --git a/backends/platform/symbian/src/SymbianOS.cpp b/backends/platform/symbian/src/SymbianOS.cpp
index 5fa21aed68..ba96e32ed4 100644
--- a/backends/platform/symbian/src/SymbianOS.cpp
+++ b/backends/platform/symbian/src/SymbianOS.cpp
@@ -97,6 +97,7 @@ void OSystem_SDL_Symbian::initBackend() {
 	// Symbian OS  should have joystick_num set to 0 in the ini file,
 	// but uiq devices might refuse opening the joystick
 	ConfMan.setInt("joystick_num", 0);
+	ConfMan.setBool("fullscreen", true);
 	ConfMan.flushToDisk();
 
 	GUI::Actions::init();


Commit: a5b6a577de3f2e749abc55426ef68e0a47345cf7
    https://github.com/scummvm/scummvm/commit/a5b6a577de3f2e749abc55426ef68e0a47345cf7
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2020-03-27T22:50:41+01:00

Commit Message:
SDL: Remove unnecessary overrides of setFeatureState() and getFeatureState()

Changed paths:
    backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
    backends/graphics/dinguxsdl/dinguxsdl-graphics.h
    backends/graphics/gph/gph-graphics.cpp
    backends/graphics/gph/gph-graphics.h
    backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp
    backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h
    backends/platform/androidsdl/androidsdl-sdl.cpp
    backends/platform/sdl/psp2/psp2.cpp
    backends/platform/sdl/switch/switch.cpp


diff --git a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp b/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
index e96be07604..2996b354a9 100644
--- a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
+++ b/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
@@ -464,33 +464,6 @@ bool DINGUXSdlGraphicsManager::hasFeature(OSystem::Feature f) const {
 	    (f == OSystem::kFeatureCursorPalette);
 }
 
-void DINGUXSdlGraphicsManager::setFeatureState(OSystem::Feature f, bool enable) {
-	switch (f) {
-	case OSystem::kFeatureAspectRatioCorrection:
-		setAspectRatioCorrection(enable);
-		break;
-	case OSystem::kFeatureCursorPalette:
-		_cursorPaletteDisabled = !enable;
-		blitCursor();
-		break;
-	default:
-		break;
-	}
-}
-
-bool DINGUXSdlGraphicsManager::getFeatureState(OSystem::Feature f) const {
-	assert(_transactionMode == kTransactionNone);
-
-	switch (f) {
-	case OSystem::kFeatureAspectRatioCorrection:
-		return _videoMode.aspectRatioCorrection;
-	case OSystem::kFeatureCursorPalette:
-		return !_cursorPaletteDisabled;
-	default:
-		return false;
-	}
-}
-
 void DINGUXSdlGraphicsManager::warpMouse(int x, int y) {
 	if (_cursorX != x || _cursorY != y) {
 		if (_videoMode.mode == GFX_HALF && !_overlayVisible) {
diff --git a/backends/graphics/dinguxsdl/dinguxsdl-graphics.h b/backends/graphics/dinguxsdl/dinguxsdl-graphics.h
index 1c1a1785f7..e1f78ba7ac 100644
--- a/backends/graphics/dinguxsdl/dinguxsdl-graphics.h
+++ b/backends/graphics/dinguxsdl/dinguxsdl-graphics.h
@@ -37,8 +37,6 @@ public:
 	DINGUXSdlGraphicsManager(SdlEventSource *boss, SdlWindow *window);
 
 	bool hasFeature(OSystem::Feature f) const override;
-	void setFeatureState(OSystem::Feature f, bool enable) override;
-	bool getFeatureState(OSystem::Feature f) const override;
 	int getDefaultGraphicsMode() const override;
 
 	void initSize(uint w, uint h, const Graphics::PixelFormat *format = NULL) override;
diff --git a/backends/graphics/gph/gph-graphics.cpp b/backends/graphics/gph/gph-graphics.cpp
index 7935893e7c..97b49cdbda 100644
--- a/backends/graphics/gph/gph-graphics.cpp
+++ b/backends/graphics/gph/gph-graphics.cpp
@@ -464,33 +464,6 @@ bool GPHGraphicsManager::hasFeature(OSystem::Feature f) const {
 	    (f == OSystem::kFeatureCursorPalette);
 }
 
-void GPHGraphicsManager::setFeatureState(OSystem::Feature f, bool enable) {
-	switch (f) {
-	case OSystem::kFeatureAspectRatioCorrection:
-		setAspectRatioCorrection(enable);
-		break;
-	case OSystem::kFeatureCursorPalette:
-		_cursorPaletteDisabled = !enable;
-		blitCursor();
-		break;
-	default:
-		break;
-	}
-}
-
-bool GPHGraphicsManager::getFeatureState(OSystem::Feature f) const {
-	assert(_transactionMode == kTransactionNone);
-
-	switch (f) {
-	case OSystem::kFeatureAspectRatioCorrection:
-		return _videoMode.aspectRatioCorrection;
-	case OSystem::kFeatureCursorPalette:
-		return !_cursorPaletteDisabled;
-	default:
-		return false;
-	}
-}
-
 void GPHGraphicsManager::warpMouse(int x, int y) {
 	if (_cursorX != x || _cursorY != y) {
 		if (_videoMode.mode == GFX_HALF && !_overlayVisible) {
diff --git a/backends/graphics/gph/gph-graphics.h b/backends/graphics/gph/gph-graphics.h
index 87df439a7f..8cea9b45fb 100644
--- a/backends/graphics/gph/gph-graphics.h
+++ b/backends/graphics/gph/gph-graphics.h
@@ -36,8 +36,6 @@ public:
 	GPHGraphicsManager(SdlEventSource *boss, SdlWindow *window);
 
 	bool hasFeature(OSystem::Feature f) const override;
-	void setFeatureState(OSystem::Feature f, bool enable) override;
-	bool getFeatureState(OSystem::Feature f) const;
 	int getDefaultGraphicsMode() const override;
 
 	void initSize(uint w, uint h, const Graphics::PixelFormat *format = NULL) override;
diff --git a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp b/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp
index befa793263..88360c87b7 100644
--- a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp
+++ b/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp
@@ -38,23 +38,4 @@ bool SamsungTVSdlGraphicsManager::hasFeature(OSystem::Feature f) const {
 		(f == OSystem::kFeatureCursorPalette);
 }
 
-void SamsungTVSdlGraphicsManager::setFeatureState(OSystem::Feature f, bool enable) {
-	switch (f) {
-	case OSystem::kFeatureAspectRatioCorrection:
-		SurfaceSdlGraphicsManager::setFeatureState(f, enable);
-		break;
-	default:
-		break;
-	}
-}
-
-bool SamsungTVSdlGraphicsManager::getFeatureState(OSystem::Feature f) const {
-	switch (f) {
-	case OSystem::kFeatureAspectRatioCorrection:
-		return SurfaceSdlGraphicsManager::getFeatureState(f);
-	default:
-		return false;
-	}
-}
-
 #endif
diff --git a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h b/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h
index b86ebe2c45..594c5c7fde 100644
--- a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h
+++ b/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h
@@ -32,8 +32,6 @@ public:
 	SamsungTVSdlGraphicsManager(SdlEventSource *sdlEventSource, SdlWindow *window);
 
 	bool hasFeature(OSystem::Feature f) const override;
-	void setFeatureState(OSystem::Feature f, bool enable) override;
-	bool getFeatureState(OSystem::Feature f) const override;
 };
 
 #endif
diff --git a/backends/platform/androidsdl/androidsdl-sdl.cpp b/backends/platform/androidsdl/androidsdl-sdl.cpp
index 91c0cd4a02..c7c8ea11c4 100644
--- a/backends/platform/androidsdl/androidsdl-sdl.cpp
+++ b/backends/platform/androidsdl/androidsdl-sdl.cpp
@@ -110,8 +110,6 @@ void OSystem_ANDROIDSDL::setFeatureState(Feature f, bool enable) {
 		ConfMan.setBool("swap_menu_and_back_buttons", enable);
 		swapMenuAndBackButtons(enable);
 		break;
-	case kFeatureFullscreenMode:
-		break;
 	default:
 		OSystem_POSIX::setFeatureState(f, enable);
 		break;
@@ -129,9 +127,6 @@ bool OSystem_ANDROIDSDL::getFeatureState(Feature f) {
 	case kFeatureSwapMenuAndBackButtons:
 		return ConfMan.getBool("swap_menu_and_back_buttons");
 		break;
-	case kFeatureFullscreenMode:
-		return true;
-		break;
 	default:
 		return OSystem_POSIX::getFeatureState(f);
 		break;
diff --git a/backends/platform/sdl/psp2/psp2.cpp b/backends/platform/sdl/psp2/psp2.cpp
index 4b5fa80296..c815de5551 100644
--- a/backends/platform/sdl/psp2/psp2.cpp
+++ b/backends/platform/sdl/psp2/psp2.cpp
@@ -161,8 +161,6 @@ void OSystem_PSP2::setFeatureState(Feature f, bool enable) {
 	case kFeatureTouchpadMode:
 		ConfMan.setBool("touchpad_mouse_mode", enable);
 		break;
-	case kFeatureFullscreenMode:
-		break;
 	default:
 		OSystem_SDL::setFeatureState(f, enable);
 		break;
@@ -174,9 +172,6 @@ bool OSystem_PSP2::getFeatureState(Feature f) {
 	case kFeatureTouchpadMode:
 		return ConfMan.getBool("touchpad_mouse_mode");
 		break;
-	case kFeatureFullscreenMode:
-		return true;
-		break;
 	default:
 		return OSystem_SDL::getFeatureState(f);
 		break;
diff --git a/backends/platform/sdl/switch/switch.cpp b/backends/platform/sdl/switch/switch.cpp
index df1f04d58e..240d5178de 100644
--- a/backends/platform/sdl/switch/switch.cpp
+++ b/backends/platform/sdl/switch/switch.cpp
@@ -126,8 +126,6 @@ void OSystem_Switch::setFeatureState(Feature f, bool enable) {
 	case kFeatureTouchpadMode:
 		ConfMan.setBool("touchpad_mouse_mode", enable);
 		break;
-	case kFeatureFullscreenMode:
-		break;
 	default:
 		OSystem_SDL::setFeatureState(f, enable);
 		break;
@@ -139,9 +137,6 @@ bool OSystem_Switch::getFeatureState(Feature f) {
 	case kFeatureTouchpadMode:
 		return ConfMan.getBool("touchpad_mouse_mode");
 		break;
-	case kFeatureFullscreenMode:
-		return true;
-		break;
 	default:
 		return OSystem_SDL::getFeatureState(f);
 		break;


Commit: 153576f0b51cfa2993dab6c81aaf9dc34b78ab89
    https://github.com/scummvm/scummvm/commit/153576f0b51cfa2993dab6c81aaf9dc34b78ab89
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2020-03-27T22:50:41+01:00

Commit Message:
BACKENDS: Move implementations of hasFeature into the relevant OSystem subclasses

Changed paths:
  R backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp
  R backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h
  R backends/graphics/symbiansdl/symbiansdl-graphics.cpp
  R backends/graphics/symbiansdl/symbiansdl-graphics.h
    backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
    backends/graphics/dinguxsdl/dinguxsdl-graphics.h
    backends/graphics/gph/gph-graphics.cpp
    backends/graphics/gph/gph-graphics.h
    backends/module.mk
    backends/platform/dingux/dingux.cpp
    backends/platform/dingux/dingux.h
    backends/platform/gph/gph-backend.cpp
    backends/platform/gph/gph.h
    backends/platform/samsungtv/samsungtv.cpp
    backends/platform/samsungtv/samsungtv.h
    backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in
    backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
    backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in
    backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
    backends/platform/symbian/mmp/scummvm_base.mmp.in
    backends/platform/symbian/src/SymbianOS.cpp


diff --git a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp b/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
index 2996b354a9..cfb935c320 100644
--- a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
+++ b/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
@@ -458,12 +458,6 @@ void DINGUXSdlGraphicsManager::setupHardwareSize() {
 	}
 }
 
-bool DINGUXSdlGraphicsManager::hasFeature(OSystem::Feature f) const {
-	return
-	    (f == OSystem::kFeatureAspectRatioCorrection) ||
-	    (f == OSystem::kFeatureCursorPalette);
-}
-
 void DINGUXSdlGraphicsManager::warpMouse(int x, int y) {
 	if (_cursorX != x || _cursorY != y) {
 		if (_videoMode.mode == GFX_HALF && !_overlayVisible) {
diff --git a/backends/graphics/dinguxsdl/dinguxsdl-graphics.h b/backends/graphics/dinguxsdl/dinguxsdl-graphics.h
index e1f78ba7ac..b45cfd7292 100644
--- a/backends/graphics/dinguxsdl/dinguxsdl-graphics.h
+++ b/backends/graphics/dinguxsdl/dinguxsdl-graphics.h
@@ -36,7 +36,6 @@ class DINGUXSdlGraphicsManager : public SurfaceSdlGraphicsManager {
 public:
 	DINGUXSdlGraphicsManager(SdlEventSource *boss, SdlWindow *window);
 
-	bool hasFeature(OSystem::Feature f) const override;
 	int getDefaultGraphicsMode() const override;
 
 	void initSize(uint w, uint h, const Graphics::PixelFormat *format = NULL) override;
diff --git a/backends/graphics/gph/gph-graphics.cpp b/backends/graphics/gph/gph-graphics.cpp
index 97b49cdbda..f7fba4a07a 100644
--- a/backends/graphics/gph/gph-graphics.cpp
+++ b/backends/graphics/gph/gph-graphics.cpp
@@ -458,12 +458,6 @@ bool GPHGraphicsManager::loadGFXMode() {
 	return success;
 }
 
-bool GPHGraphicsManager::hasFeature(OSystem::Feature f) const {
-	return
-	    (f == OSystem::kFeatureAspectRatioCorrection) ||
-	    (f == OSystem::kFeatureCursorPalette);
-}
-
 void GPHGraphicsManager::warpMouse(int x, int y) {
 	if (_cursorX != x || _cursorY != y) {
 		if (_videoMode.mode == GFX_HALF && !_overlayVisible) {
diff --git a/backends/graphics/gph/gph-graphics.h b/backends/graphics/gph/gph-graphics.h
index 8cea9b45fb..f53fd8fc3c 100644
--- a/backends/graphics/gph/gph-graphics.h
+++ b/backends/graphics/gph/gph-graphics.h
@@ -35,7 +35,6 @@ class GPHGraphicsManager : public SurfaceSdlGraphicsManager {
 public:
 	GPHGraphicsManager(SdlEventSource *boss, SdlWindow *window);
 
-	bool hasFeature(OSystem::Feature f) const override;
 	int getDefaultGraphicsMode() const override;
 
 	void initSize(uint w, uint h, const Graphics::PixelFormat *format = NULL) override;
diff --git a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp b/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp
deleted file mode 100644
index 88360c87b7..0000000000
--- a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "common/scummsys.h"
-
-#if defined(SAMSUNGTV)
-
-#include "backends/platform/samsungtv/samsungtv.h"
-#include "backends/events/samsungtvsdl/samsungtvsdl-events.h"
-#include "backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h"
-
-SamsungTVSdlGraphicsManager::SamsungTVSdlGraphicsManager(SdlEventSource *sdlEventSource, SdlWindow *window)
-	: SurfaceSdlGraphicsManager(sdlEventSource, window) {
-}
-
-bool SamsungTVSdlGraphicsManager::hasFeature(OSystem::Feature f) const {
-	return
-		(f == OSystem::kFeatureAspectRatioCorrection) ||
-		(f == OSystem::kFeatureCursorPalette);
-}
-
-#endif
diff --git a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h b/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h
deleted file mode 100644
index 594c5c7fde..0000000000
--- a/backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef BACKENDS_GRAPHICS_SAMSUNGTV_H
-#define BACKENDS_GRAPHICS_SAMSUNGTV_H
-
-#if defined(SAMSUNGTV)
-
-#include "backends/graphics/surfacesdl/surfacesdl-graphics.h"
-
-class SamsungTVSdlGraphicsManager : public SurfaceSdlGraphicsManager {
-public:
-	SamsungTVSdlGraphicsManager(SdlEventSource *sdlEventSource, SdlWindow *window);
-
-	bool hasFeature(OSystem::Feature f) const override;
-};
-
-#endif
-
-#endif
diff --git a/backends/graphics/symbiansdl/symbiansdl-graphics.cpp b/backends/graphics/symbiansdl/symbiansdl-graphics.cpp
deleted file mode 100644
index ceb0719ddd..0000000000
--- a/backends/graphics/symbiansdl/symbiansdl-graphics.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "common/scummsys.h"
-
-#ifdef __SYMBIAN32__
-
-#include "backends/graphics/symbiansdl/symbiansdl-graphics.h"
-
-SymbianSdlGraphicsManager::SymbianSdlGraphicsManager(SdlEventSource *sdlEventSource, SdlWindow *window)
-	: SurfaceSdlGraphicsManager(sdlEventSource, window) {
-}
-
-bool SymbianSdlGraphicsManager::hasFeature(OSystem::Feature f) const {
-	switch (f) {
-	case OSystem::kFeatureAspectRatioCorrection:
-	case OSystem::kFeatureCursorPalette:
-		return true;
-	default:
-		return false;
-	}
-}
-
-#endif
diff --git a/backends/graphics/symbiansdl/symbiansdl-graphics.h b/backends/graphics/symbiansdl/symbiansdl-graphics.h
deleted file mode 100644
index cf8a76f349..0000000000
--- a/backends/graphics/symbiansdl/symbiansdl-graphics.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef BACKENDS_GRAPHICS_SYMBIAN_SDL_H
-#define BACKENDS_GRAPHICS_SYMBIAN_SDL_H
-
-#include "backends/graphics/surfacesdl/surfacesdl-graphics.h"
-
-class SymbianSdlGraphicsManager : public SurfaceSdlGraphicsManager {
-public:
-	SymbianSdlGraphicsManager(SdlEventSource *sdlEventSource, SdlWindow *window);
-
-public:
-	virtual bool hasFeature(OSystem::Feature f) const override;
-};
-
-#endif
diff --git a/backends/module.mk b/backends/module.mk
index 2eac83f308..f4f076fd38 100644
--- a/backends/module.mk
+++ b/backends/module.mk
@@ -332,8 +332,7 @@ endif
 
 ifeq ($(BACKEND),samsungtv)
 MODULE_OBJS += \
-	events/samsungtvsdl/samsungtvsdl-events.o \
-	graphics/samsungtvsdl/samsungtvsdl-graphics.o
+	events/samsungtvsdl/samsungtvsdl-events.o
 endif
 
 ifeq ($(BACKEND),webos)
diff --git a/backends/platform/dingux/dingux.cpp b/backends/platform/dingux/dingux.cpp
index 54e5a2c3e0..bf033174c4 100644
--- a/backends/platform/dingux/dingux.cpp
+++ b/backends/platform/dingux/dingux.cpp
@@ -42,4 +42,11 @@ void OSystem_SDL_Dingux::initBackend() {
 	OSystem_POSIX::initBackend();
 }
 
+bool OSystem_SDL_Dingux::hasFeature(Feature f) {
+	if (f == kFeatureFullscreenMode)
+		return false;
+
+	return OSystem_SDL::hasFeature(f);
+}
+
 #endif
diff --git a/backends/platform/dingux/dingux.h b/backends/platform/dingux/dingux.h
index add74fa039..aee9348a8d 100644
--- a/backends/platform/dingux/dingux.h
+++ b/backends/platform/dingux/dingux.h
@@ -34,6 +34,7 @@
 class OSystem_SDL_Dingux : public OSystem_POSIX {
 public:
 	void initBackend();
+	bool hasFeature(Feature f);
 };
 
 
diff --git a/backends/platform/gph/gph-backend.cpp b/backends/platform/gph/gph-backend.cpp
index 9bb1a9a29c..729c7e05c0 100644
--- a/backends/platform/gph/gph-backend.cpp
+++ b/backends/platform/gph/gph-backend.cpp
@@ -210,4 +210,11 @@ void OSystem_GPH::quit() {
 	OSystem_POSIX::quit();
 }
 
+bool OSystem_GPH::hasFeature(Feature f) {
+	if (f == kFeatureFullscreenMode)
+		return false;
+
+	return OSystem_SDL::hasFeature(f);
+}
+
 #endif
diff --git a/backends/platform/gph/gph.h b/backends/platform/gph/gph.h
index c82f763f1d..8be41639e5 100644
--- a/backends/platform/gph/gph.h
+++ b/backends/platform/gph/gph.h
@@ -39,6 +39,7 @@ public:
 	void addSysArchivesToSearchSet(Common::SearchSet &s, int priority);
 	void initBackend();
 	void quit();
+	bool hasFeature(Feature f);
 
 protected:
 	bool _inited;
diff --git a/backends/platform/samsungtv/samsungtv.cpp b/backends/platform/samsungtv/samsungtv.cpp
index 5a103793fa..3a5710b1ab 100644
--- a/backends/platform/samsungtv/samsungtv.cpp
+++ b/backends/platform/samsungtv/samsungtv.cpp
@@ -26,7 +26,6 @@
 
 #include "backends/platform/samsungtv/samsungtv.h"
 #include "backends/events/samsungtvsdl/samsungtvsdl-events.h"
-#include "backends/graphics/samsungtvsdl/samsungtvsdl-graphics.h"
 #include "backends/saves/default/default-saves.h"
 #include "backends/fs/posix/posix-fs.h"
 #include "common/textconsole.h"
@@ -41,9 +40,6 @@ void OSystem_SDL_SamsungTV::initBackend() {
 	if (_eventSource == 0)
 		_eventSource = new SamsungTVSdlEventSource();
 
-	if (_graphicsManager == 0)
-		_graphicsManager = new SamsungTVSdlGraphicsManager(_eventSource, _window);
-
 	// Call parent implementation of this method
 	OSystem_POSIX::initBackend();
 }
@@ -70,4 +66,11 @@ Common::String OSystem_SDL_SamsungTV::getDefaultLogFileName() {
 	return "/mtd_ram/scummvm.log";
 }
 
+bool OSystem_SDL_SamsungTV::hasFeature(Feature f) {
+	if (f == kFeatureFullscreenMode)
+		return false;
+
+	return OSystem_SDL::hasFeature(f);
+}
+
 #endif
diff --git a/backends/platform/samsungtv/samsungtv.h b/backends/platform/samsungtv/samsungtv.h
index 0b98297d79..42a933ff39 100644
--- a/backends/platform/samsungtv/samsungtv.h
+++ b/backends/platform/samsungtv/samsungtv.h
@@ -32,6 +32,7 @@ public:
 	virtual void initBackend();
 	virtual void quit();
 	virtual void fatalError();
+	virtual bool hasFeature(Feature f);
 
 protected:
 	virtual Common::String getDefaultConfigFileName();
diff --git a/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in b/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in
index e6ae1b9f27..0c0811c718 100644
--- a/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in
+++ b/backends/platform/symbian/S60v3/ScummVM_A0000658_S60v3.mmp.in
@@ -142,7 +142,6 @@ SOURCE common\error.cpp
 SOURCE common\quicktime.cpp
 
 // Special for graphics
-SOURCE backends\graphics\symbiansdl\symbiansdl-graphics.cpp
 SOURCE backends\graphics\surfacesdl\surfacesdl-graphics.cpp
 SOURCE engines\obsolete.cpp
 
diff --git a/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in b/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
index 1555db872b..91c5428d56 100644
--- a/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
+++ b/backends/platform/symbian/S60v3/ScummVM_S60v3.mmp.in
@@ -143,7 +143,6 @@ SOURCE common\error.cpp
 SOURCE common\quicktime.cpp
 
 // Special for graphics
-SOURCE backends\graphics\symbiansdl\symbiansdl-graphics.cpp
 SOURCE backends\graphics\surfacesdl\surfacesdl-graphics.cpp
 SOURCE engines\obsolete.cpp
 
diff --git a/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in b/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in
index 0bc0bf1f8e..707f41673c 100644
--- a/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in
+++ b/backends/platform/symbian/UIQ3/ScummVM_A0000658_UIQ3.mmp.in
@@ -139,7 +139,6 @@ source common\error.cpp
 source common\quicktime.cpp
 
 // Special for graphics
-source backends\graphics\symbiansdl\symbiansdl-graphics.cpp
 source backends\graphics\surfacesdl\surfacesdl-graphics.cpp
 source engines\obsolete.cpp
 
diff --git a/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in b/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
index 1c5127ff0f..7350f5bd1f 100644
--- a/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
+++ b/backends/platform/symbian/UIQ3/ScummVM_UIQ3.mmp.in
@@ -139,7 +139,6 @@ source common\error.cpp
 source common\quicktime.cpp
 
 // Special for graphics
-source backends\graphics\symbiansdl\symbiansdl-graphics.cpp
 source backends\graphics\surfacesdl\surfacesdl-graphics.cpp
 source engines\obsolete.cpp
 
diff --git a/backends/platform/symbian/mmp/scummvm_base.mmp.in b/backends/platform/symbian/mmp/scummvm_base.mmp.in
index 703d2c6c32..1e8c4af070 100644
--- a/backends/platform/symbian/mmp/scummvm_base.mmp.in
+++ b/backends/platform/symbian/mmp/scummvm_base.mmp.in
@@ -141,7 +141,6 @@ SOURCE     backends\events\symbiansdl\symbiansdl-events.cpp
 SOURCE	   backends\fs\abstract-fs.cpp
 SOURCE	   backends\fs\symbian\symbianstream.cpp
 SOURCE     backends\graphics\sdl\sdl-graphics.cpp
-SOURCE     backends\graphics\symbiansdl\symbiansdl-graphics.cpp
 SOURCE     backends\keymapper\action.cpp
 SOURCE     backends\keymapper\keymap.cpp
 SOURCE     backends\keymapper\keymapper.cpp
diff --git a/backends/platform/symbian/src/SymbianOS.cpp b/backends/platform/symbian/src/SymbianOS.cpp
index ba96e32ed4..59b2922f3e 100644
--- a/backends/platform/symbian/src/SymbianOS.cpp
+++ b/backends/platform/symbian/src/SymbianOS.cpp
@@ -37,7 +37,6 @@
 #include "backends/fs/symbian/symbian-fs-factory.h"
 #include "backends/saves/default/default-saves.h"
 #include "backends/events/symbiansdl/symbiansdl-events.h"
-#include "backends/graphics/symbiansdl/symbiansdl-graphics.h"
 #include "backends/mixer/symbiansdl/symbiansdl-mixer.h"
 
 #define DEFAULT_CONFIG_FILE "scummvm.ini"
@@ -111,8 +110,6 @@ void OSystem_SDL_Symbian::initBackend() {
 		// Setup and start mixer
 		_mixerManager->init();
 	}
-	if (_graphicsManager == 0)
-		_graphicsManager = new SymbianSdlGraphicsManager(_eventSource, _window);
 
 	// Call parent implementation of this method
 	OSystem_SDL::initBackend();
@@ -170,7 +167,8 @@ Common::String OSystem_SDL_Symbian::getDefaultConfigFileName() {
 }
 
 bool OSystem_SDL_Symbian::hasFeature(Feature f) {
-	if (f == kFeatureJoystickDeadzone) return false;
+	if (f == kFeatureJoystickDeadzone || f == kFeatureFullscreenMode)
+		return false;
 
 	return OSystem_SDL::hasFeature(f);
 }


Commit: f2d323628d7cbf749d656fe5d258a158aa684142
    https://github.com/scummvm/scummvm/commit/f2d323628d7cbf749d656fe5d258a158aa684142
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2020-03-27T22:50:41+01:00

Commit Message:
GCW0: Fully disable the downscaling code

Changed paths:
    backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
    backends/platform/dingux/dingux.cpp
    configure


diff --git a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp b/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
index cfb935c320..956f56f8b2 100644
--- a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
+++ b/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
@@ -35,10 +35,6 @@ static const OSystem::GraphicsMode s_supportedGraphicsModes[] = {
 	{0, 0, 0}
 };
 
-#ifndef USE_SCALERS
-#define DownscaleAllByHalf 0
-#endif
-
 DINGUXSdlGraphicsManager::DINGUXSdlGraphicsManager(SdlEventSource *sdlEventSource, SdlWindow *window)
 	: SurfaceSdlGraphicsManager(sdlEventSource, window) {
 }
@@ -55,9 +51,7 @@ int DINGUXSdlGraphicsManager::getGraphicsModeScale(int mode) const {
 	int scale;
 	switch (mode) {
 	case GFX_NORMAL:
-#ifdef USE_SCALERS
 	case GFX_HALF:
-#endif
 		scale = 1;
 		break;
 	default:
@@ -73,11 +67,9 @@ ScalerProc *DINGUXSdlGraphicsManager::getGraphicsScalerProc(int mode) const {
 	case GFX_NORMAL:
 		newScalerProc = Normal1x;
 		break;
-#ifdef USE_SCALERS
 	case GFX_HALF:
 		newScalerProc = DownscaleAllByHalf;
 		break;
-#endif
 	}
 
 	return newScalerProc;
@@ -114,13 +106,11 @@ void DINGUXSdlGraphicsManager::initSize(uint w, uint h, const Graphics::PixelFor
 	_videoMode.screenWidth = w;
 	_videoMode.screenHeight = h;
 
-#ifndef GCW0
 	if (w > 320 || h > 240) {
 		setGraphicsMode(GFX_HALF);
 		setGraphicsModeIntern();
 		_window->toggleMouseGrab();
 	}
-#endif
 
 	_transactionDetails.sizeChanged = true;
 }
@@ -435,14 +425,11 @@ void DINGUXSdlGraphicsManager::setupHardwareSize() {
 		_videoMode.aspectRatioCorrection = false;
 	}
 
-#ifndef GCW0
 	if (_videoMode.screenWidth > 320 || _videoMode.screenHeight > 240) {
 		_videoMode.aspectRatioCorrection = false;
 		setGraphicsMode(GFX_HALF);
 		debug("GraphicsMode set to HALF");
-	} else
-#endif
-	{
+	} else {
 		setGraphicsMode(GFX_NORMAL);
 		debug("GraphicsMode set to NORMAL");
 	}
diff --git a/backends/platform/dingux/dingux.cpp b/backends/platform/dingux/dingux.cpp
index bf033174c4..c7bead58b3 100644
--- a/backends/platform/dingux/dingux.cpp
+++ b/backends/platform/dingux/dingux.cpp
@@ -33,10 +33,12 @@ void OSystem_SDL_Dingux::initBackend() {
 	if (_eventSource == 0)
 		_eventSource = new DINGUXSdlEventSource();
 
+#ifndef GCW0
 	// Create the graphics manager
 	if (_graphicsManager == 0) {
 		_graphicsManager = new DINGUXSdlGraphicsManager(_eventSource, _window);
 	}
+#endif
 
 	// Call parent implementation of this method
 	OSystem_POSIX::initBackend();
diff --git a/configure b/configure
index 1e6f2abf88..c8bea07f26 100755
--- a/configure
+++ b/configure
@@ -3242,7 +3242,7 @@ if test -n "$_host"; then
 			_mt32emu=no
 			_seq_midi=no
 			_timidity=no
-			_build_scalers=yes
+			_build_scalers=no
 			_optimization_level=-O3
 			_vkeybd=yes
 			_vorbis=no


Commit: d6a02740a8692f31c4ed7aca6367d31c9192bfc4
    https://github.com/scummvm/scummvm/commit/d6a02740a8692f31c4ed7aca6367d31c9192bfc4
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2020-03-27T22:50:41+01:00

Commit Message:
GPH/DINGUX: Unify the downscaling code

Changed paths:
  A backends/graphics/downscalesdl/downscalesdl-graphics.cpp
  A backends/graphics/downscalesdl/downscalesdl-graphics.h
  R backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
  R backends/graphics/dinguxsdl/dinguxsdl-graphics.h
    backends/graphics/gph/gph-graphics.cpp
    backends/graphics/gph/gph-graphics.h
    backends/graphics/openpandora/op-graphics.h
    backends/module.mk
    backends/platform/dingux/dingux.cpp
    backends/platform/dingux/dingux.h


diff --git a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp b/backends/graphics/downscalesdl/downscalesdl-graphics.cpp
similarity index 90%
rename from backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
rename to backends/graphics/downscalesdl/downscalesdl-graphics.cpp
index 956f56f8b2..93a19ff5f9 100644
--- a/backends/graphics/dinguxsdl/dinguxsdl-graphics.cpp
+++ b/backends/graphics/downscalesdl/downscalesdl-graphics.cpp
@@ -22,10 +22,11 @@
 
 #include "common/scummsys.h"
 
-#if defined(DINGUX)
+#if defined(GPH_DEVICE) || defined(DINGUX)
 
-#include "backends/graphics/dinguxsdl/dinguxsdl-graphics.h"
-#include "backends/events/dinguxsdl/dinguxsdl-events.h"
+#include "backends/graphics/downscalesdl/downscalesdl-graphics.h"
+#include "backends/events/sdl/sdl-events.h"
+#include "graphics/scaler/downscaler.h"
 #include "graphics/scaler/aspect.h"
 #include "common/mutex.h"
 #include "common/textconsole.h"
@@ -35,19 +36,19 @@ static const OSystem::GraphicsMode s_supportedGraphicsModes[] = {
 	{0, 0, 0}
 };
 
-DINGUXSdlGraphicsManager::DINGUXSdlGraphicsManager(SdlEventSource *sdlEventSource, SdlWindow *window)
+DownscaleSdlGraphicsManager::DownscaleSdlGraphicsManager(SdlEventSource *sdlEventSource, SdlWindow *window)
 	: SurfaceSdlGraphicsManager(sdlEventSource, window) {
 }
 
-const OSystem::GraphicsMode *DINGUXSdlGraphicsManager::getSupportedGraphicsModes() const {
+const OSystem::GraphicsMode *DownscaleSdlGraphicsManager::getSupportedGraphicsModes() const {
 	return s_supportedGraphicsModes;
 }
 
-int DINGUXSdlGraphicsManager::getDefaultGraphicsMode() const {
+int DownscaleSdlGraphicsManager::getDefaultGraphicsMode() const {
 	return GFX_NORMAL;
 }
 
-int DINGUXSdlGraphicsManager::getGraphicsModeScale(int mode) const {
+int DownscaleSdlGraphicsManager::getGraphicsModeScale(int mode) const {
 	int scale;
 	switch (mode) {
 	case GFX_NORMAL:
@@ -61,7 +62,7 @@ int DINGUXSdlGraphicsManager::getGraphicsModeScale(int mode) const {
 	return scale;
 }
 
-ScalerProc *DINGUXSdlGraphicsManager::getGraphicsScalerProc(int mode) const {
+ScalerProc *DownscaleSdlGraphicsManager::getGraphicsScalerProc(int mode) const {
 	ScalerProc *newScalerProc = 0;
 	switch (_videoMode.mode) {
 	case GFX_NORMAL:
@@ -75,7 +76,7 @@ ScalerProc *DINGUXSdlGraphicsManager::getGraphicsScalerProc(int mode) const {
 	return newScalerProc;
 }
 
-void DINGUXSdlGraphicsManager::initSize(uint w, uint h, const Graphics::PixelFormat *format) {
+void DownscaleSdlGraphicsManager::initSize(uint w, uint h, const Graphics::PixelFormat *format) {
 	assert(_transactionMode == kTransactionActive);
 
 	_gameScreenShakeXOffset = 0;
@@ -115,7 +116,7 @@ void DINGUXSdlGraphicsManager::initSize(uint w, uint h, const Graphics::PixelFor
 	_transactionDetails.sizeChanged = true;
 }
 
-void DINGUXSdlGraphicsManager::drawMouse() {
+void DownscaleSdlGraphicsManager::drawMouse() {
 	if (!_cursorVisible || !_mouseSurface || !_mouseCurState.w || !_mouseCurState.h) {
 		_mouseBackup.x = _mouseBackup.y = _mouseBackup.w = _mouseBackup.h = 0;
 		return;
@@ -182,7 +183,7 @@ void DINGUXSdlGraphicsManager::drawMouse() {
 	addDirtyRect(dst.x, dst.y, dst.w, dst.h, true);
 }
 
-void DINGUXSdlGraphicsManager::undrawMouse() {
+void DownscaleSdlGraphicsManager::undrawMouse() {
 	const int x = _mouseBackup.x;
 	const int y = _mouseBackup.y;
 
@@ -200,7 +201,7 @@ void DINGUXSdlGraphicsManager::undrawMouse() {
 	}
 }
 
-void DINGUXSdlGraphicsManager::internUpdateScreen() {
+void DownscaleSdlGraphicsManager::internUpdateScreen() {
 	SDL_Surface *srcSurf, *origSurf;
 	int height, width;
 	ScalerProc *scalerProc;
@@ -283,6 +284,11 @@ void DINGUXSdlGraphicsManager::internUpdateScreen() {
 		_dirtyRectList[0].y = 0;
 		_dirtyRectList[0].w = width;
 		_dirtyRectList[0].h = height;
+
+#ifdef GPH_DEVICE
+		// HACK: Make sure the full hardware screen is wiped clean.
+		SDL_FillRect(_hwScreen, NULL, 0);
+#endif
 	}
 
 	// Only draw anything if necessary
@@ -399,7 +405,7 @@ void DINGUXSdlGraphicsManager::internUpdateScreen() {
 	_cursorNeedsRedraw = false;
 }
 
-void DINGUXSdlGraphicsManager::showOverlay() {
+void DownscaleSdlGraphicsManager::showOverlay() {
 	if (_videoMode.mode == GFX_HALF) {
 		_cursorX /= 2;
 		_cursorY /= 2;
@@ -407,7 +413,7 @@ void DINGUXSdlGraphicsManager::showOverlay() {
 	SurfaceSdlGraphicsManager::showOverlay();
 }
 
-void DINGUXSdlGraphicsManager::hideOverlay() {
+void DownscaleSdlGraphicsManager::hideOverlay() {
 	if (_videoMode.mode == GFX_HALF) {
 		_cursorX *= 2;
 		_cursorY *= 2;
@@ -415,7 +421,7 @@ void DINGUXSdlGraphicsManager::hideOverlay() {
 	SurfaceSdlGraphicsManager::hideOverlay();
 }
 
-void DINGUXSdlGraphicsManager::setupHardwareSize() {
+void DownscaleSdlGraphicsManager::setupHardwareSize() {
 	debug("Game ScreenMode = %d*%d", _videoMode.screenWidth, _videoMode.screenHeight);
 
 	// Forcefully disable aspect ratio correction for games
@@ -445,7 +451,7 @@ void DINGUXSdlGraphicsManager::setupHardwareSize() {
 	}
 }
 
-void DINGUXSdlGraphicsManager::warpMouse(int x, int y) {
+void DownscaleSdlGraphicsManager::warpMouse(int x, int y) {
 	if (_cursorX != x || _cursorY != y) {
 		if (_videoMode.mode == GFX_HALF && !_overlayVisible) {
 			x /= 2;
@@ -455,7 +461,7 @@ void DINGUXSdlGraphicsManager::warpMouse(int x, int y) {
 	SurfaceSdlGraphicsManager::warpMouse(x, y);
 }
 
-void DINGUXSdlGraphicsManager::transformMouseCoordinates(Common::Point &point) {
+void DownscaleSdlGraphicsManager::transformMouseCoordinates(Common::Point &point) {
 	if (!_overlayVisible) {
 		if (_videoMode.mode == GFX_HALF) {
 			point.x *= 2;
diff --git a/backends/graphics/dinguxsdl/dinguxsdl-graphics.h b/backends/graphics/downscalesdl/downscalesdl-graphics.h
similarity index 82%
rename from backends/graphics/dinguxsdl/dinguxsdl-graphics.h
rename to backends/graphics/downscalesdl/downscalesdl-graphics.h
index b45cfd7292..4e3f79dd39 100644
--- a/backends/graphics/dinguxsdl/dinguxsdl-graphics.h
+++ b/backends/graphics/downscalesdl/downscalesdl-graphics.h
@@ -20,21 +20,18 @@
  *
  */
 
-#ifndef BACKENDS_GRAPHICS_SDL_DINGUX_H
-#define BACKENDS_GRAPHICS_SDL_DINGUX_H
+#ifndef BACKENDS_GRAPHICS_SDL_DOWNSCALE_H
+#define BACKENDS_GRAPHICS_SDL_DOWNSCALE_H
 
 #include "backends/graphics/surfacesdl/surfacesdl-graphics.h"
 
-#include "graphics/scaler/aspect.h"	// for aspect2Real
-#include "graphics/scaler/downscaler.h"
-
 enum {
 	GFX_HALF = 12
 };
 
-class DINGUXSdlGraphicsManager : public SurfaceSdlGraphicsManager {
+class DownscaleSdlGraphicsManager : public SurfaceSdlGraphicsManager {
 public:
-	DINGUXSdlGraphicsManager(SdlEventSource *boss, SdlWindow *window);
+	DownscaleSdlGraphicsManager(SdlEventSource *boss, SdlWindow *window);
 
 	int getDefaultGraphicsMode() const override;
 
@@ -55,4 +52,4 @@ protected:
 	void setupHardwareSize() override;
 };
 
-#endif /* BACKENDS_GRAPHICS_SDL_DINGUX_H */
+#endif /* BACKENDS_GRAPHICS_SDL_DOWNSCALE_H */
diff --git a/backends/graphics/gph/gph-graphics.cpp b/backends/graphics/gph/gph-graphics.cpp
index f7fba4a07a..97e44e423c 100644
--- a/backends/graphics/gph/gph-graphics.cpp
+++ b/backends/graphics/gph/gph-graphics.cpp
@@ -25,400 +25,16 @@
 #if defined(GPH_DEVICE)
 
 #include "backends/graphics/gph/gph-graphics.h"
-#include "backends/events/gph/gph-events.h"
-#include "graphics/scaler/aspect.h"
-#include "common/mutex.h"
-#include "common/textconsole.h"
-
-static const OSystem::GraphicsMode s_supportedGraphicsModes[] = {
-	{"1x", "Standard", GFX_NORMAL},
-	{0, 0, 0}
-};
 
 GPHGraphicsManager::GPHGraphicsManager(SdlEventSource *sdlEventSource, SdlWindow *window)
-	: SurfaceSdlGraphicsManager(sdlEventSource, window) {
-}
-
-const OSystem::GraphicsMode *GPHGraphicsManager::getSupportedGraphicsModes() const {
-	return s_supportedGraphicsModes;
-}
-
-int GPHGraphicsManager::getDefaultGraphicsMode() const {
-	return GFX_NORMAL;
-}
-
-int GPHGraphicsManager::getGraphicsModeScale(int mode) const {
-	int scale;
-	switch (mode) {
-	case GFX_NORMAL:
-	case GFX_HALF:
-		scale = 1;
-		break;
-	default:
-		scale = -1;
-	}
-
-	return scale;
-}
-
-ScalerProc *GPHGraphicsManager::getGraphicsScalerProc(int mode) const {
-	ScalerProc *newScalerProc = 0;
-	switch (_videoMode.mode) {
-	case GFX_NORMAL:
-		newScalerProc = Normal1x;
-		break;
-	case GFX_HALF:
-		newScalerProc = DownscaleAllByHalf;
-		break;
-	}
-
-	return newScalerProc;
+	: DownscaleSdlGraphicsManager(sdlEventSource, window) {
 }
 
 void GPHGraphicsManager::initSize(uint w, uint h, const Graphics::PixelFormat *format) {
-	assert(_transactionMode == kTransactionActive);
-
-	_gameScreenShakeXOffset = 0;
-	_gameScreenShakeYOffset = 0;
-
-#ifdef USE_RGB_COLOR
-	// Avoid redundant format changes
-	Graphics::PixelFormat newFormat;
-	if (!format)
-		newFormat = Graphics::PixelFormat::createFormatCLUT8();
-	else
-		newFormat = *format;
-
-	assert(newFormat.bytesPerPixel > 0);
-
-	if (newFormat != _videoMode.format) {
-		_videoMode.format = newFormat;
-		_transactionDetails.formatChanged = true;
-		_screenFormat = newFormat;
-	}
-#endif
-
-
-	// Avoid redundant res changes
-	if ((int)w == _videoMode.screenWidth && (int)h == _videoMode.screenHeight)
-		return;
-
-	_videoMode.screenWidth = w;
-	_videoMode.screenHeight = h;
-
-	if (w > 320 || h > 240) {
-		setGraphicsMode(GFX_HALF);
-		setGraphicsModeIntern();
-		_window->toggleMouseGrab();
-	}
+	DownscaleSdlGraphicsManager::initSize(w, h, format);
 
 	_videoMode.overlayWidth = 320;
 	_videoMode.overlayHeight = 240;
-
-	_transactionDetails.sizeChanged = true;
-}
-
-void GPHGraphicsManager::drawMouse() {
-	if (!_cursorVisible || !_mouseSurface || !_mouseCurState.w || !_mouseCurState.h) {
-		_mouseBackup.x = _mouseBackup.y = _mouseBackup.w = _mouseBackup.h = 0;
-		return;
-	}
-
-	SDL_Rect dst;
-	int scale;
-	int hotX, hotY;
-
-	const Common::Point virtualCursor = convertWindowToVirtual(_cursorX, _cursorY);
-
-	if (_videoMode.mode == GFX_HALF && !_overlayVisible) {
-		dst.x = virtualCursor.x / 2;
-		dst.y = virtualCursor.y / 2;
-	} else {
-		dst.x = virtualCursor.x;
-		dst.y = virtualCursor.y;
-	}
-
-	if (!_overlayVisible) {
-		scale = _videoMode.scaleFactor;
-		dst.w = _mouseCurState.vW;
-		dst.h = _mouseCurState.vH;
-		hotX = _mouseCurState.vHotX;
-		hotY = _mouseCurState.vHotY;
-	} else {
-		scale = 1;
-		dst.w = _mouseCurState.rW;
-		dst.h = _mouseCurState.rH;
-		hotX = _mouseCurState.rHotX;
-		hotY = _mouseCurState.rHotY;
-	}
-
-	// The mouse is undrawn using virtual coordinates, i.e. they may be
-	// scaled and aspect-ratio corrected.
-
-	_mouseBackup.x = dst.x - hotX;
-	_mouseBackup.y = dst.y - hotY;
-	_mouseBackup.w = dst.w;
-	_mouseBackup.h = dst.h;
-
-	// We draw the pre-scaled cursor image, so now we need to adjust for
-	// scaling, shake position and aspect ratio correction manually.
-
-	dst.x += _currentShakeXOffset;
-	dst.y += _currentShakeYOffset;
-
-	if (_videoMode.aspectRatioCorrection && !_overlayVisible)
-		dst.y = real2Aspect(dst.y);
-
-	dst.x = scale * dst.x - _mouseCurState.rHotX;
-	dst.y = scale * dst.y - _mouseCurState.rHotY;
-	dst.w = _mouseCurState.rW;
-	dst.h = _mouseCurState.rH;
-
-	// Note that SDL_BlitSurface() and addDirtyRect() will both perform any
-	// clipping necessary
-
-	if (SDL_BlitSurface(_mouseSurface, nullptr, _hwScreen, &dst) != 0)
-		error("SDL_BlitSurface failed: %s", SDL_GetError());
-
-	// The screen will be updated using real surface coordinates, i.e.
-	// they will not be scaled or aspect-ratio corrected.
-	addDirtyRect(dst.x, dst.y, dst.w, dst.h, true);
-}
-
-void GPHGraphicsManager::undrawMouse() {
-	const int x = _mouseBackup.x;
-	const int y = _mouseBackup.y;
-
-	// When we switch bigger overlay off mouse jumps. Argh!
-	// This is intended to prevent undrawing offscreen mouse
-	if (!_overlayVisible && (x >= _videoMode.screenWidth || y >= _videoMode.screenHeight))
-		return;
-
-	if (_mouseBackup.w != 0 && _mouseBackup.h != 0) {
-		if (_videoMode.mode == GFX_HALF && !_overlayVisible) {
-			addDirtyRect(x * 2, y * 2, _mouseBackup.w * 2, _mouseBackup.h * 2);
-		} else {
-			addDirtyRect(x, y, _mouseBackup.w, _mouseBackup.h);
-		}
-	}
-}
-
-void GPHGraphicsManager::internUpdateScreen() {
-	SDL_Surface *srcSurf, *origSurf;
-	int height, width;
-	ScalerProc *scalerProc;
-	int scale1;
-
-#if defined(DEBUG)
-	assert(_hwScreen != NULL);
-	assert(_hwScreen->map->sw_data != NULL);
-#endif
-
-	// If the shake position changed, fill the dirty area with blackness
-	if (_currentShakeXOffset != _gameScreenShakeXOffset ||
-		(_cursorNeedsRedraw && _mouseBackup.x <= _currentShakeXOffset)) {
-		SDL_Rect blackrect = {0, 0, (Uint16)(_gameScreenShakeXOffset * _videoMode.scaleFactor), (Uint16)(_videoMode.screenHeight * _videoMode.scaleFactor)};
-
-		if (_videoMode.aspectRatioCorrection && !_overlayVisible)
-			blackrect.h = real2Aspect(blackrect.h - 1) + 1;
-
-		SDL_FillRect(_hwScreen, &blackrect, 0);
-
-		_currentShakeXOffset = _gameScreenShakeXOffset;
-
-		_forceRedraw = true;
-	}
-	if (_currentShakeYOffset != _gameScreenShakeYOffset ||
-		(_cursorNeedsRedraw && _mouseBackup.y <= _currentShakeYOffset)) {
-		SDL_Rect blackrect = {0, 0, (Uint16)(_videoMode.screenWidth * _videoMode.scaleFactor), (Uint16)(_gameScreenShakeYOffset * _videoMode.scaleFactor)};
-
-		if (_videoMode.aspectRatioCorrection && !_overlayVisible)
-			blackrect.h = real2Aspect(blackrect.h - 1) + 1;
-
-		SDL_FillRect(_hwScreen, &blackrect, 0);
-
-		_currentShakeYOffset = _gameScreenShakeYOffset;
-
-		_forceRedraw = true;
-	}
-
-	// Check whether the palette was changed in the meantime and update the
-	// screen surface accordingly.
-	if (_screen && _paletteDirtyEnd != 0) {
-		SDL_SetColors(_screen, _currentPalette + _paletteDirtyStart,
-		              _paletteDirtyStart,
-		              _paletteDirtyEnd - _paletteDirtyStart);
-
-		_paletteDirtyEnd = 0;
-
-		_forceRedraw = true;
-	}
-
-	if (!_overlayVisible) {
-		origSurf = _screen;
-		srcSurf = _tmpscreen;
-		width = _videoMode.screenWidth;
-		height = _videoMode.screenHeight;
-		scalerProc = _scalerProc;
-		scale1 = _videoMode.scaleFactor;
-	} else {
-		origSurf = _overlayscreen;
-		srcSurf = _tmpscreen2;
-		width = _videoMode.overlayWidth;
-		height = _videoMode.overlayHeight;
-		scalerProc = Normal1x;
-		scale1 = 1;
-	}
-
-	// Add the area covered by the mouse cursor to the list of dirty rects if
-	// we have to redraw the mouse.
-	if (_cursorNeedsRedraw)
-		undrawMouse();
-
-#ifdef USE_OSD
-	updateOSD();
-#endif
-
-	// Force a full redraw if requested
-	if (_forceRedraw) {
-		_numDirtyRects = 1;
-		_dirtyRectList[0].x = 0;
-		_dirtyRectList[0].y = 0;
-		_dirtyRectList[0].w = width;
-		_dirtyRectList[0].h = height;
-
-		// HACK: Make sure the full hardware screen is wiped clean.
-		SDL_FillRect(_hwScreen, NULL, 0);
-	}
-
-	// Only draw anything if necessary
-	if (_numDirtyRects > 0 || _cursorNeedsRedraw) {
-		SDL_Rect *r;
-		SDL_Rect dst;
-		uint32 srcPitch, dstPitch;
-		SDL_Rect *lastRect = _dirtyRectList + _numDirtyRects;
-
-		for (r = _dirtyRectList; r != lastRect; ++r) {
-			dst = *r;
-			dst.x++;    // Shift rect by one since 2xSai needs to access the data around
-			dst.y++;    // any pixel to scale it, and we want to avoid mem access crashes.
-
-			if (SDL_BlitSurface(origSurf, r, srcSurf, &dst) != 0)
-				error("SDL_BlitSurface failed: %s", SDL_GetError());
-		}
-
-		SDL_LockSurface(srcSurf);
-		SDL_LockSurface(_hwScreen);
-
-		srcPitch = srcSurf->pitch;
-		dstPitch = _hwScreen->pitch;
-
-		for (r = _dirtyRectList; r != lastRect; ++r) {
-			int dst_y = r->y + _currentShakeYOffset;
-			int dst_h = 0;
-			int dst_w = 0;
-			int orig_dst_y = 0;
-			int dst_x = r->x + _currentShakeXOffset;
-			int src_y;
-			int src_x;
-
-			if (dst_x < width && dst_y < height) {
-				dst_w = r->w;
-				if (dst_w > width - dst_x)
-					dst_w = width - dst_x;
-
-				dst_h = r->h;
-				if (dst_h > height - dst_y)
-					dst_h = height - dst_y;
-
-				orig_dst_y = dst_y;
-				src_x = dst_x;
-				src_y = dst_y;
-
-				if (_videoMode.aspectRatioCorrection && !_overlayVisible)
-					dst_y = real2Aspect(dst_y);
-
-				assert(scalerProc != NULL);
-
-				if (_videoMode.mode == GFX_HALF && scalerProc == DownscaleAllByHalf) {
-					if (dst_x % 2 == 1) {
-						dst_x--;
-						dst_w++;
-					}
-					if (dst_y % 2 == 1) {
-						dst_y--;
-						dst_h++;
-					}
-					src_x = dst_x;
-					src_y = dst_y;
-					dst_x = dst_x / 2;
-					dst_y = dst_y / 2;
-
-					scalerProc((byte *)srcSurf->pixels + (src_x * 2 + 2) + (src_y + 1) * srcPitch, srcPitch,
-					           (byte *)_hwScreen->pixels + dst_x * 2 + dst_y * dstPitch, dstPitch, dst_w, dst_h);
-				} else {
-					scalerProc((byte *)srcSurf->pixels + (r->x * 2 + 2) + (r->y + 1) * srcPitch, srcPitch,
-					           (byte *)_hwScreen->pixels + dst_x * 2 + dst_y * dstPitch, dstPitch, dst_w, dst_h);
-				}
-			}
-
-			if (_videoMode.mode == GFX_HALF && scalerProc == DownscaleAllByHalf) {
-				r->w = dst_w / 2;
-				r->h = dst_h / 2;
-			} else {
-				r->w = dst_w;
-				r->h = dst_h;
-			}
-
-			r->x = dst_x;
-			r->y = dst_y;
-
-#ifdef USE_SCALERS
-			if (_videoMode.aspectRatioCorrection && orig_dst_y < height && !_overlayVisible)
-				r->h = stretch200To240((uint8 *) _hwScreen->pixels, dstPitch, r->w, r->h, r->x, r->y, orig_dst_y * scale1, _videoMode.filtering);
-#endif
-		}
-		SDL_UnlockSurface(srcSurf);
-		SDL_UnlockSurface(_hwScreen);
-
-		// Readjust the dirty rect list in case we are doing a full update.
-		// This is necessary if shaking is active.
-		if (_forceRedraw) {
-			_dirtyRectList[0].x = 0;
-			_dirtyRectList[0].y = 0;
-			_dirtyRectList[0].w = (_videoMode.mode == GFX_HALF) ? _videoMode.hardwareWidth / 2 : _videoMode.hardwareWidth;
-			_dirtyRectList[0].h = (_videoMode.mode == GFX_HALF) ? _videoMode.hardwareHeight / 2 : _videoMode.hardwareHeight;
-		}
-
-		drawMouse();
-
-#ifdef USE_OSD
-		drawOSD();
-#endif
-
-		// Finally, blit all our changes to the screen
-		SDL_UpdateRects(_hwScreen, _numDirtyRects, _dirtyRectList);
-	}
-
-	_numDirtyRects = 0;
-	_forceRedraw = false;
-	_cursorNeedsRedraw = false;
-}
-
-void GPHGraphicsManager::showOverlay() {
-	if (_videoMode.mode == GFX_HALF) {
-		_cursorX /= 2;
-		_cursorY /= 2;
-	}
-	SurfaceSdlGraphicsManager::showOverlay();
-}
-
-void GPHGraphicsManager::hideOverlay() {
-	if (_videoMode.mode == GFX_HALF) {
-		_cursorX *= 2;
-		_cursorY *= 2;
-	}
-	SurfaceSdlGraphicsManager::hideOverlay();
 }
 
 void GPHGraphicsManager::setupHardwareSize() {
@@ -449,7 +65,7 @@ void GPHGraphicsManager::setupHardwareSize() {
 }
 
 bool GPHGraphicsManager::loadGFXMode() {
-	bool success = SurfaceSdlGraphicsManager::loadGFXMode();
+	bool success = DownscaleSdlGraphicsManager::loadGFXMode();
 
 	// The old GP2X hacked SDL needs this after any call to SDL_SetVideoMode
 	// and it does not hurt other devices.
@@ -458,27 +74,4 @@ bool GPHGraphicsManager::loadGFXMode() {
 	return success;
 }
 
-void GPHGraphicsManager::warpMouse(int x, int y) {
-	if (_cursorX != x || _cursorY != y) {
-		if (_videoMode.mode == GFX_HALF && !_overlayVisible) {
-			x /= 2;
-			y /= 2;
-		}
-	}
-	SurfaceSdlGraphicsManager::warpMouse(x, y);
-}
-
-void GPHGraphicsManager::transformMouseCoordinates(Common::Point &point) {
-	if (!_overlayVisible) {
-		if (_videoMode.mode == GFX_HALF) {
-			point.x *= 2;
-			point.y *= 2;
-		}
-		point.x /= _videoMode.scaleFactor;
-		point.y /= _videoMode.scaleFactor;
-		if (_videoMode.aspectRatioCorrection)
-			point.y = aspect2Real(point.y);
-	}
-}
-
 #endif
diff --git a/backends/graphics/gph/gph-graphics.h b/backends/graphics/gph/gph-graphics.h
index f53fd8fc3c..30fa1b74de 100644
--- a/backends/graphics/gph/gph-graphics.h
+++ b/backends/graphics/gph/gph-graphics.h
@@ -23,33 +23,14 @@
 #ifndef BACKENDS_GRAPHICS_GPH_H
 #define BACKENDS_GRAPHICS_GPH_H
 
-#include "backends/graphics/surfacesdl/surfacesdl-graphics.h"
-#include "graphics/scaler/aspect.h" // for aspect2Real
-#include "graphics/scaler/downscaler.h"
+#include "backends/graphics/downscalesdl/downscalesdl-graphics.h"
 
-enum {
-	GFX_HALF = 12
-};
-
-class GPHGraphicsManager : public SurfaceSdlGraphicsManager {
+class GPHGraphicsManager : public DownscaleSdlGraphicsManager {
 public:
 	GPHGraphicsManager(SdlEventSource *boss, SdlWindow *window);
 
-	int getDefaultGraphicsMode() const override;
-
 	void initSize(uint w, uint h, const Graphics::PixelFormat *format = NULL) override;
-	const OSystem::GraphicsMode *getSupportedGraphicsModes() const override;
-	int getGraphicsModeScale(int mode) const override;
-	ScalerProc *getGraphicsScalerProc(int mode) const override;
-	void internUpdateScreen() override;
-	void showOverlay() override;
-	void hideOverlay() override;
 	bool loadGFXMode() override;
-	void drawMouse() override;
-	void undrawMouse() override;
-	void warpMouse(int x, int y) override;
-
-	virtual void transformMouseCoordinates(Common::Point &point);
 
 protected:
 	void setupHardwareSize() override;
diff --git a/backends/graphics/openpandora/op-graphics.h b/backends/graphics/openpandora/op-graphics.h
index 56777dc892..3b6e642a52 100644
--- a/backends/graphics/openpandora/op-graphics.h
+++ b/backends/graphics/openpandora/op-graphics.h
@@ -24,11 +24,6 @@
 #define BACKENDS_GRAPHICS_OP_H
 
 #include "backends/graphics/surfacesdl/surfacesdl-graphics.h"
-#include "graphics/scaler/downscaler.h"
-
-enum {
-	GFX_HALF = 12
-};
 
 class OPGraphicsManager : public SurfaceSdlGraphicsManager {
 public:
diff --git a/backends/module.mk b/backends/module.mk
index f4f076fd38..f2e5d0f97b 100644
--- a/backends/module.mk
+++ b/backends/module.mk
@@ -276,13 +276,14 @@ endif
 ifeq ($(BACKEND),dingux)
 MODULE_OBJS += \
 	events/dinguxsdl/dinguxsdl-events.o \
-	graphics/dinguxsdl/dinguxsdl-graphics.o
+	graphics/downscalesdl/downscalesdl-graphics.o
 endif
 
 ifeq ($(BACKEND),gph)
 MODULE_OBJS += \
 	events/gph/gph-events.o \
-	graphics/gph/gph-graphics.o
+	graphics/gph/gph-graphics.o \
+	graphics/downscalesdl/downscalesdl-graphics.o
 endif
 
 ifeq ($(BACKEND),maemo)
diff --git a/backends/platform/dingux/dingux.cpp b/backends/platform/dingux/dingux.cpp
index c7bead58b3..7448c40536 100644
--- a/backends/platform/dingux/dingux.cpp
+++ b/backends/platform/dingux/dingux.cpp
@@ -24,7 +24,7 @@
 
 #include "backends/platform/dingux/dingux.h"
 #include "backends/events/dinguxsdl/dinguxsdl-events.h"
-#include "backends/graphics/dinguxsdl/dinguxsdl-graphics.h"
+#include "backends/graphics/downscalesdl/downscalesdl-graphics.h"
 
 void OSystem_SDL_Dingux::initBackend() {
 	ConfMan.registerDefault("fullscreen", true);
@@ -36,7 +36,7 @@ void OSystem_SDL_Dingux::initBackend() {
 #ifndef GCW0
 	// Create the graphics manager
 	if (_graphicsManager == 0) {
-		_graphicsManager = new DINGUXSdlGraphicsManager(_eventSource, _window);
+		_graphicsManager = new DownscaleSdlGraphicsManager(_eventSource, _window);
 	}
 #endif
 
diff --git a/backends/platform/dingux/dingux.h b/backends/platform/dingux/dingux.h
index aee9348a8d..5967a8abf2 100644
--- a/backends/platform/dingux/dingux.h
+++ b/backends/platform/dingux/dingux.h
@@ -25,11 +25,7 @@
 
 #if defined(DINGUX)
 
-#include "backends/base-backend.h"
-#include "backends/platform/sdl/sdl.h"
 #include "backends/platform/sdl/posix/posix.h"
-#include "backends/graphics/dinguxsdl/dinguxsdl-graphics.h"
-#include "backends/events/dinguxsdl/dinguxsdl-events.h"
 
 class OSystem_SDL_Dingux : public OSystem_POSIX {
 public:




More information about the Scummvm-git-logs mailing list