diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llui/llbutton.cpp | 30 | ||||
| -rw-r--r-- | indra/llui/llbutton.h | 8 | ||||
| -rw-r--r-- | indra/llui/lltabcontainer.cpp | 8 | ||||
| -rw-r--r-- | indra/llui/lltabcontainer.h | 5 | ||||
| -rw-r--r-- | indra/newview/skins/default/textures/containers/Toolbar_Left_Flash.png | bin | 0 -> 356 bytes | |||
| -rw-r--r-- | indra/newview/skins/default/textures/containers/Toolbar_Middle_Flash.png | bin | 0 -> 316 bytes | |||
| -rw-r--r-- | indra/newview/skins/default/textures/containers/Toolbar_Right_Flash.png | bin | 0 -> 428 bytes | |||
| -rw-r--r-- | indra/newview/skins/default/textures/textures.xml | 3 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_im_container.xml | 9 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/widgets/button.xml | 1 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/widgets/tab_container.xml | 15 | 
11 files changed, 66 insertions, 13 deletions
| diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 0255061b12..a8f72183fd 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -128,6 +128,7 @@ LLButton::LLButton(const LLButton::Params& p)  	mImageSelected(p.image_selected),  	mImageDisabled(p.image_disabled),  	mImageDisabledSelected(p.image_disabled_selected), +	mImageFlash(p.image_flash),  	mImagePressed(p.image_pressed),  	mImagePressedSelected(p.image_pressed_selected),  	mImageHoverSelected(p.image_hover_selected), @@ -635,14 +636,24 @@ void LLButton::draw()  	if (mFlashing)  	{ -		LLColor4 flash_color = mFlashBgColor.get(); -		use_glow_effect = TRUE; -		glow_type = LLRender::BT_ALPHA; // blend the glow - -		if (mNeedsHighlight) // highlighted AND flashing -			glow_color = (glow_color*0.5f + flash_color*0.5f) % 2.0f; // average between flash and highlight colour, with sum of the opacity +		// if we have icon for flashing, use it as image for button +		if(flash && mImageFlash->getName() != "FlashIconAbsent") +		{ +			// setting flash to false to avoid its further influence on glow +			flash = false; +			imagep = mImageFlash; +		} +		// else use usual flashing via flash_color  		else -			glow_color = flash_color; +		{ +			LLColor4 flash_color = mFlashBgColor.get(); +			use_glow_effect = TRUE; +			glow_type = LLRender::BT_ALPHA; // blend the glow +			if (mNeedsHighlight) // highlighted AND flashing +				glow_color = (glow_color*0.5f + flash_color*0.5f) % 2.0f; // average between flash and highlight colour, with sum of the opacity +			else +				glow_color = flash_color; +		}  	}  	if (mNeedsHighlight && !imagep) @@ -1018,6 +1029,11 @@ void LLButton::setImageHoverUnselected(LLPointer<LLUIImage> image)  	mImageHoverUnselected = image;  } +void LLButton::setImageFlash(LLPointer<LLUIImage> image) +{ +	mImageFlash = image; +} +  void LLButton::setImageOverlay(const std::string& image_name, LLFontGL::HAlign alignment, const LLColor4& color)  {  	if (image_name.empty()) diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index a4d81ed6c3..b251c3d65d 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -84,6 +84,7 @@ public:  								image_hover_unselected,  								image_disabled_selected,  								image_disabled, +								image_flash,  								image_pressed,  								image_pressed_selected,  								image_overlay; @@ -246,6 +247,7 @@ public:  	void			setImageHoverUnselected(LLPointer<LLUIImage> image);  	void			setImageDisabled(LLPointer<LLUIImage> image);  	void			setImageDisabledSelected(LLPointer<LLUIImage> image); +	void			setImageFlash(LLPointer<LLUIImage> image);  	void			setImagePressed(LLPointer<LLUIImage> image);  	void			setCommitOnReturn(BOOL commit) { mCommitOnReturn = commit; } @@ -310,6 +312,12 @@ private:  	LLPointer<LLUIImage>		mImagePressed;  	LLPointer<LLUIImage>		mImagePressedSelected; +	/* There are two ways an image can flash- by making changes in color according to flash_color attribute +	   or by changing icon from current to the one specified in image_flash. Second way is used only if +	   the name of flash icon is different from "FlashIconAbsent" which is there by default. First way is used  +	   otherwise. */ +	LLPointer<LLUIImage>		mImageFlash; +  	LLUIColor					mHighlightColor;  	LLUIColor					mFlashBgColor; diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp index 30fc7babae..986cfe75a1 100644 --- a/indra/llui/lltabcontainer.cpp +++ b/indra/llui/lltabcontainer.cpp @@ -197,10 +197,13 @@ static LLDefaultChildRegistry::Register<LLTabContainer> r2("tab_container");  LLTabContainer::TabParams::TabParams()  :	tab_top_image_unselected("tab_top_image_unselected"),  	tab_top_image_selected("tab_top_image_selected"), +	tab_top_image_flash("tab_top_image_flash"),  	tab_bottom_image_unselected("tab_bottom_image_unselected"),  	tab_bottom_image_selected("tab_bottom_image_selected"), +	tab_bottom_image_flash("tab_bottom_image_flash"),  	tab_left_image_unselected("tab_left_image_unselected"), -	tab_left_image_selected("tab_left_image_selected") +	tab_left_image_selected("tab_left_image_selected"), +	tab_left_image_flash("tab_left_image_flash")  {}  LLTabContainer::Params::Params() @@ -879,16 +882,19 @@ void LLTabContainer::update_images(LLTabTuple* tuple, TabParams params, LLTabCon  		{  			tuple->mButton->setImageUnselected(static_cast<LLUIImage*>(params.tab_top_image_unselected));  			tuple->mButton->setImageSelected(static_cast<LLUIImage*>(params.tab_top_image_selected)); +			tuple->mButton->setImageFlash(static_cast<LLUIImage*>(params.tab_top_image_flash));  		}  		else if (pos == LLTabContainer::BOTTOM)  		{  			tuple->mButton->setImageUnselected(static_cast<LLUIImage*>(params.tab_bottom_image_unselected));  			tuple->mButton->setImageSelected(static_cast<LLUIImage*>(params.tab_bottom_image_selected)); +			tuple->mButton->setImageFlash(static_cast<LLUIImage*>(params.tab_bottom_image_flash));  		}  		else if (pos == LLTabContainer::LEFT)  		{  			tuple->mButton->setImageUnselected(static_cast<LLUIImage*>(params.tab_left_image_unselected));  			tuple->mButton->setImageSelected(static_cast<LLUIImage*>(params.tab_left_image_selected)); +			tuple->mButton->setImageFlash(static_cast<LLUIImage*>(params.tab_left_image_flash));  		}  	}  } diff --git a/indra/llui/lltabcontainer.h b/indra/llui/lltabcontainer.h index 50ec2679f6..a2dc15aaf9 100644 --- a/indra/llui/lltabcontainer.h +++ b/indra/llui/lltabcontainer.h @@ -67,10 +67,13 @@ public:  	{  		Optional<LLUIImage*>				tab_top_image_unselected,  											tab_top_image_selected, +											tab_top_image_flash,  											tab_bottom_image_unselected,  											tab_bottom_image_selected, +											tab_bottom_image_flash,  											tab_left_image_unselected, -											tab_left_image_selected;		 +											tab_left_image_selected, +											tab_left_image_flash;		  		TabParams();  	}; diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Left_Flash.png b/indra/newview/skins/default/textures/containers/Toolbar_Left_Flash.pngBinary files differ new file mode 100644 index 0000000000..9f1e2a469d --- /dev/null +++ b/indra/newview/skins/default/textures/containers/Toolbar_Left_Flash.png diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Middle_Flash.png b/indra/newview/skins/default/textures/containers/Toolbar_Middle_Flash.pngBinary files differ new file mode 100644 index 0000000000..dd73d655e9 --- /dev/null +++ b/indra/newview/skins/default/textures/containers/Toolbar_Middle_Flash.png diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Right_Flash.png b/indra/newview/skins/default/textures/containers/Toolbar_Right_Flash.pngBinary files differ new file mode 100644 index 0000000000..f6b775c2a0 --- /dev/null +++ b/indra/newview/skins/default/textures/containers/Toolbar_Right_Flash.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 29c72a414b..072ea40ee4 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -527,15 +527,18 @@ with the same filename but different name    <texture name="Tool_Grab" file_name="build/Tool_Grab.png" preload="false" />    <texture name="Tool_Zoom" file_name="build/Tool_Zoom.png" preload="false" /> +  <texture name="Toolbar_Left_Flash" file_name="containers/Toolbar_Left_Flash.png" preload="false" scale.left="5" scale.bottom="4" scale.top="24" scale.right="30" />    <texture name="Toolbar_Left_Off" file_name="containers/Toolbar_Left_Off.png" preload="false" scale.left="5" scale.bottom="4" scale.top="24" scale.right="30" />    <texture name="Toolbar_Left_Over" file_name="containers/Toolbar_Left_Over.png" preload="false" scale.left="5" scale.bottom="4" scale.top="24" scale.right="30" />    <texture name="Toolbar_Left_Selected" file_name="containers/Toolbar_Left_Selected.png" preload="false" scale.left="5" scale.bottom="4" scale.top="24" scale.right="30" />    <texture name="Toolbar_Middle_Off" file_name="containers/Toolbar_Middle_Off.png" preload="false" scale.left="1" scale.bottom="2" scale.top="24" scale.right="30" />    <texture name="Toolbar_Middle_Over" file_name="containers/Toolbar_Middle_Over.png" preload="false" scale.left="1" scale.bottom="2" scale.top="24" scale.right="30" />    <texture name="Toolbar_Middle_Selected" file_name="containers/Toolbar_Middle_Selected.png" preload="false" scale.left="1" scale.bottom="2" scale.top="24" scale.right="30" /> +  <texture name="Toolbar_Middle_Flash" file_name="containers/Toolbar_Middle_Flash.png" preload="false" scale.left="5" scale.bottom="4" scale.top="24" scale.right="30" />    <texture name="Toolbar_Right_Off" file_name="containers/Toolbar_Right_Off.png" preload="false" scale.left="1" scale.bottom="4" scale.top="24" scale.right="26" />    <texture name="Toolbar_Right_Over" file_name="containers/Toolbar_Right_Over.png" preload="false" scale.left="1" scale.bottom="4" scale.top="24" scale.right="26" />    <texture name="Toolbar_Right_Selected" file_name="containers/Toolbar_Right_Selected.png" preload="false" scale.left="1" scale.bottom="4" scale.top="24" scale.right="26" /> +  <texture name="Toolbar_Right_Flash" file_name="containers/Toolbar_Right_Flash.png" preload="false" scale.left="1" scale.bottom="4" scale.top="24" scale.right="26" />    <texture name="Tooltip" file_name="widgets/Tooltip.png" preload="true" scale.left="2" scale.top="16" scale.right="100" scale.bottom="3" /> diff --git a/indra/newview/skins/default/xui/en/floater_im_container.xml b/indra/newview/skins/default/xui/en/floater_im_container.xml index ced8c29199..e123de46c2 100644 --- a/indra/newview/skins/default/xui/en/floater_im_container.xml +++ b/indra/newview/skins/default/xui/en/floater_im_container.xml @@ -27,7 +27,14 @@       halign="left"       use_ellipses="true"       top="0" -     width="394" /> +     width="394"> +      <first_tab +       tab_bottom_image_flash="Toolbar_Left_Flash"/> +      <middle_tab +       tab_bottom_image_flash="Toolbar_Middle_Flash"/> +      <last_tab +       tab_bottom_image_flash="Toolbar_Right_Flash"/> +    </tab_container>      <icon       color="DefaultShadowLight"       enabled="false" diff --git a/indra/newview/skins/default/xui/en/widgets/button.xml b/indra/newview/skins/default/xui/en/widgets/button.xml index c4f0fe5208..6dcc27b469 100644 --- a/indra/newview/skins/default/xui/en/widgets/button.xml +++ b/indra/newview/skins/default/xui/en/widgets/button.xml @@ -7,6 +7,7 @@          image_selected="PushButton_Selected"          image_disabled_selected="PushButton_Selected_Disabled"          image_disabled="PushButton_Disabled" +        image_flash="FlashIconAbsent"          image_top_pad="0"          image_bottom_pad="0"          imgoverlay_label_space="1" diff --git a/indra/newview/skins/default/xui/en/widgets/tab_container.xml b/indra/newview/skins/default/xui/en/widgets/tab_container.xml index 8d6b0c1cfe..30b0a8462a 100644 --- a/indra/newview/skins/default/xui/en/widgets/tab_container.xml +++ b/indra/newview/skins/default/xui/en/widgets/tab_container.xml @@ -13,20 +13,29 @@ label_pad_left - padding to the left of tab button labels                 label_pad_left="4">    <first_tab tab_top_image_unselected="TabTop_Left_Off"                 tab_top_image_selected="TabTop_Left_Selected" +               tab_top_image_flash="FlashIconAbsent"                 tab_bottom_image_unselected="Toolbar_Left_Off"                 tab_bottom_image_selected="Toolbar_Left_Selected" +               tab_bottom_image_flash="FlashIconAbsent"                 tab_left_image_unselected="SegmentedBtn_Left_Disabled" -               tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/> +               tab_left_image_selected="SegmentedBtn_Left_Selected_Over" +               tab_left_image_flash="FlashIconAbsent"/>    <middle_tab tab_top_image_unselected="TabTop_Middle_Off"                 tab_top_image_selected="TabTop_Middle_Selected" +               tab_top_image_flash="FlashIconAbsent"                 tab_bottom_image_unselected="Toolbar_Middle_Off"                 tab_bottom_image_selected="Toolbar_Middle_Selected" +               tab_bottom_image_flash="FlashIconAbsent"                 tab_left_image_unselected="SegmentedBtn_Left_Disabled" -               tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/> +               tab_left_image_selected="SegmentedBtn_Left_Selected_Over" +               tab_left_image_flash="FlashIconAbsent"/>    <last_tab tab_top_image_unselected="TabTop_Right_Off"                 tab_top_image_selected="TabTop_Right_Selected" +               tab_top_image_flash="FlashIconAbsent"                 tab_bottom_image_unselected="Toolbar_Right_Off"                 tab_bottom_image_selected="Toolbar_Right_Selected" +               tab_bottom_image_flash="FlashIconAbsent"                 tab_left_image_unselected="SegmentedBtn_Left_Disabled" -               tab_left_image_selected="SegmentedBtn_Left_Selected_Over"/> +               tab_left_image_selected="SegmentedBtn_Left_Selected_Over" +               tab_left_image_flash="FlashIconAbsent"/>  </tab_container> | 
