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