void gfx_sdlwe_tick(void) { if (sdlwe.event) { switch (sdlwe.event) { case SDLWIN_SWITCH_RENDERING: gfx_SWITCH_RENDERING(); break; case SDLWIN_MAKE_RESET: gfx_MAKE_RESET(sdlwe.arg); break; case SDLWIN_CHANGE_ROM: gfx_CHANGE_ROM(); break; case SDLWIN_SWITCH_MODE: gfx_SWITCH_MODE(); break; case SDLWIN_FORCE_SCALE: gfx_FORCE_SCALE(); break; case SDLWIN_SCALE: gfx_SCALE(sdlwe.arg); break; case SDLWIN_FILTER: gfx_FILTER(sdlwe.arg); break; case SDLWIN_VSYNC: gfx_VSYNC(); break; } sdlwe.event = sdlwe.arg = SDLWIN_NONE; } }
bool dlgOverscanBorders::eventFilter(QObject *obj, QEvent *event) { if (event->type() == QEvent::Show) { parentMain->ui->action_Oscan_Set_Borders->setEnabled(false); } else if (event->type() == QEvent::Close) { BYTE force; /* aggiorno l'attuale tabella */ force = overscan_set_mode(machine.type); /* ripristino il valore originario del parametro */ if (data.save_overscan != cfg->oscan) { force = TRUE; cfg->oscan = data.save_overscan; } /* * se le dimensioni dei bordi sono cambiati rispetto ai * valori di ingresso allora forzo il gfx_set_screen. */ { BYTE i, *src = (BYTE *) &data.save_borders, *dst = (BYTE *) overscan.borders; for (i = 0; i < sizeof(_overscan_borders); i++) { if ((*(src + i)) != (*(dst + i))) { force = TRUE; break; } } } if (force == TRUE) { #if defined (WITH_OPENGL) && defined (__WIN32__) gfx_sdlwe_set(SDLWIN_FORCE_SCALE, SDLWIN_NONE); #else gfx_FORCE_SCALE(); #endif } emu_pause(FALSE); /* restituisco alla finestra principale la gestione del focus */ gui.main_win_lfp = TRUE; parentMain->ui->action_Oscan_Set_Borders->setEnabled(true); } else if (event->type() == QEvent::LanguageChange) { Set_borders::retranslateUi(this); } return (QObject::eventFilter(obj, event)); }