diff options
| author | Alejandro Marzini | 2010-06-13 20:31:25 +0000 | 
|---|---|---|
| committer | Alejandro Marzini | 2010-06-13 20:31:25 +0000 | 
| commit | 360b82858cd21307a784fe1029825021e076756f (patch) | |
| tree | e5d29f0b753a1fb8e241b95f9977cc94db86412e /backends/platform/sdl/sdl.cpp | |
| parent | 3cfa482b43dcfef774fb0c284bf19ab07cdc4f20 (diff) | |
| download | scummvm-rg350-360b82858cd21307a784fe1029825021e076756f.tar.gz scummvm-rg350-360b82858cd21307a784fe1029825021e076756f.tar.bz2 scummvm-rg350-360b82858cd21307a784fe1029825021e076756f.zip | |
Added SdlEventManager.
svn-id: r49635
Diffstat (limited to 'backends/platform/sdl/sdl.cpp')
| -rw-r--r-- | backends/platform/sdl/sdl.cpp | 38 | 
1 files changed, 15 insertions, 23 deletions
| diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp index 76e795004d..46984d1c8e 100644 --- a/backends/platform/sdl/sdl.cpp +++ b/backends/platform/sdl/sdl.cpp @@ -45,6 +45,8 @@  #include "backends/mixer/sdl/sdl-mixer.h" +#include "backends/events/sdl/sdl-events.h" +  #include "icons/scummvm.xpm"  #include <time.h>	// for getTimeAndDate() @@ -86,15 +88,11 @@ static Uint32 timer_handler(Uint32 interval, void *param) {  void OSystem_SDL::initBackend() {  	assert(!_inited); -	int joystick_num = ConfMan.getInt("joystick_num");  	uint32 sdlFlags = 0;  	if (ConfMan.hasKey("disable_sdl_parachute"))  		sdlFlags |= SDL_INIT_NOPARACHUTE; -	if (joystick_num > -1) -		sdlFlags |= SDL_INIT_JOYSTICK; -  	if (SDL_Init(sdlFlags) == -1) {  		error("Could not initialize SDL: %s", SDL_GetError());  	} @@ -108,16 +106,10 @@ void OSystem_SDL::initBackend() {  		_mutexManager = new SdlMutexManager();  	} -	// enable joystick -	if (joystick_num > -1 && SDL_NumJoysticks() > 0) { -		printf("Using joystick: %s\n", SDL_JoystickName(0)); -		_joystick = SDL_JoystickOpen(joystick_num); -	} -  	// Create and hook up the event manager, if none exists yet (we check for  	// this to allow subclasses to provide their own).  	if (_eventManager == 0) { -		_eventManager = new DefaultEventManager(this); +		_eventManager = new SdlEventManager(this);  	}  	// Create the savefile manager, if none exists yet (we check for this to @@ -177,14 +169,7 @@ void OSystem_SDL::initBackend() {  OSystem_SDL::OSystem_SDL()  	: -	_scrollLock(false), -	_joystick(0) { - -	// reset mouse state -	memset(&_km, 0, sizeof(_km)); - -	_inited = false; - +	_inited(false) {  	#if defined(__amigaos4__)  		_fsFactory = new AmigaOSFilesystemFactory();  	#elif defined(UNIX) @@ -351,9 +336,6 @@ void OSystem_SDL::setWindowCaption(const char *caption) {  }  void OSystem_SDL::deinit() { -	if (_joystick) -		SDL_JoystickClose(_joystick); -  	SDL_ShowCursor(SDL_ENABLE);  	SDL_RemoveTimer(_timerID); @@ -366,7 +348,7 @@ void OSystem_SDL::deinit() {  	// Event Manager requires save manager for storing  	// recorded events -	delete getEventManager(); +	delete _eventManager;  	delete _savefileManager;  } @@ -429,3 +411,13 @@ void OSystem_SDL::setupIcon() {  	SDL_FreeSurface(sdl_surf);  	free(icon);  } + +SdlGraphicsManager *OSystem_SDL::getGraphicsManager() { +	assert(_graphicsManager); +	return (SdlGraphicsManager *)_graphicsManager; +} + +bool OSystem_SDL::pollEvent(Common::Event &event) { +	assert(_eventManager); +	return ((SdlEventManager *)_eventManager)->pollSdlEvent(event); +} | 
