Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
The logical size set for a render target is temporary and shouldn't c…
Browse files Browse the repository at this point in the history
…onflict with the logical size set for a window.
  • Loading branch information
slouken committed Oct 12, 2012
1 parent fdbb570 commit 0306a67
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/render/SDL_render.c
Expand Up @@ -926,6 +926,8 @@ SDL_SetRenderTarget(SDL_Renderer *renderer, SDL_Texture *texture)
/* Make a backup of the viewport */
renderer->viewport_backup = renderer->viewport;
renderer->scale_backup = renderer->scale;
renderer->logical_w_backup = renderer->logical_w;
renderer->logical_h_backup = renderer->logical_h;
}
renderer->target = texture;

Expand All @@ -940,9 +942,13 @@ SDL_SetRenderTarget(SDL_Renderer *renderer, SDL_Texture *texture)
renderer->viewport.h = texture->h;
renderer->scale.x = 1.0f;
renderer->scale.y = 1.0f;
renderer->logical_w = 0;
renderer->logical_h = 0;
} else {
renderer->viewport = renderer->viewport_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) {
return -1;
Expand Down
2 changes: 2 additions & 0 deletions src/render/SDL_sysrender.h
Expand Up @@ -126,6 +126,8 @@ struct SDL_Renderer
/* The logical resolution for rendering */
int logical_w;
int logical_h;
int logical_w_backup;
int logical_h_backup;

/* The drawable area within the window */
SDL_Rect viewport;
Expand Down

0 comments on commit 0306a67

Please sign in to comment.