mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-05-17 10:18:28 +00:00
Fixed bug 4134 - Render targets lose scale quality after minimizing a fullscreen window
Olli-Samuli Lehmus If one creates a window with the SDL_WINDOW_FULLSCREEN_DESKTOP flag, and creates a render target with SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear"), and afterwards sets SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "nearest"), after minimizing the window, the scale quality hint is lost on the render target. Textures however do keep their interpolation modes.
This commit is contained in:
parent
c04dca0dad
commit
eb14b635cd
10 changed files with 32 additions and 92 deletions
|
@ -493,6 +493,21 @@ GetClosestSupportedFormat(SDL_Renderer * renderer, Uint32 format)
|
|||
return renderer->info.texture_formats[0];
|
||||
}
|
||||
|
||||
SDL_ScaleMode SDL_GetScaleMode(void)
|
||||
{
|
||||
const char *hint = SDL_GetHint(SDL_HINT_RENDER_SCALE_QUALITY);
|
||||
|
||||
if (!hint || SDL_strcasecmp(hint, "nearest") == 0) {
|
||||
return SDL_ScaleModeNearest;
|
||||
} else if (SDL_strcasecmp(hint, "linear") == 0) {
|
||||
return SDL_ScaleModeLinear;
|
||||
} else if (SDL_strcasecmp(hint, "best") == 0) {
|
||||
return SDL_ScaleModeBest;
|
||||
} else {
|
||||
return (SDL_ScaleMode)SDL_atoi(hint);
|
||||
}
|
||||
}
|
||||
|
||||
SDL_Texture *
|
||||
SDL_CreateTexture(SDL_Renderer * renderer, Uint32 format, int access, int w, int h)
|
||||
{
|
||||
|
@ -534,6 +549,7 @@ SDL_CreateTexture(SDL_Renderer * renderer, Uint32 format, int access, int w, int
|
|||
texture->g = 255;
|
||||
texture->b = 255;
|
||||
texture->a = 255;
|
||||
texture->scaleMode = SDL_GetScaleMode();
|
||||
texture->renderer = renderer;
|
||||
texture->next = renderer->textures;
|
||||
if (renderer->textures) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue