示例#1
0
	bool VideoManager::OnSeekEnd(const CEGUI::EventArgs& e)
	{
		if (!mPaused) 
			getClip(VIDEO_FILE)->play();
		mSeeking=false;
		return true;
	}
示例#2
0
	bool VideoManager::OnSeekStart(const CEGUI::EventArgs& e)
	{
		if (!mPaused) 
			getClip(VIDEO_FILE)->pause();
		mSeeking=true;
		return true;
	}
示例#3
0
std::string PclCameraWrapper::toString()
{
    std::stringstream ss;
    ss << "[Camera] Position: " << getPos();
    ss << ", Up vector: " << getView();
    ss << ", Focal point: " << getFocal();
    ss << ", Clipping planes depth: " << getClip();
    ss << ", Fovy: " << getFovy();
    // Additional infos
    ss << "\n[Camera] Zoom factor" << zoomFactor();
    return ss.str();
}
示例#4
0
	bool VideoManager::OnPlayPause(const CEGUI::EventArgs& e)
	{
		TheoraVideoClip* clip=getClip(VIDEO_FILE);

		if (!clip->isPaused())
		{
			mPaused=1;
			clip->pause();
		}
		else
		{
			mPaused=0;
			clip->play();
		}
		return true;
	}
示例#5
0
	const attribute::ClipImage& getOutputClip() const { return getClip( kOfxOutputAttributeName ); }
示例#6
0
	attribute::Attribute& getAttribute( const std::string& name ) { return getClip( name ); }
示例#7
0
	const attribute::ClipImage& getOutputClip() const { return getClip( kOfxImageEffectOutputClipName ); }
示例#8
0
 URect getClip() const {URect r; getClip(r); return r;}
	attribute::OfxhClipImage&       getOutputOfxhClip()       { return getClip( kOfxImageEffectOutputClipName ); }
示例#10
0
void draw_HUD(SDL_Renderer* ren)
{
    //Draw the top bar
    SDL_SetRenderDrawColor(ren, 255, 255, 255, 0);
    top_bar.w = window_size_x;
    SDL_RenderFillRect(ren, &top_bar);

    draw_int(ren, font, top_bar_text_color, 20, 0, reqired_power,  "Required: ", " MW");
    draw_int(ren, font, top_bar_text_color, 20, 20, power_avalible, "Avalible: ", " MW");
    draw_int(ren, font, top_bar_text_color, 200, 00, getBalance(), "£", "000");
    draw_int(ren, font, top_bar_text_color, 200, 20, lastBalanceChange, "£", "000");

    draw_int(ren, font, top_bar_text_color, 400, 0, getPopulation(), "Pop: ", "");

    fill_scale_values();
    public_happiness_scale.x = window_size_x-100-80;
    draw_scale(ren, &public_happiness_scale, scale_values.average);

    //Draw the side bar
    if(show_sidebar) {
        SDL_SetRenderDrawColor(ren, 255, 255, 255, 0);
        side_bar.x = window_size_x - side_bar.w;
        SDL_RenderFillRect(ren, &side_bar);
        SDL_Rect scaleBox = {window_size_x-100-5,0,100,fontSizeLarge+2};
        int item_y = side_bar.y+5;

        draw_string(ren, fontLarge, top_bar_text_color, side_bar.x+5, item_y, &_binary_VALUE_TEXT_POLICE_start);
        scaleBox.y = item_y;
        draw_scale(ren, &scaleBox, scale_values.police);

        item_y += fontSizeLarge+2;
        draw_string(ren, fontLarge, top_bar_text_color, side_bar.x+5, item_y, &_binary_VALUE_TEXT_HEALTH_start);
        setColorGoodBad(ren, scale_values.health);
        scaleBox.y = item_y;
        SDL_RenderFillRect(ren, &scaleBox);

        item_y += fontSizeLarge+2;
        draw_string(ren, fontLarge, top_bar_text_color, side_bar.x+5, item_y, &_binary_VALUE_TEXT_EDUCATION_start);
        setColorGoodBad(ren, populationPerSchool() < target_population_per_school);
        scaleBox.y = item_y;
        draw_scale(ren, &scaleBox, scale_values.education);

        item_y += fontSizeLarge+2;
        draw_string(ren, fontLarge, top_bar_text_color, side_bar.x+5, item_y, &_binary_VALUE_TEXT_SHOPPING_start);
        setColorGoodBad(ren, scale_values.shopping);
        scaleBox.y = item_y;
        SDL_RenderFillRect(ren, &scaleBox);

        item_y += fontSizeLarge+2;
        draw_string(ren, fontLarge, top_bar_text_color, side_bar.x+5, item_y, &_binary_VALUE_TEXT_POWER_start);
        scaleBox.y = item_y;
        draw_scale(ren, &scaleBox, scale_values.power);

        item_y += fontSizeLarge+2;
        draw_string(ren, fontLarge, top_bar_text_color, side_bar.x+5, item_y, &_binary_VALUE_TEXT_WASTE_start);
        scaleBox.y = item_y;
        draw_scale(ren, &scaleBox, scale_values.waste);

        item_y += fontSizeLarge+2;
        draw_string(ren, fontLarge, top_bar_text_color, side_bar.x+5, item_y, &_binary_VALUE_TEXT_POLUTION_start);
        scaleBox.y = item_y;
        draw_scale(ren, &scaleBox, scale_values.polution);
    }

    SDL_SetRenderDrawColor(ren, 0, 0, 0, 0);

    SDL_Rect open_menu_button = {window_size_x-30,0,30,30};
    SDL_RenderFillRect(ren, &open_menu_button);

    char* modeText = NULL;
    switch(getMode()) {
        case MODE_BUILD_RESIDENTIAL_1:
            modeText = &_binary_MODE_TEXT_RESIDENTIAL_1_start;
            break;
        case MODE_BUILD_RESIDENTIAL_2:
            modeText = &_binary_MODE_TEXT_RESIDENTIAL_2_start;
            break;
        case MODE_BUILD_ROAD:
            modeText = &_binary_MODE_TEXT_BUILD_ROAD_start;
            break;
        case MODE_BUILD_POWER_GAS:
            modeText = &_binary_MODE_TEXT_BUILD_POWER_GAS_start;
            break;
        case MODE_BUILD_DESTROY:
            modeText = &_binary_MODE_TEXT_DESTROY_start;
            break;
        case MODE_BUILD_RETAIL:
            modeText = &_binary_MODE_TEXT_BUILD_RETAIL_start;
            break;
        case MODE_BUILD_HOSPITAL:
            modeText = &_binary_MODE_TEXT_BUILD_HOSPITAL_start;
            break;
        case MODE_BUILD_POWER_SOLAR:
            modeText = &_binary_MODE_TEXT_BUILD_POWER_SOLAR_start;
            break;
        default:
            break;
    }
    if(modeText != NULL) {
        draw_string(ren, font, top_bar_text_color, 5, window_size_y-15, modeText);
    }
    if(ready_to_place) {
        SDL_SetRenderDrawColor(ren, 255, 255, 255, 0);
        SDL_RenderFillRect(ren, &planned_cost_box);
        draw_int(ren, font, top_bar_text_color, 200, 35, costOfPlannedBuild(),  "(-£", "000)");
    }

    SDL_SetRenderDrawColor(ren, 0, 0, 0, 0);
    draw_menu(ren);

    if(active_emergency()) {
        Point p = {window_size_x-16, 80};
        drawTile(ren, &p, getClip(SPRITE_BUILD_BACKGROUND));
        drawTile(ren, &p, getClip(SPRITE_BUILD_SERVICES_POLICE));
    }
}
示例#11
0
	void VideoManager::update()
	{
		//OgreManager::getSingleton().getRoot()->_fireFrameStarted();
		//OgreManager::getSingleton().getRoot()->
		
		TheoraVideoManager* mgr = TheoraVideoManager::getSingletonPtr();

		Ogre::FrameEvent fe;
		fe.timeSinceLastEvent = OgreManager::getSingleton().getTimeSinceLastFrame();
		fe.timeSinceLastFrame = OgreManager::getSingleton().getTimeSinceLastFrame();

		mgr->frameStarted(fe);

		mKeyboard->capture();
		mMouse->capture();

		CEGUI::Window* wnd=CEGUI::WindowManager::getSingleton().getWindow("cFrame");
		
		TheoraVideoClip* clip=mgr->getVideoClipByName(VIDEO_FILE);
		float dur=clip->getDuration();
		String s=StringConverter::toString(dur);
		String s2=StringConverter::toString(clip->getTimePosition(),4);
		wnd->setText("duration: "+s+" seconds");
		CEGUI::WindowManager::getSingleton().getWindow("droppedFrames")->setText("time position: "+s2+" seconds");

		String np=StringConverter::toString(clip->getNumPrecachedFrames());
		CEGUI::WindowManager::getSingleton().getWindow("precached")->setText("Precached: "+np);


		float cTime=clip->getTimePosition();
		float duration=clip->getDuration();
		int pos=1024*(cTime/duration);

		if (!mSeeking)
		{
			CEGUI::Window* wnd2=CEGUI::WindowManager::getSingleton().getWindow("seeker");
			wnd2->setProperty("ScrollPosition",StringConverter::toString(pos));
		}
		else
		{
			CEGUI::Window* wnd=CEGUI::WindowManager::getSingleton().getWindow("seeker");
			TheoraVideoClip* clip=getClip(VIDEO_FILE);
			float dur=clip->getDuration();

			CEGUI::String prop=wnd->getProperty("ScrollPosition");
			int step=StringConverter::parseInt(prop.c_str());
			if (abs(step-mSeekStep) > 10)
			{
				mSeekStep=step;
				float seek_time=((float) step/1024)*dur;

				clip->seek(seek_time);
			}
		}

		//dshowMovieTextureSystem->updateMovieTexture();


		//TheoraVideoClip* tmpClip= mTheoraManager->getVideoClipByName("konqi.ogg");
		//tmpClip->play();
		//CEGUI::Window* wnd=CEGUI::WindowManager::getSingleton().getWindow("cFrame");
		//mTheoraManager = TheoraVideoManager::getSingletonPtr();
		//TheoraVideoClip* tmpClip= mTheoraManager->getVideoClipByName("konqi.ogg");
		//float dur=clip->getDuration();
		//String s=StringConverter::toString(dur);
		//String s2=StringConverter::toString(clip->getTimePosition(),4);
		//wnd->setText("duration: "+s+" seconds");
		//CEGUI::WindowManager::getSingleton().getWindow("droppedFrames")->setText("time position: "+s2+" seconds");

		//String np=StringConverter::toString(clip->getNumPrecachedFrames());
		//CEGUI::WindowManager::getSingleton().getWindow("precached")->setText("Precached: "+np);


		//float cTime=tmpClip->getTimePosition();
		//float duration=tmpClip->getDuration();
		//int pos=1024*(cTime/duration);

		//if (!mSeeking)
		//{
			//CEGUI::Window* wnd2=CEGUI::WindowManager::getSingleton().getWindow("seeker");
			//wnd2->setProperty("ScrollPosition",StringConverter::toString(pos));
		//}
		//else
		//{
			//CEGUI::Window* wnd=CEGUI::WindowManager::getSingleton().getWindow("seeker");
			//TheoraVideoClip* tmpClip=mTheoraManager-> getClip("konqi.ogg");
			//float dur=tmpClip->getDuration();

			//CEGUI::String prop=wnd->getProperty("ScrollPosition");
			//int step=StringConverter::parseInt(prop.c_str());
			//if (abs(step-mSeekStep) > 10)
			//{
				//mSeekStep=step;
				//float t = OgreManager::getSingleton().getTimeSinceLastFrame();
				//float seek_time=(t / 1024) * dur;
				//tmpClip->seek(seek_time);

			//}
		//}


	}