Initial commit
This commit is contained in:
186
Torque/SDK/engine/gui/game/guiAviBitmapCtrl.h
Normal file
186
Torque/SDK/engine/gui/game/guiAviBitmapCtrl.h
Normal file
@@ -0,0 +1,186 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// Torque Game Engine
|
||||
// Copyright (C) GarageGames.com, Inc.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _GUIAVIBITMAPCTRL_H_
|
||||
#define _GUIAVIBITMAPCTRL_H_
|
||||
|
||||
#if !ENABLE_AVI_GUI || !ENABLE_MPG_GUI
|
||||
|
||||
class GuiAviBitmapCtrl : public GuiControl
|
||||
{
|
||||
private:
|
||||
typedef GuiControl Parent;
|
||||
|
||||
protected:
|
||||
bool mDone;
|
||||
|
||||
public:
|
||||
DECLARE_CONOBJECT(GuiAviBitmapCtrl);
|
||||
GuiAviBitmapCtrl();
|
||||
~GuiAviBitmapCtrl();
|
||||
static void initPersistFields();
|
||||
};
|
||||
|
||||
#endif /* No movie control */
|
||||
|
||||
|
||||
#if ENABLE_AVI_GUI
|
||||
|
||||
class GuiAviBitmapCtrl : public GuiControl
|
||||
{
|
||||
private:
|
||||
typedef GuiControl Parent;
|
||||
|
||||
protected:
|
||||
StringTableEntry mAviFilename;
|
||||
StringTableEntry mWavFilename;
|
||||
U32 mNumTextures;
|
||||
TextureHandle *mTextureHandles;
|
||||
U32 mWidthCount;
|
||||
U32 mHeightCount;
|
||||
U32 mBitmapWidth;
|
||||
U32 mBitmapAlignedWidth;
|
||||
U32 mBitmapHeight;
|
||||
|
||||
PAVIFILE mPFile;
|
||||
PAVISTREAM mPAviVideo; // video stream to play
|
||||
|
||||
AUDIOHANDLE mWavHandle; // music to play along with it
|
||||
|
||||
bool mBPlaying;
|
||||
bool mDone;
|
||||
bool mLetterBox;
|
||||
F32 mFrate;
|
||||
F32 mSpeed;
|
||||
S32 mTimePlayStart;
|
||||
S32 mTimePlayStartPos;
|
||||
S16 mPlayFPrev;
|
||||
S16 mPlayFSkipped;
|
||||
S32 mVidsCurrent; // attempted frame to draw
|
||||
S32 mVidsPrevious; // last successfully decoded frame
|
||||
S32 mVidsPrevKey, mVidsNextKey;
|
||||
S32 mVidsFirst, mVidsLast;
|
||||
S32 mCBVBuf;
|
||||
U8 *mPVBuf;
|
||||
|
||||
HIC mHic;
|
||||
FOURCC mFccHandler;
|
||||
BITMAPINFOHEADER *mPBiSrc;
|
||||
BITMAPINFOHEADER *mPBiDst;
|
||||
S32 mCBuf;
|
||||
U8 *mPBuf;
|
||||
bool mSwapRB;
|
||||
ALint mAudioLatency;
|
||||
|
||||
S32 fileOpen();
|
||||
S32 fileClose();
|
||||
S32 movieOpen();
|
||||
S32 movieClose();
|
||||
S32 vidsVideoOpen();
|
||||
S32 vidsVideoClose();
|
||||
S32 vidsVideoStart();
|
||||
S32 vidsVideoStop();
|
||||
S32 vidsVideoDraw();
|
||||
S32 vidsTimeToSample(S32 lTime);
|
||||
bool vidsIsKey(S32 frame = -1);
|
||||
void vidsResetDraw() { mVidsPrevious = -1; }
|
||||
bool vidsSync();
|
||||
void vidsCatchup();
|
||||
S32 vcmOpen(FOURCC fccHandler, BITMAPINFOHEADER *pbiSrc);
|
||||
S32 vcmClose();
|
||||
S32 vcmBegin();
|
||||
S32 vcmEnd();
|
||||
S32 vcmDrawStart();
|
||||
S32 vcmDrawStop();
|
||||
S32 vcmDraw(U64 dwICflags = 0);
|
||||
S32 vcmDrawIn(U64 dwICflags = 0);
|
||||
bool sndOpen();
|
||||
void sndStart();
|
||||
void sndStop();
|
||||
S32 getMilliseconds();
|
||||
|
||||
public:
|
||||
DECLARE_CONOBJECT(GuiAviBitmapCtrl);
|
||||
|
||||
GuiAviBitmapCtrl();
|
||||
~GuiAviBitmapCtrl();
|
||||
|
||||
static void initPersistFields();
|
||||
|
||||
void setFilename(const char *filename);
|
||||
S32 movieStart();
|
||||
S32 movieStop();
|
||||
|
||||
bool onWake();
|
||||
void onSleep();
|
||||
void onMouseDown(const GuiEvent&);
|
||||
bool onKeyDown(const GuiEvent&);
|
||||
void onRender(Point2I offset, const RectI &updateRect);
|
||||
};
|
||||
|
||||
#endif /* ENABLE_AVI_GUI */
|
||||
|
||||
#if ENABLE_MPG_GUI
|
||||
|
||||
class GuiAviBitmapCtrl : public GuiControl
|
||||
{
|
||||
private:
|
||||
typedef GuiControl Parent;
|
||||
|
||||
protected:
|
||||
StringTableEntry mAviFilename;
|
||||
StringTableEntry mWavFilename;
|
||||
U32 mNumTextures;
|
||||
TextureHandle *mTextureHandles;
|
||||
U32 mWidthCount;
|
||||
U32 mHeightCount;
|
||||
U32 mBitmapWidth;
|
||||
U32 mBitmapAlignedWidth;
|
||||
U32 mBitmapHeight;
|
||||
|
||||
SDL_Surface *mSurface;
|
||||
U8 *mPBuf;
|
||||
SDL_mutex *mDecodeLock;
|
||||
ALint mAudioLatency;
|
||||
|
||||
SMPEG *mMPEG; // video stream to play
|
||||
|
||||
AUDIOHANDLE mWavHandle; // music to play along with it
|
||||
|
||||
bool mBPlaying;
|
||||
bool mDone;
|
||||
bool mLetterBox;
|
||||
SMPEG_Info mInfo;
|
||||
|
||||
S32 fileOpen();
|
||||
S32 fileClose();
|
||||
S32 movieOpen();
|
||||
S32 movieClose();
|
||||
bool sndOpen();
|
||||
void sndStart();
|
||||
void sndStop();
|
||||
|
||||
public:
|
||||
DECLARE_CONOBJECT(GuiAviBitmapCtrl);
|
||||
|
||||
GuiAviBitmapCtrl();
|
||||
~GuiAviBitmapCtrl();
|
||||
|
||||
static void initPersistFields();
|
||||
|
||||
void setFilename(const char *filename);
|
||||
S32 movieStart();
|
||||
S32 movieStop();
|
||||
|
||||
bool onWake();
|
||||
void onSleep();
|
||||
void onMouseDown(const GuiEvent&);
|
||||
bool onKeyDown(const GuiEvent&);
|
||||
void onRender(Point2I offset, const RectI &updateRect);
|
||||
};
|
||||
|
||||
#endif /* ENABLE_MPG_GUI */
|
||||
|
||||
#endif /* _GUIAVIBITMAPCTRL_H_ */
|
||||
Reference in New Issue
Block a user