windows-nt/Source/XPSP1/NT/multimedia/opengl/toolkits/libmtk/mtkanim.hxx
2020-09-26 16:20:57 +08:00

59 lines
1.4 KiB
C++

/******************************Module*Header*******************************\
* Module Name: mtkanim.hxx
*
* Copyright (c) 1997 Microsoft Corporation
*
\**************************************************************************/
#ifndef __mtkanim_hxx__
#define __mtkanim_hxx__
#include "mtk.hxx"
// Animation modes
enum {
MTK_ANIMATE_NONE = 0, // ? is this useful ?
MTK_ANIMATE_CONTINUOUS,
MTK_ANIMATE_INTERVAL
};
enum {
MTK_ANIMATE_TIMER_ID = 1
};
typedef void (CALLBACK* MTK_ANIMATEPROC)();
/**************************************************************************\
* MTKANIMATOR
*
\**************************************************************************/
class MTKANIMATOR {
public:
MTKANIMATOR();
MTKANIMATOR( HWND hwndAttach );
~MTKANIMATOR();
void SetHwnd( HWND hwndAttach ) { hwnd = hwndAttach; };
void SetFunc(MTK_ANIMATEPROC Func);
void SetMode( UINT mode, float *fParam );
BOOL Draw(); // Call animation function
void Start();
void Stop();
//mf: ? need Suspend, Resume ?
private:
void Init();
HWND hwnd; // window the animator is attached to
MTK_ANIMATEPROC AnimateFunc;
UINT msUpdateInterval; // update interval, in milliseconds
int nFrames;
UINT mode;
UINT idTimer; // animate timer
};
typedef MTKANIMATOR* PMTKANIMATOR;
#endif // __mtkanim_hxx__