From 77b5a39cc1daa79ceea599aea3f680127c9949b1 Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Fri, 5 Feb 2010 17:34:50 +0200 Subject: Fixed normal bug EXT - 3232 (Make button image overlay placement adjustable via xml) --HG-- branch : product-engine --- indra/llui/llbutton.cpp | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) (limited to 'indra/llui/llbutton.cpp') diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 4944ed4fe7..14b77925f2 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -771,12 +771,7 @@ void LLButton::draw() center_x++; } - S32 text_width_delta = overlay_width + 1; - // if image paddings set, they should participate in scaling process - S32 image_size_delta = mImageOverlayTopPad + mImageOverlayBottomPad; - overlay_width = overlay_width - image_size_delta; - overlay_height = overlay_height - image_size_delta; - + center_y += (mImageOverlayBottomPad - mImageOverlayTopPad); // fade out overlay images on disabled buttons LLColor4 overlay_color = mImageOverlayColor.get(); if (!enabled) @@ -788,10 +783,9 @@ void LLButton::draw() switch(mImageOverlayAlignment) { case LLFontGL::LEFT: - text_left += overlay_width + mImageOverlayRightPad + 1; - text_width -= text_width_delta; + text_left += overlay_width + 1; mImageOverlay->draw( - mLeftHPad, + mImageOverlayLeftPad, center_y - (overlay_height / 2), overlay_width, overlay_height, @@ -806,10 +800,9 @@ void LLButton::draw() overlay_color); break; case LLFontGL::RIGHT: - text_right -= overlay_width + mImageOverlayLeftPad+ 1; - text_width -= text_width_delta; + text_right -= overlay_width + 1; mImageOverlay->draw( - getRect().getWidth() - mRightHPad - overlay_width, + getRect().getWidth() - mImageOverlayRightPad - overlay_width, center_y - (overlay_height / 2), overlay_width, overlay_height, -- cgit v1.3 From 7199c9cc1bbd17eecea33b77a97a5ad7b20d2888 Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Mon, 8 Feb 2010 18:05:48 +0200 Subject: EXT-3232 Refactoring: Improved the way of horizontal alignment of button's image overlay. Now mLeftHPad/mRightHPad is used instead of mImageOverlayLeftPad and mImageOverlayRightPad. Also mImgOverlayLabelSpace/imgoverlay_label_space members was added to button.(h/xml) to define space between image overlay and button's label --HG-- branch : product-engine --- indra/llui/llbutton.cpp | 10 ++++++---- indra/llui/llbutton.h | 10 ++++++++++ indra/newview/skins/default/xui/en/widgets/button.xml | 1 + 3 files changed, 17 insertions(+), 4 deletions(-) (limited to 'indra/llui/llbutton.cpp') diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 14b77925f2..a4a8cc4e17 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -85,6 +85,7 @@ LLButton::Params::Params() image_right_pad("image_right_pad"), image_top_pad("image_top_pad"), image_bottom_pad("image_bottom_pad"), + imgoverlay_label_space("imgoverlay_label_space", 1), label_color("label_color"), label_color_selected("label_color_selected"), // requires is_toggle true label_color_disabled("label_color_disabled"), @@ -148,6 +149,7 @@ LLButton::LLButton(const LLButton::Params& p) mImageOverlayRightPad(p.image_right_pad), mImageOverlayTopPad(p.image_top_pad), mImageOverlayBottomPad(p.image_bottom_pad), + mImgOverlayLabelSpace(p.imgoverlay_label_space), mIsToggle(p.is_toggle), mScaleImage(p.scale_image), mDropShadowedText(p.label_shadow), @@ -783,9 +785,9 @@ void LLButton::draw() switch(mImageOverlayAlignment) { case LLFontGL::LEFT: - text_left += overlay_width + 1; + text_left += overlay_width + mImgOverlayLabelSpace; mImageOverlay->draw( - mImageOverlayLeftPad, + mLeftHPad, center_y - (overlay_height / 2), overlay_width, overlay_height, @@ -800,9 +802,9 @@ void LLButton::draw() overlay_color); break; case LLFontGL::RIGHT: - text_right -= overlay_width + 1; + text_right -= overlay_width + mImgOverlayLabelSpace; mImageOverlay->draw( - getRect().getWidth() - mImageOverlayRightPad - overlay_width, + getRect().getWidth() - mRightHPad - overlay_width, center_y - (overlay_height / 2), overlay_width, overlay_height, diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 8e5f19602f..3fbc5c6785 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -112,6 +112,11 @@ public: Optional image_top_pad; Optional image_bottom_pad; + /** + * Space between image_overlay and label + */ + Optional imgoverlay_label_space; + // callbacks Optional click_callback, // alias -> commit_callback mouse_down_callback, @@ -333,6 +338,11 @@ private: S32 mImageOverlayTopPad; S32 mImageOverlayBottomPad; + /* + * Space between image_overlay and label + */ + S32 mImgOverlayLabelSpace; + F32 mHoverGlowStrength; F32 mCurGlowStrength; diff --git a/indra/newview/skins/default/xui/en/widgets/button.xml b/indra/newview/skins/default/xui/en/widgets/button.xml index 74d8478551..5c80fb50af 100644 --- a/indra/newview/skins/default/xui/en/widgets/button.xml +++ b/indra/newview/skins/default/xui/en/widgets/button.xml @@ -11,6 +11,7 @@ image_right_pad="0" image_top_pad="0" image_bottom_pad="0" + imgoverlay_label_space="1" label_color="ButtonLabelColor" label_color_selected="ButtonLabelSelectedColor" label_color_disabled="ButtonLabelDisabledColor" -- cgit v1.3 From acc0a2962bc645335f19bb5e6142690ea99df449 Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Mon, 8 Feb 2010 19:09:23 +0200 Subject: EXT - 3232 Refactoring: deleted unnecessary image_left_padding, image_right_padding members from button.h and button.xml and their the only place usage in LLTabContainer::reshapeTuple . Now image overlay placement adjustible via: mLeftHPad, mRightHPad, mImageOverlayBottomPad, mImageOverlayTopPad, mImgOverlayLabelSpace --HG-- branch : product-engine --- indra/llui/llbutton.cpp | 4 ---- indra/llui/llbutton.h | 8 -------- indra/llui/lltabcontainer.cpp | 4 ---- indra/newview/app_settings/settings.xml | 22 ---------------------- .../skins/default/xui/en/widgets/button.xml | 2 -- 5 files changed, 40 deletions(-) (limited to 'indra/llui/llbutton.cpp') diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index a4a8cc4e17..1d4dc35cee 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -81,8 +81,6 @@ LLButton::Params::Params() image_pressed_selected("image_pressed_selected"), image_overlay("image_overlay"), image_overlay_alignment("image_overlay_alignment", std::string("center")), - image_left_pad("image_left_pad"), - image_right_pad("image_right_pad"), image_top_pad("image_top_pad"), image_bottom_pad("image_bottom_pad"), imgoverlay_label_space("imgoverlay_label_space", 1), @@ -145,8 +143,6 @@ LLButton::LLButton(const LLButton::Params& p) mImageOverlay(p.image_overlay()), mImageOverlayColor(p.image_overlay_color()), mImageOverlayAlignment(LLFontGL::hAlignFromName(p.image_overlay_alignment)), - mImageOverlayLeftPad(p.image_left_pad), - mImageOverlayRightPad(p.image_right_pad), mImageOverlayTopPad(p.image_top_pad), mImageOverlayBottomPad(p.image_bottom_pad), mImgOverlayLabelSpace(p.imgoverlay_label_space), diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index 3fbc5c6785..8f35db1007 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -107,8 +107,6 @@ public: Optional pad_bottom; // under text label //image overlay paddings - Optional image_left_pad; - Optional image_right_pad; Optional image_top_pad; Optional image_bottom_pad; @@ -197,10 +195,6 @@ public: void setLeftHPad( S32 pad ) { mLeftHPad = pad; } void setRightHPad( S32 pad ) { mRightHPad = pad; } - void setImageOverlayLeftPad( S32 pad ) { mImageOverlayLeftPad = pad; } - S32 getImageOverlayLeftPad() const { return mImageOverlayLeftPad; } - void setImageOverlayRightPad( S32 pad ) { mImageOverlayRightPad = pad; } - S32 getImageOverlayRightPad() const { return mImageOverlayRightPad; } void setImageOverlayTopPad( S32 pad ) { mImageOverlayTopPad = pad; } S32 getImageOverlayTopPad() const { return mImageOverlayTopPad; } void setImageOverlayBottomPad( S32 pad ) { mImageOverlayBottomPad = pad; } @@ -333,8 +327,6 @@ private: S32 mRightHPad; S32 mBottomVPad; // under text label - S32 mImageOverlayLeftPad; - S32 mImageOverlayRightPad; S32 mImageOverlayTopPad; S32 mImageOverlayBottomPad; diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp index 19408989a5..ef9d195a19 100644 --- a/indra/llui/lltabcontainer.cpp +++ b/indra/llui/lltabcontainer.cpp @@ -1628,15 +1628,11 @@ void LLTabContainer::setTabImage(LLPanel* child, LLIconCtrl* icon) void LLTabContainer::reshapeTuple(LLTabTuple* tuple) { static LLUICachedControl tab_padding ("UITabPadding", 0); - static LLUICachedControl image_left_padding ("UIButtonImageLeftPadding", 4); - static LLUICachedControl image_right_padding ("UIButtonImageRightPadding", 4); static LLUICachedControl image_top_padding ("UIButtonImageTopPadding", 2); static LLUICachedControl image_bottom_padding ("UIButtonImageBottomPadding", 2); if (!mIsVertical) { - tuple->mButton->setImageOverlayLeftPad(image_left_padding); - tuple->mButton->setImageOverlayRightPad(image_right_padding); tuple->mButton->setImageOverlayTopPad(image_top_padding); tuple->mButton->setImageOverlayBottomPad(image_bottom_padding); diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 923ba44906..a32f0d046e 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -9938,28 +9938,6 @@ Value 15 - UIButtonImageLeftPadding - - Comment - Button Overlay Image Left Padding - Persist - 1 - Type - S32 - Value - 4 - - UIButtonImageRightPadding - - Comment - Button Overlay Image Right Padding - Persist - 1 - Type - S32 - Value - 4 - UIButtonImageTopPadding Comment diff --git a/indra/newview/skins/default/xui/en/widgets/button.xml b/indra/newview/skins/default/xui/en/widgets/button.xml index 5c80fb50af..1b34a731a5 100644 --- a/indra/newview/skins/default/xui/en/widgets/button.xml +++ b/indra/newview/skins/default/xui/en/widgets/button.xml @@ -7,8 +7,6 @@ image_selected="PushButton_Selected" image_disabled_selected="PushButton_Selected_Disabled" image_disabled="PushButton_Disabled" - image_left_pad="0" - image_right_pad="0" image_top_pad="0" image_bottom_pad="0" imgoverlay_label_space="1" -- cgit v1.3