OPENPANDORA: Free hiddenCursor on unloadGFXMode and cleanup screen setup.

* Also remove some old cruft in the form of commented code.
This commit is contained in:
David-John Willis 2012-07-24 10:05:42 +01:00
parent 45354676eb
commit 6f978ee78b
2 changed files with 21 additions and 29 deletions

View File

@ -26,7 +26,6 @@
#include "backends/graphics/openpandora/op-graphics.h"
#include "backends/events/openpandora/op-events.h"
//#include "backends/platform/openpandora/op-sdl.h"
#include "graphics/scaler/aspect.h"
#include "common/mutex.h"
#include "common/textconsole.h"
@ -54,18 +53,32 @@ bool OPGraphicsManager::loadGFXMode() {
SDL_ShowCursor(SDL_ENABLE);
SDL_SetCursor(hiddenCursor);
/* FIXME: For now we just cheat and set the overlay to 640*480 not 800*480 and let SDL
deal with the boarders (it saves cleaning up the overlay when the game screen is
smaller than the overlay ;)
*/
//_videoMode.overlayWidth = 640;
//_videoMode.overlayHeight = 480;
_videoMode.fullscreen = true;
_videoMode.overlayWidth = _videoMode.screenWidth * _videoMode.scaleFactor;
_videoMode.overlayHeight = _videoMode.screenHeight * _videoMode.scaleFactor;
if (_videoMode.screenHeight != 200 && _videoMode.screenHeight != 400)
_videoMode.aspectRatioCorrection = false;
if (_videoMode.aspectRatioCorrection)
_videoMode.overlayHeight = real2Aspect(_videoMode.overlayHeight);
_videoMode.hardwareWidth = _videoMode.screenWidth * _videoMode.scaleFactor;
_videoMode.hardwareHeight = effectiveScreenHeight();
return SurfaceSdlGraphicsManager::loadGFXMode();
}
void OPGraphicsManager::unloadGFXMode() {
uint8_t hiddenCursorData = 0;
hiddenCursor = SDL_CreateCursor(&hiddenCursorData, &hiddenCursorData, 8, 1, 0, 0);
// Free the hidden SDL cursor created in loadGFXMode
SDL_FreeCursor(hiddenCursor);
SurfaceSdlGraphicsManager::unloadGFXMode();
}
#endif

View File

@ -24,7 +24,6 @@
#define BACKENDS_GRAPHICS_OP_H
#include "backends/graphics/surfacesdl/surfacesdl-graphics.h"
#include "graphics/scaler/aspect.h" // for aspect2Real
#include "graphics/scaler/downscaler.h"
enum {
@ -35,28 +34,8 @@ class OPGraphicsManager : public SurfaceSdlGraphicsManager {
public:
OPGraphicsManager(SdlEventSource *sdlEventSource);
// bool hasFeature(OSystem::Feature f);
// void setFeatureState(OSystem::Feature f, bool enable);
// bool getFeatureState(OSystem::Feature f);
// int getDefaultGraphicsMode() const;
// void initSize(uint w, uint h, const Graphics::PixelFormat *format = NULL);
// const OSystem::GraphicsMode *getSupportedGraphicsModes() const;
// bool setGraphicsMode(const char *name);
// bool setGraphicsMode(int mode);
// void setGraphicsModeIntern();
// void internUpdateScreen();
// void showOverlay();
// void hideOverlay();
bool loadGFXMode();
// void drawMouse();
// void undrawMouse();
// virtual void warpMouse(int x, int y);
// SurfaceSdlGraphicsManager::MousePos *getMouseCurState();
// SurfaceSdlGraphicsManager::VideoState *getVideoMode();
// virtual void adjustMouseEvent(const Common::Event &event);
void unloadGFXMode();
};
#endif /* BACKENDS_GRAPHICS_OP_H */