mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.2 KiB
78 lines
2.2 KiB
#if !defined(INC__DUserMotion_h__INCLUDED)
|
|
#define INC__DUserMotion_h__INCLUDED
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/***************************************************************************\
|
|
*
|
|
* Actions
|
|
*
|
|
\***************************************************************************/
|
|
|
|
struct GMA_ACTION;
|
|
|
|
DECLARE_HANDLE(HACTION);
|
|
|
|
struct GMA_ACTIONINFO
|
|
{
|
|
HACTION hact; // Handle
|
|
void * pvData; // Caller data
|
|
float flDuration; // Duration in seconds
|
|
float flProgress; // Progress (0 - 1)
|
|
int cEvent; // Number of callbacks in this period
|
|
int cPeriods; // Number of periods
|
|
BOOL fFinished; // TODO: Change to a command
|
|
};
|
|
|
|
typedef void (CALLBACK * ACTIONPROC)(GMA_ACTIONINFO * pmai);
|
|
|
|
struct GMA_ACTION
|
|
{
|
|
DWORD cbSize; // Size of structure
|
|
float flDelay; // Delay in seconds before starting
|
|
float flDuration; // Duration in seconds of each period (0 = single shot)
|
|
float flPeriod; // Time between beginnings of repeats (0 = no gap)
|
|
UINT cRepeat; // Number of times to repeat (0 = single, -1 = infinite)
|
|
DWORD dwPause; // Pause between callbacks (0 = default, -1 = none)
|
|
ACTIONPROC pfnProc; // Function to call
|
|
void * pvData; // Caller data
|
|
};
|
|
|
|
|
|
DUSER_API HACTION WINAPI CreateAction(const GMA_ACTION * pma);
|
|
DUSER_API BOOL WINAPI GetActionTimeslice(DWORD * pdwTimeslice);
|
|
DUSER_API BOOL WINAPI SetActionTimeslice(DWORD dwTimeslice);
|
|
|
|
|
|
/***************************************************************************\
|
|
*
|
|
* Animations
|
|
*
|
|
\***************************************************************************/
|
|
|
|
class Visual;
|
|
|
|
namespace DUser
|
|
{
|
|
|
|
struct KeyFrame
|
|
{
|
|
DWORD cbSize;
|
|
};
|
|
|
|
}; // namespace DUser
|
|
|
|
DUSER_API PRID WINAPI DUserGetAlphaVertexPRID();
|
|
DUSER_API PRID WINAPI DUserGetRectPRID();
|
|
DUSER_API PRID WINAPI DUserGetRotatePRID();
|
|
DUSER_API PRID WINAPI DUserGetScalePRID();
|
|
DUSER_API PRID WINAPI DUserGetLightPRID();
|
|
|
|
#ifdef __cplusplus
|
|
}; // extern "C"
|
|
#endif
|
|
|
|
#endif // INC__DUserMotion_h__INCLUDED
|
|
|