00001 00032 #ifndef LL_LLFASTTIMERVIEW_H 00033 #define LL_LLFASTTIMERVIEW_H 00034 00035 #include "llfloater.h" 00036 #include "llframetimer.h" 00037 00038 class LLFastTimerView : public LLFloater 00039 { 00040 public: 00041 LLFastTimerView(const std::string& name, const LLRect& rect); 00042 virtual ~LLFastTimerView(); 00043 00044 virtual EWidgetType getWidgetType() const; 00045 virtual LLString getWidgetTag() const; 00046 00047 virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask); 00048 virtual BOOL handleRightMouseDown(S32 x, S32 y, MASK mask); 00049 virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask); 00050 virtual BOOL handleHover(S32 x, S32 y, MASK mask); 00051 virtual BOOL handleScrollWheel(S32 x, S32 y, S32 clicks); 00052 virtual void draw(); 00053 00054 S32 getLegendIndex(S32 y); 00055 F64 getTime(LLFastTimer::EFastTimerType tidx); 00056 00057 private: 00058 S32* mBarStart; 00059 S32* mBarEnd; 00060 S32 mDisplayMode; 00061 S32 mDisplayCenter; 00062 S32 mDisplayCalls; 00063 U64 mAvgCountTotal; 00064 U64 mMaxCountTotal; 00065 LLRect mBarRect; 00066 S32 mScrollIndex; 00067 S32 mHoverIndex; 00068 S32 mHoverBarIndex; 00069 LLFrameTimer mHighlightTimer; 00070 S32 mSubtractHidden; 00071 S32 mPrintStats; 00072 }; 00073 00074 #endif