mirror of https://github.com/libsdl-org/SDL
Textures with alpha format default to SDL_BLENDMODE_BLEND
Fixes https://github.com/libsdl-org/SDL/issues/9941
This commit is contained in:
parent
2db57e2678
commit
7c0307060d
|
@ -1265,6 +1265,8 @@ SDL_CreateWindowAndRenderer() now takes the window title as the first parameter.
|
|||
|
||||
SDL_GetRendererInfo() has been removed. The name of a renderer can be retrieved using SDL_GetRendererName(), and the other information is available as properties on the renderer.
|
||||
|
||||
Textures are created with SDL_SCALEMODE_LINEAR by default, and use SDL_BLENDMODE_BLEND by default if they are created with a format that has an alpha channel.
|
||||
|
||||
SDL_QueryTexture() has been removed. The properties of the texture can be queried using SDL_PROP_TEXTURE_FORMAT_NUMBER, SDL_PROP_TEXTURE_ACCESS_NUMBER, SDL_PROP_TEXTURE_WIDTH_NUMBER, and SDL_PROP_TEXTURE_HEIGHT_NUMBER. A function SDL_GetTextureSize() has been added to get the size of the texture as floating point values.
|
||||
|
||||
Mouse and touch events are no longer filtered to change their coordinates, instead you
|
||||
|
|
|
@ -1355,6 +1355,7 @@ SDL_Texture *SDL_CreateTextureWithProperties(SDL_Renderer *renderer, SDL_Propert
|
|||
texture->color.g = 1.0f;
|
||||
texture->color.b = 1.0f;
|
||||
texture->color.a = 1.0f;
|
||||
texture->blendMode = SDL_ISPIXELFORMAT_ALPHA(format) ? SDL_BLENDMODE_BLEND : SDL_BLENDMODE_NONE;
|
||||
texture->scaleMode = SDL_SCALEMODE_LINEAR;
|
||||
texture->view.pixel_w = w;
|
||||
texture->view.pixel_h = h;
|
||||
|
|
|
@ -401,6 +401,12 @@ static void testBlendModeOperation(TestRenderOperation op, int mode, SDL_PixelFo
|
|||
if (dst == NULL) {
|
||||
return;
|
||||
}
|
||||
if (SDL_ISPIXELFORMAT_ALPHA(dst_format)) {
|
||||
SDL_BlendMode blendMode = SDL_BLENDMODE_NONE;
|
||||
ret = SDL_GetTextureBlendMode(dst, &blendMode);
|
||||
SDLTest_AssertCheck(ret == 0, "Verify result from SDL_GetTextureBlendMode(), expected: 0, got: %i", ret);
|
||||
SDLTest_AssertCheck(blendMode == SDL_BLENDMODE_BLEND, "Verify alpha texture blend mode, expected %d, got %" SDL_PRIu32, SDL_BLENDMODE_BLEND, blendMode);
|
||||
}
|
||||
|
||||
/* Set as render target */
|
||||
SDL_SetRenderTarget(renderer, dst);
|
||||
|
|
Loading…
Reference in New Issue