Skip to content

Commit

Permalink
Accept resize shortcuts on maximized window
Browse files Browse the repository at this point in the history
Allow "resize to fit" and "resize to pixel-perfect" on maximized window:
restore the window to normal size then resize.
  • Loading branch information
rom1v committed Nov 11, 2019
1 parent 35c05bb commit aa0f77c
Showing 1 changed file with 23 additions and 10 deletions.
33 changes: 23 additions & 10 deletions app/src/screen.c
Original file line number Diff line number Diff line change
Expand Up @@ -309,22 +309,35 @@ screen_switch_fullscreen(struct screen *screen) {

void
screen_resize_to_fit(struct screen *screen) {
if (!screen->fullscreen && !screen->maximized) {
struct size optimal_size = get_optimal_window_size(screen,
screen->frame_size);
SDL_SetWindowSize(screen->window, optimal_size.width,
optimal_size.height);
LOGD("Resized to optimal size");
if (screen->fullscreen) {
return;
}

if (screen->maximized) {
SDL_RestoreWindow(screen->window);
screen->maximized = false;
}

struct size optimal_size =
get_optimal_window_size(screen, screen->frame_size);
SDL_SetWindowSize(screen->window, optimal_size.width, optimal_size.height);
LOGD("Resized to optimal size");
}

void
screen_resize_to_pixel_perfect(struct screen *screen) {
if (!screen->fullscreen && !screen->maximized) {
SDL_SetWindowSize(screen->window, screen->frame_size.width,
screen->frame_size.height);
LOGD("Resized to pixel-perfect");
if (screen->fullscreen) {
return;
}

if (screen->maximized) {
SDL_RestoreWindow(screen->window);
screen->maximized = false;
}

SDL_SetWindowSize(screen->window, screen->frame_size.width,
screen->frame_size.height);
LOGD("Resized to pixel-perfect");
}

void
Expand Down

0 comments on commit aa0f77c

Please sign in to comment.