void FePresent::change_selection( int step, bool end_navigation ) { on_transition( ToNewSelection, step ); m_feSettings->step_current_selection( step ); update( false ); on_transition( FromOldSelection, -step ); if ( end_navigation ) on_end_navigation(); }
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::load_layout( bool initial_load ) { int var = ( m_feSettings->get_present_state() == FeSettings::ScreenSaver_Showing ) ? FromToScreenSaver : FromToNoValue; if ( !initial_load ) on_transition( EndLayout, FromToNoValue ); else var = FromToFrontend; clear(); m_baseRotation = FeSettings::RotateNone; set_transforms(); m_feSettings->set_present_state( FeSettings::Layout_Showing ); if ( m_feSettings->displays_count() < 1 ) return; // // Run the script which actually sets up the layout // m_layoutTimer.restart(); on_new_layout(); // make things usable if the layout is empty // bool empty_layout=true; for ( std::vector<FeBasePresentable *>::iterator itr=m_mon[0].elements.begin(); itr!=m_mon[0].elements.end(); ++itr ) { if ( (*itr)->get_visible() ) { empty_layout=false; break; } } if ( empty_layout ) { std::cout << " - Layout is empty, initializing with the default layout settings" << std::endl; init_with_default_layout(); } update_to_new_list( FromToNoValue, true ); on_transition( StartLayout, var ); }
void FePresent::post_run() { set_video_play_state( m_playMovies ); on_transition( FromGame, FromToNoValue ); reset_screen_saver(); update( true ); }
void FePresent::on_end_navigation() { std::vector<FeBaseTextureContainer *>::iterator itc; for ( itc=m_texturePool.begin(); itc != m_texturePool.end(); ++itc ) (*itc)->on_end_navigation( m_feSettings ); on_transition( EndNavigation, 0 ); }
void FePresent::load_screensaver() { on_transition( EndLayout, FromToScreenSaver ); clear(); set_transforms(); m_feSettings->set_present_state( FeSettings::ScreenSaver_Showing ); // // Run the script which actually sets up the screensaver // m_layoutTimer.restart(); on_new_layout(); // // if there is no screen saver script then do a blank screen // update( true, true ); on_transition( StartLayout, FromToNoValue ); }
void FePresent::pre_run() { on_transition( ToGame, FromToNoValue ); set_video_play_state( false ); #ifndef NO_MOVIE // // Release all the openAL buffers, contexts and devices so that we don't block // the emulator from accessing the system's sound // for ( std::vector<FeBaseTextureContainer *>::iterator itm=m_texturePool.begin(); itm != m_texturePool.end(); ++itm ) (*itm)->release_audio( true ); for ( std::vector<FeSound *>::iterator its=m_sounds.begin(); its != m_sounds.end(); ++its ) (*its)->release_audio( true ); sf::AudioDevice::release_audio( true ); #endif }
// return false if the into should be cancelled bool FePresent::load_intro() { clear(); m_baseRotation = FeSettings::RotateNone; set_transforms(); m_feSettings->set_present_state( FeSettings::Intro_Showing ); m_layoutTimer.restart(); if ( !on_new_layout() ) return false; bool retval = false; for ( std::vector<FeBasePresentable *>::iterator itr=m_mon[0].elements.begin(); itr!=m_mon[0].elements.end(); ++itr ) { if ( (*itr)->get_visible() ) retval = true; } update( true, true ); on_transition( StartLayout, FromToNoValue ); return retval; }
void FePresent::update_to_new_list( int var, bool new_layout ) { update( true, new_layout ); on_transition( ToNewList, var ); }
void FePresent::pre_run() { on_transition( ToGame, FromToNoValue ); set_video_play_state( false ); }
void FePresent::on_stop_frontend() { set_video_play_state( false ); on_transition( EndLayout, FromToFrontend ); }