Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00047 #ifndef _orxANIM_H_
00048 #define _orxANIM_H_
00049
00050
00051 #include "orxInclude.h"
00052
00053 #include "object/orxStructure.h"
00054
00055
00058 #define orxANIM_KU32_FLAG_NONE 0x00000000
00060 #define orxANIM_KU32_FLAG_2D 0x00000001
00062 #define orxANIM_KU32_MASK_USER_ALL 0x0000000F
00064 #define orxANIM_KU32_MASK_ALL 0xFFFFFFFF
00068 #define orxANIM_KU32_KEY_MAX_NUMBER 65535
00069 #define orxANIM_KU32_EVENT_MAX_NUMBER 65535
00074 typedef struct __orxANIM_t orxANIM;
00075
00076
00079 typedef enum __orxANIM_EVENT_t
00080 {
00081 orxANIM_EVENT_START = 0,
00082 orxANIM_EVENT_STOP,
00083 orxANIM_EVENT_CUT,
00084 orxANIM_EVENT_LOOP,
00085 orxANIM_EVENT_CUSTOM_EVENT,
00087 orxANIM_EVENT_NUMBER,
00088
00089 orxANIM_EVENT_NONE = orxENUM_NONE
00090
00091 } orxANIM_EVENT;
00092
00095 typedef struct __orxANIM_EVENT_PAYLOAD_t
00096 {
00097 orxANIM *pstAnim;
00098 const orxSTRING zAnimName;
00099 const orxSTRING zCustomEventName;
00100 orxFLOAT fCustomEventValue;
00101 orxFLOAT fCustomEventTime;
00103 } orxANIM_EVENT_PAYLOAD;
00104
00107 typedef struct __orxANIM_CUSTOM_EVENT_t
00108 {
00109 const orxSTRING zName;
00110 orxFLOAT fValue;
00111 orxFLOAT fTimeStamp;
00113 } orxANIM_CUSTOM_EVENT;
00114
00115
00118 extern orxDLLAPI void orxFASTCALL orxAnim_Setup();
00119
00122 extern orxDLLAPI orxSTATUS orxFASTCALL orxAnim_Init();
00123
00126 extern orxDLLAPI void orxFASTCALL orxAnim_Exit();
00127
00128
00135 extern orxDLLAPI orxANIM *orxFASTCALL orxAnim_Create(orxU32 _u32Flags, orxU32 _u32KeyNumber, orxU32 _u32EventNumber);
00136
00141 extern orxDLLAPI orxANIM *orxFASTCALL orxAnim_CreateFromConfig(const orxSTRING _zConfigID);
00142
00147 extern orxDLLAPI orxSTATUS orxFASTCALL orxAnim_Delete(orxANIM *_pstAnim);
00148
00149
00156 extern orxDLLAPI orxSTATUS orxFASTCALL orxAnim_AddKey(orxANIM *_pstAnim, orxSTRUCTURE *_pstData, orxFLOAT _fTimeStamp);
00157
00162 extern orxDLLAPI orxSTATUS orxFASTCALL orxAnim_RemoveLastKey(orxANIM *_pstAnim);
00163
00167 extern orxDLLAPI void orxFASTCALL orxAnim_RemoveAllKeys(orxANIM *_pstAnim);
00168
00169
00177 extern orxDLLAPI orxSTATUS orxFASTCALL orxAnim_AddEvent(orxANIM *_pstAnim, const orxSTRING _zEventName, orxFLOAT _fTimeStamp, orxFLOAT _fValue);
00178
00183 extern orxDLLAPI orxSTATUS orxFASTCALL orxAnim_RemoveLastEvent(orxANIM *_pstAnim);
00184
00188 extern orxDLLAPI void orxFASTCALL orxAnim_RemoveAllEvents(orxANIM *_pstAnim);
00189
00195 extern orxDLLAPI const orxANIM_CUSTOM_EVENT *orxFASTCALL orxAnim_GetNextEvent(const orxANIM *_pstAnim, orxFLOAT _fTimeStamp);
00196
00197
00204 extern orxDLLAPI orxSTATUS orxFASTCALL orxAnim_Update(orxANIM *_pstAnim, orxFLOAT _fTimeStamp, orxU32 *_pu32CurrentKey);
00205
00211 extern orxDLLAPI orxSTRUCTURE *orxFASTCALL orxAnim_GetKeyData(const orxANIM *_pstAnim, orxU32 _u32Index);
00212
00213
00218 extern orxDLLAPI orxU32 orxFASTCALL orxAnim_GetKeyStorageSize(const orxANIM *_pstAnim);
00219
00224 extern orxDLLAPI orxU32 orxFASTCALL orxAnim_GetKeyCounter(const orxANIM *_pstAnim);
00225
00226
00231 extern orxDLLAPI orxU32 orxFASTCALL orxAnim_GetEventStorageSize(const orxANIM *_pstAnim);
00232
00237 extern orxDLLAPI orxU32 orxFASTCALL orxAnim_GetEventCounter(const orxANIM *_pstAnim);
00238
00239
00244 extern orxDLLAPI orxFLOAT orxFASTCALL orxAnim_GetLength(const orxANIM *_pstAnim);
00245
00250 extern orxDLLAPI orxU32 orxFASTCALL orxAnim_GetID(const orxANIM *_pstAnim);
00251
00256 extern orxDLLAPI const orxSTRING orxFASTCALL orxAnim_GetName(const orxANIM *_pstAnim);
00257
00258 #endif
00259