| // Copyright 2017 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef IOS_CHROME_BROWSER_UI_TOOLBAR_BUTTONS_TOOLBAR_COMPONENT_OPTIONS_H_ |
| #define IOS_CHROME_BROWSER_UI_TOOLBAR_BUTTONS_TOOLBAR_COMPONENT_OPTIONS_H_ |
| |
| // List of different SizeClass states. If a Visibility Mask bit is TRUE then the |
| // component could be visible for that SizeClass. In order for a component to be |
| // visible it needs to meet all current conditions. |
| typedef NS_OPTIONS(NSUInteger, ToolbarComponentVisibility) { |
| // Default option, the component will never be visible. |
| ToolbarComponentVisibilityNone = 0, |
| // Use this option when the component should be visible in CompactWidth x |
| // CompactHeight. |
| ToolbarComponentVisibilityCompactWidthCompactHeight = 1 << 0, |
| // Use this option when the component should be visible in CompactWidth x |
| // CompactHeight. |
| ToolbarComponentVisibilityRegularWidthCompactHeight = 1 << 1, |
| // Use this option when the component should be visible in CompactWidth x |
| // RegularHeight. |
| ToolbarComponentVisibilityCompactWidthRegularHeight = 1 << 2, |
| // Use this option when the component should be visible in |
| // RegularWidth x RegularHeight. |
| ToolbarComponentVisibilityRegularWidthRegularHeight = 1 << 3, |
| // Use this option when the component should always be visible. |
| ToolbarComponentVisibilityAlways = |
| (ToolbarComponentVisibilityRegularWidthRegularHeight | |
| ToolbarComponentVisibilityRegularWidthCompactHeight | |
| ToolbarComponentVisibilityCompactWidthCompactHeight | |
| ToolbarComponentVisibilityCompactWidthRegularHeight), |
| // Use this option when the component should be visible when the toolbar is |
| // split. |
| ToolbarComponentVisibilitySplit = |
| ToolbarComponentVisibilityCompactWidthRegularHeight, |
| }; |
| |
| #endif // IOS_CHROME_BROWSER_UI_TOOLBAR_BUTTONS_TOOLBAR_COMPONENT_OPTIONS_H_ |