diff options
| author | Johannes Schickel | 2015-02-16 01:24:42 +0100 | 
|---|---|---|
| committer | Johannes Schickel | 2015-02-16 01:25:22 +0100 | 
| commit | 3f22c12c56572d7c0b46e734179255062f81f45c (patch) | |
| tree | 5a070061aa6aef0c1ddf8ce8d120bf45c163a811 /backends/platform/sdl/sdl.cpp | |
| parent | 627d766325e1d435816648f85dbf9c007269b3f2 (diff) | |
| download | scummvm-rg350-3f22c12c56572d7c0b46e734179255062f81f45c.tar.gz scummvm-rg350-3f22c12c56572d7c0b46e734179255062f81f45c.tar.bz2 scummvm-rg350-3f22c12c56572d7c0b46e734179255062f81f45c.zip | |
SDL: Handle icon setup in SdlWindow.
Diffstat (limited to 'backends/platform/sdl/sdl.cpp')
| -rw-r--r-- | backends/platform/sdl/sdl.cpp | 65 | 
1 files changed, 1 insertions, 64 deletions
| diff --git a/backends/platform/sdl/sdl.cpp b/backends/platform/sdl/sdl.cpp index 7978022d6b..6d4dede212 100644 --- a/backends/platform/sdl/sdl.cpp +++ b/backends/platform/sdl/sdl.cpp @@ -52,8 +52,6 @@  #include "graphics/cursorman.h"  #endif -#include "icons/scummvm.xpm" -  #include <time.h>	// for getTimeAndDate()  #ifdef USE_DETECTLANG @@ -258,7 +256,7 @@ void OSystem_SDL::initBackend() {  	}  	// Setup a custom program icon. -	setupIcon(); +	_window->setupIcon();  	_inited = true; @@ -441,67 +439,6 @@ Common::String OSystem_SDL::getSystemLanguage() const {  #endif // USE_DETECTLANG  } -void OSystem_SDL::setupIcon() { -	int x, y, w, h, ncols, nbytes, i; -	unsigned int rgba[256]; -	unsigned int *icon; - -	if (sscanf(scummvm_icon[0], "%d %d %d %d", &w, &h, &ncols, &nbytes) != 4) { -		warning("Wrong format of scummvm_icon[0] (%s)", scummvm_icon[0]); - -		return; -	} -	if ((w > 512) || (h > 512) || (ncols > 255) || (nbytes > 1)) { -		warning("Could not load the built-in icon (%d %d %d %d)", w, h, ncols, nbytes); -		return; -	} -	icon = (unsigned int*)malloc(w*h*sizeof(unsigned int)); -	if (!icon) { -		warning("Could not allocate temp storage for the built-in icon"); -		return; -	} - -	for (i = 0; i < ncols; i++) { -		unsigned char code; -		char color[32]; -		memset(color, 0, sizeof(color)); -		unsigned int col; -		if (sscanf(scummvm_icon[1 + i], "%c c %s", &code, color) != 2) { -			warning("Wrong format of scummvm_icon[%d] (%s)", 1 + i, scummvm_icon[1 + i]); -		} -		if (!strcmp(color, "None")) -			col = 0x00000000; -		else if (!strcmp(color, "black")) -			col = 0xFF000000; -		else if (color[0] == '#') { -			if (sscanf(color + 1, "%06x", &col) != 1) { -				warning("Wrong format of color (%s)", color + 1); -			} -			col |= 0xFF000000; -		} else { -			warning("Could not load the built-in icon (%d %s - %s) ", code, color, scummvm_icon[1 + i]); -			free(icon); -			return; -		} - -		rgba[code] = col; -	} -	for (y = 0; y < h; y++) { -		const char *line = scummvm_icon[1 + ncols + y]; -		for (x = 0; x < w; x++) { -			icon[x + w * y] = rgba[(int)line[x]]; -		} -	} - -	SDL_Surface *sdl_surf = SDL_CreateRGBSurfaceFrom(icon, w, h, 32, w * 4, 0xFF0000, 0x00FF00, 0x0000FF, 0xFF000000); -	if (!sdl_surf) { -		warning("SDL_CreateRGBSurfaceFrom(icon) failed"); -	} -	_window->setWindowIcon(sdl_surf); -	free(icon); -} - -  uint32 OSystem_SDL::getMillis(bool skipRecord) {  	uint32 millis = SDL_GetTicks(); | 
