Mercurial > sdl-ios-xcode
diff src/SDL_compat.c @ 2266:e61ad15a205f
More work in progress integrating SDL_Surface and the new SDL_Texture API
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 18 Aug 2007 01:44:21 +0000 |
parents | eebaa05f8bd9 |
children | c785543d1843 |
line wrap: on
line diff
--- a/src/SDL_compat.c Fri Aug 17 06:58:20 2007 +0000 +++ b/src/SDL_compat.c Sat Aug 18 01:44:21 2007 +0000 @@ -589,6 +589,22 @@ return SDL_PublicSurface; } +int +SDL_SetAlpha(SDL_Surface * surface, Uint32 flag, Uint8 value) +{ + if (flag & SDL_RLEACCEL) { + SDL_SetSurfaceRLE(surface, 1); + } + if (flag) { + SDL_SetSurfaceAlphaMod(surface, value); + SDL_SetSurfaceBlendMode(surface, SDL_TEXTUREBLENDMODE_BLEND); + } else { + SDL_SetSurfaceAlphaMod(surface, 0xFF); + SDL_SetSurfaceBlendMode(surface, SDL_TEXTUREBLENDMODE_NONE); + } + return 0; +} + SDL_Surface * SDL_DisplayFormat(SDL_Surface * surface) { @@ -600,15 +616,7 @@ } /* Set the flags appropriate for copying to display surface */ - flags = SDL_SWSURFACE; -#ifdef AUTORLE_DISPLAYFORMAT - flags |= (surface->flags & (SDL_SRCCOLORKEY | SDL_SRCALPHA)); - flags |= SDL_RLEACCELOK; -#else - flags |= - surface->flags & (SDL_SRCCOLORKEY | SDL_SRCALPHA | SDL_RLEACCELOK); -#endif - return SDL_ConvertSurface(surface, SDL_PublicSurface->format, flags); + return SDL_ConvertSurface(surface, SDL_PublicSurface->format, SDL_RLEACCELOK); } SDL_Surface * @@ -658,8 +666,7 @@ break; } format = SDL_AllocFormat(32, rmask, gmask, bmask, amask); - flags = surface->flags & (SDL_SRCALPHA | SDL_RLEACCELOK); - converted = SDL_ConvertSurface(surface, format, flags); + converted = SDL_ConvertSurface(surface, format, SDL_RLEACCELOK); SDL_FreeFormat(format); return converted; }