Esempio n. 1
0
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();
}
Esempio n. 2
0
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 );
}
Esempio n. 3
0
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 );
}
Esempio n. 4
0
void FePresent::post_run()
{
	set_video_play_state( m_playMovies );
	on_transition( FromGame, FromToNoValue );

	reset_screen_saver();
	update( true );
}
Esempio n. 5
0
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 );
}
Esempio n. 6
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 );
}
Esempio n. 7
0
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
}
Esempio n. 8
0
// 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;
}
Esempio n. 9
0
void FePresent::update_to_new_list( int var, bool new_layout )
{
	update( true, new_layout );
	on_transition( ToNewList, var );
}
Esempio n. 10
0
void FePresent::pre_run()
{
	on_transition( ToGame, FromToNoValue );
	set_video_play_state( false );
}
Esempio n. 11
0
void FePresent::on_stop_frontend()
{
	set_video_play_state( false );
	on_transition( EndLayout, FromToFrontend );
}