Skip to content

Commit

Permalink
atari:gem: Move common code for querying work area and resize of SDL …
Browse files Browse the repository at this point in the history
…surface at end of function
  • Loading branch information
pmandin committed Sep 30, 2017
1 parent ddd2626 commit 38ac2f8
Showing 1 changed file with 14 additions and 9 deletions.
23 changes: 14 additions & 9 deletions src/video/gem/SDL_gemevents.c
Expand Up @@ -187,9 +187,9 @@ void GEM_PumpEvents(_THIS)

static int do_messages(_THIS, short *message, short latest_msg_id)
{
int quit;
int quit, update_work_area, sdl_resize;

quit = 0;
quit = update_work_area = sdl_resize = 0;
switch (message[0]) {
case MSG_SDL_ID:
quit=(message[1] == latest_msg_id);
Expand All @@ -201,7 +201,7 @@ static int do_messages(_THIS, short *message, short latest_msg_id)
break;
case WM_MOVED:
wind_set(message[3],WF_CURRXYWH,message[4],message[5],message[6],message[7]);
wind_get (message[3], WF_WORKXYWH, &GEM_work_x, &GEM_work_y, &GEM_work_w, &GEM_work_h);
update_work_area = 1;
break;
case WM_TOPPED:
wind_set(message[3],WF_TOP,message[4],0,0,0);
Expand Down Expand Up @@ -233,7 +233,7 @@ static int do_messages(_THIS, short *message, short latest_msg_id)
0,0);
GEM_refresh_name = SDL_FALSE;
}
wind_get (message[3], WF_WORKXYWH, &GEM_work_x, &GEM_work_y, &GEM_work_w, &GEM_work_h);
update_work_area = 1;
break;
case WM_UNICONIFY:
wind_set (message[3],WF_UNICONIFY,message[4],message[5],message[6],message[7]);
Expand All @@ -249,14 +249,13 @@ static int do_messages(_THIS, short *message, short latest_msg_id)
0,0);
GEM_refresh_name = SDL_FALSE;
}
wind_get (message[3], WF_WORKXYWH, &GEM_work_x, &GEM_work_y, &GEM_work_w, &GEM_work_h);
update_work_area = 1;
break;
case WM_SIZED:
wind_set (message[3], WF_CURRXYWH, message[4], message[5], message[6], message[7]);
wind_get (message[3], WF_WORKXYWH, &GEM_work_x, &GEM_work_y, &GEM_work_w, &GEM_work_h);
update_work_area = sdl_resize = 1;
GEM_win_fulled = SDL_FALSE; /* Cancel maximized flag */
GEM_lock_redraw = SDL_TRUE; /* Prevent redraw till buffers resized */
SDL_PrivateResize(GEM_work_w, GEM_work_h);
break;
case WM_FULLED:
{
Expand All @@ -273,9 +272,8 @@ static int do_messages(_THIS, short *message, short latest_msg_id)
GEM_win_fulled = SDL_TRUE;
}
wind_set (message[3], WF_CURRXYWH, x, y, w, h);
wind_get (message[3], WF_WORKXYWH, &GEM_work_x, &GEM_work_y, &GEM_work_w, &GEM_work_h);
update_work_area = sdl_resize = 1;
GEM_lock_redraw = SDL_TRUE; /* Prevent redraw till buffers resized */
SDL_PrivateResize(GEM_work_w, GEM_work_h);
}
break;
case WM_BOTTOMED:
Expand All @@ -289,6 +287,13 @@ static int do_messages(_THIS, short *message, short latest_msg_id)
break;
}

if (update_work_area) {
wind_get (message[3], WF_WORKXYWH, &GEM_work_x, &GEM_work_y, &GEM_work_w, &GEM_work_h);
if (sdl_resize) {
SDL_PrivateResize(GEM_work_w, GEM_work_h);
}
}

return quit;
}

Expand Down

0 comments on commit 38ac2f8

Please sign in to comment.