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 BOOL handleMouseDown(S32 x, S32 y, MASK mask);
00045 virtual BOOL handleRightMouseDown(S32 x, S32 y, MASK mask);
00046 virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask);
00047 virtual BOOL handleHover(S32 x, S32 y, MASK mask);
00048 virtual BOOL handleScrollWheel(S32 x, S32 y, S32 clicks);
00049 virtual void draw();
00050
00051 S32 getLegendIndex(S32 y);
00052 F64 getTime(LLFastTimer::EFastTimerType tidx);
00053
00054 private:
00055 S32* mBarStart;
00056 S32* mBarEnd;
00057 S32 mDisplayMode;
00058 S32 mDisplayCenter;
00059 S32 mDisplayCalls;
00060 S32 mDisplayHz;
00061 U64 mAvgCountTotal;
00062 U64 mMaxCountTotal;
00063 LLRect mBarRect;
00064 S32 mScrollIndex;
00065 S32 mHoverIndex;
00066 S32 mHoverBarIndex;
00067 LLFrameTimer mHighlightTimer;
00068 S32 mSubtractHidden;
00069 S32 mPrintStats;
00070 };
00071
00072 #endif