00001 00032 #ifndef LL_LLFRAMESTATVIEW_H 00033 #define LL_LLFRAMESTATVIEW_H 00034 00035 #include "llview.h" 00036 #include "lltimer.h" 00037 #include "v4color.h" 00038 00039 class LLStat; 00040 class LLFrameStats; 00041 00042 class LLFrameStatView : public LLView 00043 { 00044 public: 00045 enum 00046 { 00047 MAX_STATS = 30 00048 }; 00049 LLFrameStatView(const std::string& name, const LLRect& rect); 00050 virtual ~LLFrameStatView(); 00051 00052 virtual EWidgetType getWidgetType() const; 00053 virtual LLString getWidgetTag() const; 00054 00055 void setup(const LLFrameStats &frame_stats); 00056 00057 virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask); 00058 virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask); 00059 virtual BOOL handleHover(S32 x, S32 y, MASK mask); 00060 virtual void draw(); 00061 00062 F32 mTotalTime; // Total time to render for graph. 00063 F32 mTickSpacing; 00064 F32 mLabelSpacing; 00065 S32 mCenterOn; 00066 BOOL mShowPercent; 00067 void addStat(LLStat *statp, const char *label, const LLColor4 &color); 00068 private: 00069 LLStat *mStats[MAX_STATS]; 00070 LLColor4 mColors[MAX_STATS]; 00071 const char *mLabels[MAX_STATS]; /* Flawfinder: ignore */ 00072 S32 mNumStats; 00073 }; 00074 00075 #endif