00001 00032 #ifndef LL_LLVOTEXTBUBBLE_H 00033 #define LL_LLVOTEXTBUBBLE_H 00034 00035 #include "llviewerobject.h" 00036 #include "llframetimer.h" 00037 00038 class LLVOTextBubble : public LLAlphaObject 00039 { 00040 public: 00041 LLVOTextBubble(const LLUUID &id, const LLPCode pcode, LLViewerRegion *regionp); 00042 00043 /*virtual*/ BOOL isActive() const; // Whether this object needs to do an idleUpdate. 00044 /*virtual*/ BOOL idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time); 00045 00046 /*virtual*/ void updateTextures(LLAgent &agent); 00047 /*virtual*/ LLDrawable* createDrawable(LLPipeline *pipeline); 00048 /*virtual*/ BOOL updateGeometry(LLDrawable *drawable); 00049 /*virtual*/ BOOL updateLOD(); 00050 /*virtual*/ void updateFaceSize(S32 idx); 00051 00052 /*virtual*/ void getGeometry(S32 idx, 00053 LLStrider<LLVector3>& verticesp, 00054 LLStrider<LLVector3>& normalsp, 00055 LLStrider<LLVector2>& texcoordsp, 00056 LLStrider<LLColor4U>& colorsp, 00057 LLStrider<U32>& indicesp); 00058 00059 virtual U32 getPartitionType() const; 00060 00061 LLColor4 mColor; 00062 S32 mLOD; 00063 BOOL mVolumeChanged; 00064 00065 protected: 00066 ~LLVOTextBubble(); 00067 BOOL setVolume(const LLVolumeParams &volume_params); 00068 LLFrameTimer mUpdateTimer; 00069 }; 00070 00071 #endif // LL_VO_TEXT_BUBBLE