⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 movielogic.h

📁 使用stl技术,(还没看,是听说的)
💻 H
字号:
#ifndef _MovieLogic_Header_
#define _MovieLogic_Header_

#include "OgreString.h"
#include "FmodSoundModule.h"
#include "TheoraVideoController.h"
#include "TheoraMovieClip.h"

namespace CEGUI
{
	//Predefine some classes of CEGUI
	class Listbox;
	class OgreRenderer;
	class Texture;
	class StaticImage;
}

namespace Ogre
{
	class MovieLogic : public TheoraMovieMessage
	{
	private:
		MovieLogic();
	public:
		MovieLogic( CEGUI::OgreRenderer *renderer );
		~MovieLogic();

		//CE Stuff
		void populateListBox( CEGUI::Listbox *listBox );
		//We create a texture using texture manager, and then feed the texture
		//name into CEGUI *crosses fingers*
		void createCETexture();
		void destroyCETexture();
		CEGUI::Texture * getTexture() { return mText; }
		const String& getTextureName() { return mCurrentMoviePlaying; }

		void setImageBlock( CEGUI::StaticImage *img ) { mImg = img; }

		unsigned int getWidth();
		unsigned int getHeight();
		
		//Movie Stuff
		void stopMovie();
		void pauseMovie( bool bPause = true );
		void playMovie( const String& movieName );

		//Theora Plugin Stuff
		int messageEvent( PLUGIN_theora_message m );
		void displayedFrame( float vTime, 
							 float aTime,
							 unsigned int frameNumber,
							 unsigned int framesDropped);

	private:
		TheoraVideoController *mVideoControl;
		CEGUI::OgreRenderer* mGUIRenderer;
		CEGUI::Texture *mText;
		CEGUI::StaticImage *mImg;

		SoundManager mSoundSystem;
		String mCurrentMoviePlaying;
		bool mPaused;
	};
}

#endif // _MovieLogic_Header_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -