| // 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_FULLSCREEN_TOOLBAR_UI_H_ |
| #define IOS_CHROME_BROWSER_UI_TOOLBAR_FULLSCREEN_TOOLBAR_UI_H_ |
| |
| #import <UIKit/UIKit.h> |
| |
| // Protocol for the UI displaying the toolbar. |
| @protocol ToolbarUI<NSObject> |
| |
| // The minimum height of the toolbar relative to the browser content area. |
| // This should be broadcast using `-broadcastCollapsedTopToolbarHeight:`. |
| @property(nonatomic, readonly) CGFloat collapsedTopToolbarHeight; |
| |
| // The minimum height of the toolbar relative to the browser content area. |
| // This should be broadcast using `-broadcastExpandedTopToolbarHeight:`. |
| @property(nonatomic, readonly) CGFloat expandedTopToolbarHeight; |
| |
| // The height of the bottom toolbar relative to the browser content area. |
| // This should be broadcast using `-broadcastExpandedBottomToolbarHeight:`. |
| @property(nonatomic, readonly) CGFloat expandedBottomToolbarHeight; |
| |
| @property(nonatomic, readonly) CGFloat collapsedBottomToolbarHeight; |
| |
| @end |
| |
| // Simple implementation of ToolbarUI that allows readwrite access to broadcast |
| // properties. |
| @interface ToolbarUIState : NSObject<ToolbarUI> |
| |
| // Redefine properties as readwrite. |
| @property(nonatomic, assign) CGFloat collapsedTopToolbarHeight; |
| @property(nonatomic, assign) CGFloat expandedTopToolbarHeight; |
| @property(nonatomic, assign) CGFloat expandedBottomToolbarHeight; |
| @property(nonatomic, assign) CGFloat collapsedBottomToolbarHeight; |
| |
| @end |
| |
| #endif // IOS_CHROME_BROWSER_UI_TOOLBAR_FULLSCREEN_TOOLBAR_UI_H_ |