Source code of Windows XP (NT5)
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

#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