The logical size set for a render target is temporary and shouldn't conflict with the logical size set for a window.
This commit is contained in:
parent
ea15505815
commit
b1a587fdf7
2 changed files with 8 additions and 0 deletions
|
@ -926,6 +926,8 @@ SDL_SetRenderTarget(SDL_Renderer *renderer, SDL_Texture *texture)
|
||||||
/* Make a backup of the viewport */
|
/* Make a backup of the viewport */
|
||||||
renderer->viewport_backup = renderer->viewport;
|
renderer->viewport_backup = renderer->viewport;
|
||||||
renderer->scale_backup = renderer->scale;
|
renderer->scale_backup = renderer->scale;
|
||||||
|
renderer->logical_w_backup = renderer->logical_w;
|
||||||
|
renderer->logical_h_backup = renderer->logical_h;
|
||||||
}
|
}
|
||||||
renderer->target = texture;
|
renderer->target = texture;
|
||||||
|
|
||||||
|
@ -940,9 +942,13 @@ SDL_SetRenderTarget(SDL_Renderer *renderer, SDL_Texture *texture)
|
||||||
renderer->viewport.h = texture->h;
|
renderer->viewport.h = texture->h;
|
||||||
renderer->scale.x = 1.0f;
|
renderer->scale.x = 1.0f;
|
||||||
renderer->scale.y = 1.0f;
|
renderer->scale.y = 1.0f;
|
||||||
|
renderer->logical_w = 0;
|
||||||
|
renderer->logical_h = 0;
|
||||||
} else {
|
} else {
|
||||||
renderer->viewport = renderer->viewport_backup;
|
renderer->viewport = renderer->viewport_backup;
|
||||||
renderer->scale = renderer->scale_backup;
|
renderer->scale = renderer->scale_backup;
|
||||||
|
renderer->logical_w = renderer->logical_w_backup;
|
||||||
|
renderer->logical_h = renderer->logical_h_backup;
|
||||||
}
|
}
|
||||||
if (renderer->UpdateViewport(renderer) < 0) {
|
if (renderer->UpdateViewport(renderer) < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -126,6 +126,8 @@ struct SDL_Renderer
|
||||||
/* The logical resolution for rendering */
|
/* The logical resolution for rendering */
|
||||||
int logical_w;
|
int logical_w;
|
||||||
int logical_h;
|
int logical_h;
|
||||||
|
int logical_w_backup;
|
||||||
|
int logical_h_backup;
|
||||||
|
|
||||||
/* The drawable area within the window */
|
/* The drawable area within the window */
|
||||||
SDL_Rect viewport;
|
SDL_Rect viewport;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue