Fixed a few remaining functions to directly return their values instead of an error code.

This commit is contained in:
Sam Lantinga
2024-07-16 21:15:56 -07:00
parent 1e828eec57
commit 3d2e5a0b66
15 changed files with 91 additions and 123 deletions

View File

@@ -1641,7 +1641,6 @@ SDL_Texture *SDL_CreateTextureFromSurface(SDL_Renderer *renderer, SDL_Surface *s
{
Uint8 r, g, b, a;
SDL_BlendMode blendMode;
SDL_GetSurfaceColorMod(surface, &r, &g, &b);
SDL_SetTextureColorMod(texture, r, g, b);
@@ -1653,8 +1652,7 @@ SDL_Texture *SDL_CreateTextureFromSurface(SDL_Renderer *renderer, SDL_Surface *s
/* We converted to a texture with alpha format */
SDL_SetTextureBlendMode(texture, SDL_BLENDMODE_BLEND);
} else {
SDL_GetSurfaceBlendMode(surface, &blendMode);
SDL_SetTextureBlendMode(texture, blendMode);
SDL_SetTextureBlendMode(texture, SDL_GetSurfaceBlendMode(surface));
}
}
return texture;
@@ -1799,6 +1797,10 @@ int SDL_SetTextureBlendMode(SDL_Texture *texture, SDL_BlendMode blendMode)
CHECK_TEXTURE_MAGIC(texture, -1);
if (blendMode == SDL_BLENDMODE_INVALID) {
return SDL_InvalidParamError("blendMode");
}
renderer = texture->renderer;
if (!IsSupportedBlendMode(renderer, blendMode)) {
return SDL_Unsupported();
@@ -1810,14 +1812,11 @@ int SDL_SetTextureBlendMode(SDL_Texture *texture, SDL_BlendMode blendMode)
return 0;
}
int SDL_GetTextureBlendMode(SDL_Texture *texture, SDL_BlendMode *blendMode)
SDL_BlendMode SDL_GetTextureBlendMode(SDL_Texture *texture)
{
CHECK_TEXTURE_MAGIC(texture, -1);
CHECK_TEXTURE_MAGIC(texture, SDL_BLENDMODE_INVALID);
if (blendMode) {
*blendMode = texture->blendMode;
}
return 0;
return texture->blendMode;
}
int SDL_SetTextureScaleMode(SDL_Texture *texture, SDL_ScaleMode scaleMode)
@@ -1836,14 +1835,11 @@ int SDL_SetTextureScaleMode(SDL_Texture *texture, SDL_ScaleMode scaleMode)
return 0;
}
int SDL_GetTextureScaleMode(SDL_Texture *texture, SDL_ScaleMode *scaleMode)
SDL_ScaleMode SDL_GetTextureScaleMode(SDL_Texture *texture)
{
CHECK_TEXTURE_MAGIC(texture, -1);
CHECK_TEXTURE_MAGIC(texture, SDL_SCALEMODE_LINEAR);
if (scaleMode) {
*scaleMode = texture->scaleMode;
}
return 0;
return texture->scaleMode;
}
#if SDL_HAVE_YUV
@@ -3069,20 +3065,21 @@ int SDL_SetRenderColorScale(SDL_Renderer *renderer, float scale)
return 0;
}
int SDL_GetRenderColorScale(SDL_Renderer *renderer, float *scale)
float SDL_GetRenderColorScale(SDL_Renderer *renderer)
{
CHECK_RENDERER_MAGIC(renderer, -1);
CHECK_RENDERER_MAGIC(renderer, 1.0f);
if (scale) {
*scale = renderer->color_scale / renderer->SDR_white_point;
}
return 0;
return renderer->color_scale / renderer->SDR_white_point;
}
int SDL_SetRenderDrawBlendMode(SDL_Renderer *renderer, SDL_BlendMode blendMode)
{
CHECK_RENDERER_MAGIC(renderer, -1);
if (blendMode == SDL_BLENDMODE_INVALID) {
return SDL_InvalidParamError("blendMode");
}
if (!IsSupportedBlendMode(renderer, blendMode)) {
return SDL_Unsupported();
}
@@ -3090,20 +3087,18 @@ int SDL_SetRenderDrawBlendMode(SDL_Renderer *renderer, SDL_BlendMode blendMode)
return 0;
}
int SDL_GetRenderDrawBlendMode(SDL_Renderer *renderer, SDL_BlendMode *blendMode)
SDL_BlendMode SDL_GetRenderDrawBlendMode(SDL_Renderer *renderer)
{
CHECK_RENDERER_MAGIC(renderer, -1);
CHECK_RENDERER_MAGIC(renderer, SDL_BLENDMODE_INVALID);
*blendMode = renderer->blendMode;
return 0;
return renderer->blendMode;
}
int SDL_RenderClear(SDL_Renderer *renderer)
{
int retval;
CHECK_RENDERER_MAGIC(renderer, -1);
retval = QueueCmdClear(renderer);
return retval;
return QueueCmdClear(renderer);
}
int SDL_RenderPoint(SDL_Renderer *renderer, float x, float y)
@@ -3970,7 +3965,7 @@ static int SDLCALL SDL_SW_RenderGeometryRaw(SDL_Renderer *renderer,
float r = 0, g = 0, b = 0, a = 0;
/* Save */
SDL_GetRenderDrawBlendMode(renderer, &blendMode);
blendMode = SDL_GetRenderDrawBlendMode(renderer);
SDL_GetRenderDrawColorFloat(renderer, &r, &g, &b, &a);
if (texture) {

View File

@@ -355,7 +355,7 @@ static int SW_RenderCopyEx(SDL_Renderer *renderer, SDL_Surface *surface, SDL_Tex
return -1;
}
SDL_GetSurfaceBlendMode(src, &blendmode);
blendmode = SDL_GetSurfaceBlendMode(src);
SDL_GetSurfaceAlphaMod(src, &alphaMod);
SDL_GetSurfaceColorMod(src, &rMod, &gMod, &bMod);
@@ -841,7 +841,7 @@ static int SW_RunCommandQueue(SDL_Renderer *renderer, SDL_RenderCommand *cmd, vo
SDL_BlendMode blendmode;
Uint8 alphaMod, rMod, gMod, bMod;
SDL_GetSurfaceBlendMode(src, &blendmode);
blendmode = SDL_GetSurfaceBlendMode(src);
SDL_GetSurfaceAlphaMod(src, &alphaMod);
SDL_GetSurfaceColorMod(src, &rMod, &gMod, &bMod);

View File

@@ -78,11 +78,7 @@ Returns colorkey info for a surface
*/
static Uint32 get_colorkey(SDL_Surface *src)
{
Uint32 key = 0;
if (SDL_SurfaceHasColorKey(src)) {
SDL_GetSurfaceColorKey(src, &key);
}
return key;
return SDL_GetSurfaceColorKey(src);
}
/* rotate (sx, sy) by (angle, center) into (dx, dy) */
@@ -501,9 +497,8 @@ SDL_Surface *SDLgfx_rotateSurface(SDL_Surface *src, double angle, int smooth, in
}
if (SDL_SurfaceHasColorKey(src)) {
if (SDL_GetSurfaceColorKey(src, &colorkey) == 0) {
colorKeyAvailable = SDL_TRUE;
}
colorkey = SDL_GetSurfaceColorKey(src);
colorKeyAvailable = SDL_TRUE;
}
/* This function requires a 32-bit surface or 8-bit surface with a colorkey */
is8bit = src->internal->format->bits_per_pixel == 8 && colorKeyAvailable;
@@ -536,7 +531,7 @@ SDL_Surface *SDLgfx_rotateSurface(SDL_Surface *src, double angle, int smooth, in
/* Adjust for guard rows */
rz_dst->h = rect_dest->h;
SDL_GetSurfaceBlendMode(src, &blendmode);
blendmode = SDL_GetSurfaceBlendMode(src);
if (colorKeyAvailable == SDL_TRUE) {
/* If available, the colorkey will be used to discard the pixels that are outside of the rotated area. */

View File

@@ -524,7 +524,7 @@ int SDL_SW_BlitTriangle(
bounding_rect_fixedpoint(d0, d1, d2, &dstrect);
SDL_GetSurfaceBlendMode(src, &blend);
blend = SDL_GetSurfaceBlendMode(src);
/* TRIANGLE_GET_TEXTCOORD interpolates up to the max values included, so reduce by 1 */
{