Add RUNLOOP_CTL_GET_WINDOWED_SCALE

This commit is contained in:
twinaphex 2015-12-01 03:46:56 +01:00
parent c5df156f23
commit fcde5ae8ff
3 changed files with 15 additions and 2 deletions

View File

@ -1010,10 +1010,14 @@ bool event_command(enum event_command cmd)
case EVENT_CMD_RESIZE_WINDOWED_SCALE:
{
unsigned idx = 0;
if (global->pending.windowed_scale == 0)
unsigned *window_scale = NULL;
runloop_ctl(RUNLOOP_CTL_GET_WINDOWED_SCALE, &window_scale);
if (*window_scale == 0)
return false;
settings->video.scale = global->pending.windowed_scale;
settings->video.scale = *window_scale;
if (!settings->video.fullscreen)
event_command(EVENT_CMD_REINIT);

View File

@ -383,6 +383,14 @@ bool runloop_ctl(enum runloop_ctl_state state, void *data)
break;
case RUNLOOP_CTL_IS_PERFCNT_ENABLE:
return runloop_perfcnt_enable;
case RUNLOOP_CTL_GET_WINDOWED_SCALE:
{
unsigned **scale = (unsigned**)data;
if (!scale)
return false;
*scale = (unsigned*)&global->pending.windowed_scale;
}
break;
case RUNLOOP_CTL_SET_WINDOWED_SCALE:
{
unsigned *idx = (unsigned*)data;

View File

@ -35,6 +35,7 @@ extern "C" {
enum runloop_ctl_state
{
RUNLOOP_CTL_IS_IDLE = 0,
RUNLOOP_CTL_GET_WINDOWED_SCALE,
RUNLOOP_CTL_SET_WINDOWED_SCALE,
RUNLOOP_CTL_SET_IDLE,
RUNLOOP_CTL_CHECK_IDLE_STATE,