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 BOOL isActive() const;
00044 BOOL idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time);
00045
00046 void updateTextures(LLAgent &agent);
00047 LLDrawable* createDrawable(LLPipeline *pipeline);
00048 BOOL updateGeometry(LLDrawable *drawable);
00049 BOOL updateLOD();
00050 void updateFaceSize(S32 idx);
00051
00052 void getGeometry(S32 idx,
00053 LLStrider<LLVector3>& verticesp,
00054 LLStrider<LLVector3>& normalsp,
00055 LLStrider<LLVector2>& texcoordsp,
00056 LLStrider<LLColor4U>& colorsp,
00057 LLStrider<U16>& 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, const S32 detail, bool unique_volume = false);
00068 LLFrameTimer mUpdateTimer;
00069 };
00070
00071 #endif // LL_VO_TEXT_BUBBLE