diff options
author | Roxie Linden <roxie@lindenlab.com> | 2010-02-24 17:04:48 -0800 |
---|---|---|
committer | Roxie Linden <roxie@lindenlab.com> | 2010-02-24 17:04:48 -0800 |
commit | 6bb43e1369d957a041c796120e87a89ff3fa10ee (patch) | |
tree | 678e25f3b62ab90e2940dfcae5feafa1acaa8ffc /indra/newview/lloutputmonitorctrl.h | |
parent | ff52ac089f9ed67410f80fe66d0b997f0f2dafcc (diff) | |
parent | fc633fce71c6bdd43ab009558c7556f528335fe0 (diff) |
Automated merge up from viewer 2.0 trunk.
Some llvoiceclient changes duplicated changes that had already been
made in the voice modularization refactor, so the refactor versions
were used.
Diffstat (limited to 'indra/newview/lloutputmonitorctrl.h')
-rw-r--r-- | indra/newview/lloutputmonitorctrl.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/indra/newview/lloutputmonitorctrl.h b/indra/newview/lloutputmonitorctrl.h index e6dbde41db..7dd287114a 100644 --- a/indra/newview/lloutputmonitorctrl.h +++ b/indra/newview/lloutputmonitorctrl.h @@ -36,6 +36,7 @@ #include "v4color.h" #include "llview.h" #include "llmutelist.h" +#include "llspeakingindicatormanager.h" class LLTextBox; class LLUICtrlFactory; @@ -45,7 +46,7 @@ class LLUICtrlFactory; // class LLOutputMonitorCtrl -: public LLView, LLMuteListObserver +: public LLView, public LLSpeakingIndicator, LLMuteListObserver { public: struct Params : public LLInitParam::Block<Params, LLView::Params> @@ -90,7 +91,29 @@ public: //called by mute list virtual void onChange(); + /** + * Implementation of LLSpeakingIndicator interface. + * Behavior is implemented via changing visibility. + * + * If instance is in visible chain now (all parents are visible) it changes visibility + * and notify parent about this. + * + * Otherwise it marks an instance as dirty and stores necessary visibility. + * It will be applied in next draw and parent will be notified. + */ + virtual void switchIndicator(bool switch_on); + private: + + /** + * Notifies parent about changed visibility. + * + * Passes LLSD with "visibility_changed" => <current visibility> value. + * For now it is processed by LLAvatarListItem to update (reshape) its children. + * Implemented fo complete EXT-3976 + */ + void notifyParentVisibilityChanged(); + //static LLColor4 sColorMuted; //static LLColor4 sColorNormal; //static LLColor4 sColorOverdriven; @@ -117,6 +140,10 @@ private: /** uuid of a speaker being monitored */ LLUUID mSpeakerId; + + /** indicates if the instance is dirty and should notify parent */ + bool mIsSwitchDirty; + bool mShouldSwitchOn; }; #endif |