Added SDL_GetColorKey()

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%403573
This commit is contained in:
Sam Lantinga 2009-04-03 13:27:33 +00:00
parent e62d2f485e
commit 107632a278
2 changed files with 30 additions and 0 deletions

View File

@ -199,6 +199,19 @@ extern DECLSPEC int SDLCALL SDL_SetSurfaceRLE(SDL_Surface * surface,
extern DECLSPEC int SDLCALL SDL_SetColorKey(SDL_Surface * surface,
Uint32 flag, Uint32 key);
/*
* \fn int SDL_GetColorKey(SDL_Surface *surface, Uint32 *key)
*
* \brief Sets the color key (transparent pixel) in a blittable surface.
*
* \param surface The surface to update
* \param key A pointer filled in with the transparent pixel in the native surface format
*
* \return 0 on success, or -1 if the surface is not valid or colorkey is not enabled.
*/
extern DECLSPEC int SDLCALL SDL_GetColorKey(SDL_Surface * surface,
Uint32 * key);
/**
* \fn int SDL_SetSurfaceColorMod(SDL_Surface *surface, Uint8 r, Uint8 g, Uint8 b)
*

View File

@ -272,6 +272,23 @@ SDL_SetColorKey(SDL_Surface * surface, Uint32 flag, Uint32 key)
return 0;
}
int
SDL_GetColorKey(SDL_Surface * surface, Uint32 * key)
{
if (!surface) {
return -1;
}
if (!(surface->map->info.flags & SDL_COPY_COLORKEY)) {
return -1;
}
if (key) {
*key = surface->map->info.colorkey;
}
return 0;
}
/* This is a fairly slow function to switch from colorkey to alpha */
static void
SDL_ConvertColorkeyToAlpha(SDL_Surface * surface)