void FePresent::post_run() { #ifndef NO_MOVIE // // Re-establish openAL stuff now that we are back from the emulator // sf::AudioDevice::release_audio( false ); for ( std::vector<FeBaseTextureContainer *>::iterator itm=m_texturePool.begin(); itm != m_texturePool.end(); ++itm ) (*itm)->release_audio( false ); for ( std::vector<FeSound *>::iterator its=m_sounds.begin(); its != m_sounds.end(); ++its ) (*its)->release_audio( false ); #endif for ( std::vector<FeBaseTextureContainer *>::iterator itm=m_texturePool.begin(); itm != m_texturePool.end(); ++itm ) (*itm)->set_vol( m_feSettings->get_play_volume( FeSoundInfo::Movie ) ); set_video_play_state( m_playMovies ); on_transition( FromGame, FromToNoValue ); reset_screen_saver(); update( true ); }
void FePresent::post_run() { set_video_play_state( m_playMovies ); on_transition( FromGame, FromToNoValue ); reset_screen_saver(); update( true ); }
bool FePresent::handle_event( FeInputMap::Command c ) { if ( reset_screen_saver() ) return true; switch( c ) { case FeInputMap::Down: change_selection( 1, false ); break; case FeInputMap::Up: change_selection( -1, false ); break; case FeInputMap::PageDown: change_selection( get_page_size(), false ); break; case FeInputMap::PageUp: change_selection( -get_page_size(), false ); break; case FeInputMap::RandomGame: { int ls = m_feSettings->get_filter_size( m_feSettings->get_current_filter_index() ); if ( ls > 0 ) { int step = rand() % ls; if ( step != 0 ) change_selection( step ); } } break; case FeInputMap::ToggleRotateRight: toggle_rotate( FeSettings::RotateRight ); break; case FeInputMap::ToggleFlip: toggle_rotate( FeSettings::RotateFlip ); break; case FeInputMap::ToggleRotateLeft: toggle_rotate( FeSettings::RotateLeft ); break; case FeInputMap::ToggleMovie: toggle_movie(); break; case FeInputMap::NextDisplay: case FeInputMap::PrevDisplay: if ( m_feSettings->navigate_display( ( c == FeInputMap::NextDisplay ) ? 1 : -1 ) ) load_layout(); else update_to_new_list( 0, true ); break; case FeInputMap::NextFilter: case FeInputMap::PrevFilter: { int offset = ( c == FeInputMap::NextFilter ) ? 1 : -1; if ( m_feSettings->navigate_filter( offset ) ) load_layout(); else update_to_new_list( offset ); } break; case FeInputMap::ToggleLayout: m_feSettings->toggle_layout(); load_layout(); break; case FeInputMap::PrevFavourite: case FeInputMap::NextFavourite: case FeInputMap::PrevLetter: case FeInputMap::NextLetter: { int step( 0 ); switch ( c ) { case FeInputMap::PrevFavourite: step = m_feSettings->get_prev_fav_offset(); break; case FeInputMap::NextFavourite: step = m_feSettings->get_next_fav_offset(); break; case FeInputMap::PrevLetter: step = m_feSettings->get_next_letter_offset( -1 ); break; case FeInputMap::NextLetter: step = m_feSettings->get_next_letter_offset( 1 ); break; default: break; } if ( step != 0 ) change_selection( step, false ); } break; case FeInputMap::ScreenSaver: load_screensaver(); break; case FeInputMap::Intro: if ( !load_intro() ) load_layout(); break; case FeInputMap::LAST_COMMAND: default: // Not handled by us, return false so calling function knows // return false; } return true; }