summaryrefslogtreecommitdiff
path: root/indra/newview/llbottomtray.h
diff options
context:
space:
mode:
authorangela <angela@lindenlab.com>2009-11-19 11:43:47 +0800
committerangela <angela@lindenlab.com>2009-11-19 11:43:47 +0800
commit6e5f529a7adb53fa021986aed6e6b1b229cc0efd (patch)
treea031044cfb6618a5b36a0e80d0fc3a918dfa07a9 /indra/newview/llbottomtray.h
parenta35fbddb910fa0dd068622c3dc64af1b27ca19b7 (diff)
parent81eca4a7823f7fa06327b8185b6603d1f3c9ac9a (diff)
branch merge
Diffstat (limited to 'indra/newview/llbottomtray.h')
-rw-r--r--indra/newview/llbottomtray.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/indra/newview/llbottomtray.h b/indra/newview/llbottomtray.h
index 8989816bfe..97bcc23403 100644
--- a/indra/newview/llbottomtray.h
+++ b/indra/newview/llbottomtray.h
@@ -98,7 +98,6 @@ private:
, RS_BUTTON_MOVEMENT = 0x0010
, RS_BUTTON_GESTURES = 0x0020
, RS_BUTTON_SPEAK = 0x0040
- , RS_RESIZABLE_BUTTONS = /*RS_BUTTON_SNAPSHOT | */RS_BUTTON_CAMERA | RS_BUTTON_MOVEMENT | RS_BUTTON_GESTURES
}EResizeState;
S32 processWidthDecreased(S32 delta_width);
@@ -108,6 +107,24 @@ private:
void processHideButton(EResizeState processed_object_type, S32* required_width, S32* buttons_freed_width);
/**
+ * Shrinks shown buttons to reduce total taken space.
+ *
+ * @param - required_width - width which buttons can use to be shrunk. It is a negative value.
+ * It is increased on the value processed by buttons.
+ */
+ void processShrinkButtons(S32* required_width);
+ void processShrinkButton(EResizeState processed_object_type, S32* required_width);
+
+ /**
+ * Extends shown buttons to increase total taken space.
+ *
+ * @param - available_width - width which buttons can use to be extended. It is a positive value.
+ * It is decreased on the value processed by buttons.
+ */
+ void processExtendButtons(S32* available_width);
+ void processExtendButton(EResizeState processed_object_type, S32* available_width);
+
+ /**
* Determines if specified by type object can be shown. It should be hidden by shrink before.
*
* Processes buttons a such way to show buttons in constant order:
@@ -140,6 +157,9 @@ private:
typedef std::map<EResizeState, LLPanel*> state_object_map_t;
state_object_map_t mStateProcessedObjectMap;
+ typedef std::map<EResizeState, S32> state_object_width_map_t;
+ state_object_width_map_t mObjectDefaultWidthMap;
+
protected:
LLBottomTray(const LLSD& key = LLSD());