From ca630bf6bb1c7c8e04f5ed1e7d649d29d504a6e1 Mon Sep 17 00:00:00 2001 From: Rick Pasetto Date: Fri, 13 Nov 2009 11:52:12 -0800 Subject: Add background to media controls This actually required some help from James and Richard. Thanks, guys! This adds custom-drawing of a background image underneath the icons that make up the media controls in the layout stack. In order to have this work, we had to publicize API in lllayoutstack to force relayout to calculate the size. I also did another cleanup pass ("Boy Scout Rule") that squirreled away all pertinent controls into membed variables, instead of doing a getChild() every time updateShape() is called. Readjusted a bunch of components as well. --- indra/llui/lllayoutstack.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'indra/llui/lllayoutstack.h') diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h index 3a073fa1b2..9cbcb285dc 100644 --- a/indra/llui/lllayoutstack.h +++ b/indra/llui/lllayoutstack.h @@ -81,8 +81,8 @@ public: S32 getNumPanels() { return mPanels.size(); } void updatePanelAutoResize(const std::string& panel_name, BOOL auto_resize); - - + + void updateLayout(BOOL force_resize = FALSE); static void updateClass(); protected: @@ -92,7 +92,6 @@ protected: private: struct LayoutPanel; - void updateLayout(BOOL force_resize = FALSE); void calcMinExtents(); S32 getDefaultHeight(S32 cur_height); S32 getDefaultWidth(S32 cur_width); -- cgit v1.2.3 From 812d18515ddefd11fe8c5fc7f655280a231670f5 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Tue, 17 Nov 2009 13:03:08 +0200 Subject: Completed major sub-task EXT-991 (Update bottom bar behavior on resize) - added possibility to shrink/extend buttons (gestures, move, view) while resizing - I had to add LLLayoutStack::getPanelMinSize interface to validate width of Layout panels with these buttons --HG-- branch : product-engine --- indra/llui/lllayoutstack.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'indra/llui/lllayoutstack.h') diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h index 9cbcb285dc..abd5436018 100644 --- a/indra/llui/lllayoutstack.h +++ b/indra/llui/lllayoutstack.h @@ -82,6 +82,14 @@ public: void updatePanelAutoResize(const std::string& panel_name, BOOL auto_resize); + /** + * Gets minimal width and/or height of the specified by name panel. + * + * If it is necessary to get only the one dimension pass NULL for another one. + * @returns true if specified by panel_name internal panel exists, false otherwise. + */ + bool getPanelMinSize(const std::string& panel_name, S32* min_widthp, S32* min_heightp); + void updateLayout(BOOL force_resize = FALSE); static void updateClass(); -- cgit v1.2.3