00001 00032 #ifndef LL_LLTEXTUREANIM_H 00033 #define LL_LLTEXTUREANIM_H 00034 00035 #include "stdtypes.h" 00036 #include "llsd.h" 00037 00038 class LLMessageSystem; 00039 class LLDataPacker; 00040 00041 class LLTextureAnim 00042 { 00043 public: 00044 LLTextureAnim(); 00045 virtual ~LLTextureAnim(); 00046 00047 virtual void reset(); 00048 void packTAMessage(LLMessageSystem *mesgsys) const; 00049 void packTAMessage(LLDataPacker &dp) const; 00050 void unpackTAMessage(LLMessageSystem *mesgsys, const S32 block_num); 00051 void unpackTAMessage(LLDataPacker &dp); 00052 BOOL equals(const LLTextureAnim &other) const; 00053 LLSD asLLSD() const; 00054 operator LLSD() const { return asLLSD(); } 00055 bool fromLLSD(LLSD& sd); 00056 00057 enum 00058 { 00059 ON = 0x01, 00060 LOOP = 0x02, 00061 REVERSE = 0x04, 00062 PING_PONG = 0x08, 00063 SMOOTH = 0x10, 00064 ROTATE = 0x20, 00065 SCALE = 0x40, 00066 }; 00067 00068 public: 00069 U8 mMode; 00070 S8 mFace; 00071 U8 mSizeX; 00072 U8 mSizeY; 00073 F32 mStart; 00074 F32 mLength; 00075 F32 mRate; // Rate in frames per second. 00076 }; 00077 #endif