From 9c06bbb8ebc04cca83c385012365b7aa4cb8b8de Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Mon, 14 Jan 2019 20:02:07 -0500 Subject: [PATCH] Fix the expand buttons in the remote toolbars looking like garbage --- indra/llui/llbutton.cpp | 13 ++++++++++--- indra/llui/llbutton.h | 1 + .../default/xui/en-us/panel_ao_remote_controls.xml | 2 +- .../default/xui/en-us/panel_voice_controls.xml | 2 +- 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index e8bf11a1d..d11334959 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -92,6 +92,7 @@ LLButton::LLButton( const std::string& name, const LLRect& rect, const std::stri mFlashBgColor(LLUI::sColorsGroup->getColor("ButtonFlashBgColor")), mDisabledImageColor(LLUI::sColorsGroup->getColor("ButtonImageColor")), mImageOverlay(NULL), + mImageOverlaySelected(NULL), mImageOverlayColor(LLColor4::white), mImageOverlayDisabledColor(LLColor4(1.f,1.f,1.f,.5f)), mImageOverlaySelectedColor(LLColor4::white), @@ -161,6 +162,7 @@ LLButton::LLButton(const std::string& name, const LLRect& rect, mFlashBgColor(LLUI::sColorsGroup->getColor("ButtonFlashBgColor")), mDisabledImageColor(LLUI::sColorsGroup->getColor("ButtonImageColor")), mImageOverlay(NULL), + mImageOverlaySelected(NULL), mImageOverlayColor(LLColor4::white), mImageOverlayDisabledColor(LLColor4(1.f,1.f,1.f,.5f)), mImageOverlaySelectedColor(LLColor4::white), @@ -783,12 +785,13 @@ void LLButton::draw() } overlay_color.mV[VALPHA] *= alpha; + auto& overlay = (mIsToggle && mImageOverlaySelected && getToggleState()) ? mImageOverlaySelected : mImageOverlay; switch(mImageOverlayAlignment) { case LLFontGL::LEFT: text_left += overlay_width + mImgOverlayLabelSpace; text_width -= overlay_width + mImgOverlayLabelSpace; - mImageOverlay->draw( + overlay->draw( mLeftHPad, center_y - (overlay_height / 2), overlay_width, @@ -796,7 +799,7 @@ void LLButton::draw() overlay_color); break; case LLFontGL::HCENTER: - mImageOverlay->draw( + overlay->draw( center_x - (overlay_width / 2), center_y - (overlay_height / 2), overlay_width, @@ -806,7 +809,7 @@ void LLButton::draw() case LLFontGL::RIGHT: text_right -= overlay_width + mImgOverlayLabelSpace; text_width -= overlay_width + mImgOverlayLabelSpace; - mImageOverlay->draw( + overlay->draw( getRect().getWidth() - mRightHPad - overlay_width, center_y - (overlay_height / 2), overlay_width, @@ -1199,6 +1202,9 @@ LLView* LLButton::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *fa std::string image_overlay; node->getAttributeString("image_overlay", image_overlay); + std::string image_overlay_selected; + node->getAttributeString("image_overlay_selected", image_overlay_selected); + LLFontGL::HAlign image_overlay_alignment = LLFontGL::HCENTER; std::string image_overlay_alignment_string; if (node->hasAttribute("image_overlay_alignment")) @@ -1234,6 +1240,7 @@ LLView* LLButton::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *fa if(image_disabled != LLStringUtil::null) button->setImageDisabled(LLUI::getUIImage(image_disabled)); if(image_overlay != LLStringUtil::null) button->setImageOverlay(image_overlay, image_overlay_alignment); + if (!image_overlay_selected.empty()) button->mImageOverlaySelected = LLUI::getUIImage(image_overlay_selected); if (node->hasAttribute("halign")) { diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 1495740c6..86471f1c5 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -243,6 +243,7 @@ protected: S32 mHeldDownFrameDelay; // frames, after which held-down callbacks get called LLPointer mImageOverlay; + LLPointer mImageOverlaySelected; LLFontGL::HAlign mImageOverlayAlignment; LLUIColor mImageOverlayColor; LLUIColor mImageOverlaySelectedColor; diff --git a/indra/newview/skins/default/xui/en-us/panel_ao_remote_controls.xml b/indra/newview/skins/default/xui/en-us/panel_ao_remote_controls.xml index 5d1be6de1..4404fd5be 100644 --- a/indra/newview/skins/default/xui/en-us/panel_ao_remote_controls.xml +++ b/indra/newview/skins/default/xui/en-us/panel_ao_remote_controls.xml @@ -7,6 +7,6 @@ tool_tip="Click here to toggle the Animation Overrider" width="66" />