00001 00032 #ifndef LLFLOATERLAGMETER_H 00033 #define LLFLOATERLAGMETER_H 00034 00035 #include "llfloater.h" 00036 00037 class LLFloaterLagMeter : public LLFloater, public LLFloaterSingleton<LLFloaterLagMeter> 00038 { 00039 friend class LLUISingleton<LLFloaterLagMeter, VisibilityPolicy<LLFloater> >; 00040 00041 public: 00042 /*virtual*/ void draw(); 00043 00044 private: 00045 LLFloaterLagMeter(const LLSD& key); 00046 /*virtual*/ ~LLFloaterLagMeter(); 00047 00048 void determineClient(); 00049 void determineNetwork(); 00050 void determineServer(); 00051 00052 static void onClickShrink(void * data); 00053 00054 bool mShrunk; 00055 S32 mMaxWidth, mMinWidth; 00056 00057 F32 mClientFrameTimeCritical; 00058 F32 mClientFrameTimeWarning; 00059 LLButton * mClientButton; 00060 LLTextBox * mClientText; 00061 LLTextBox * mClientCause; 00062 00063 F32 mNetworkPacketLossCritical; 00064 F32 mNetworkPacketLossWarning; 00065 F32 mNetworkPingCritical; 00066 F32 mNetworkPingWarning; 00067 LLButton * mNetworkButton; 00068 LLTextBox * mNetworkText; 00069 LLTextBox * mNetworkCause; 00070 00071 F32 mServerFrameTimeCritical; 00072 F32 mServerFrameTimeWarning; 00073 F32 mServerSingleProcessMaxTime; 00074 LLButton * mServerButton; 00075 LLTextBox * mServerText; 00076 LLTextBox * mServerCause; 00077 00078 LLString::format_map_t mStringArgs; 00079 }; 00080 00081 #endif