00001 00032 #ifndef LL_LLOVERLAYBAR_H 00033 #define LL_LLOVERLAYBAR_H 00034 00035 #include "llpanel.h" 00036 00037 // "Constants" loaded from settings.xml at start time 00038 extern S32 STATUS_BAR_HEIGHT; 00039 00040 class LLButton; 00041 class LLLineEditor; 00042 class LLMediaRemoteCtrl; 00043 class LLMessageSystem; 00044 class LLTextBox; 00045 class LLTextEditor; 00046 class LLUICtrl; 00047 class LLUUID; 00048 class LLFrameTimer; 00049 class LLStatGraph; 00050 class LLSlider; 00051 class LLVoiceRemoteCtrl; 00052 00053 class LLOverlayBar 00054 : public LLPanel 00055 { 00056 public: 00057 LLOverlayBar(); 00058 ~LLOverlayBar(); 00059 00060 /*virtual*/ void refresh(); 00061 /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); 00062 /*virtual*/ BOOL postBuild(); 00063 00064 void layoutButtons(); 00065 00066 // helpers for returning desired state 00067 BOOL musicPlaying() { return mMusicState == PLAYING; } 00068 00069 static void onClickIMReceived(void* data); 00070 static void onClickSetNotBusy(void* data); 00071 static void onClickReleaseKeys(void* data); 00072 static void onClickMouselook(void* data); 00073 static void onClickStandUp(void* data); 00074 static void onClickResetView(void* data); 00075 00076 //static media helper functions 00077 static void toggleMediaPlay(void*); 00078 static void toggleMusicPlay(void*); 00079 static void musicPause(void*); 00080 static void musicStop(void*); 00081 static void mediaStop(void*); 00082 00083 static void toggleAudioVolumeFloater(void*); 00084 00085 protected: 00086 static void* createMediaRemote(void* userdata); 00087 static void* createVoiceRemote(void* userdata); 00088 static void* createChatBar(void* userdata); 00089 00090 void enableMediaButtons(); 00091 00092 protected: 00093 LLMediaRemoteCtrl* mMediaRemote; 00094 LLVoiceRemoteCtrl* mVoiceRemote; 00095 bool mBuilt; // dialog constructed yet? 00096 enum { STOPPED=0, PLAYING=1, PAUSED=2 }; 00097 S32 mMusicState; 00098 }; 00099 00100 extern LLOverlayBar* gOverlayBar; 00101 00102 #endif