| // Copyright 2016 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_BROWSER_UI_COCOA_FULLSCREEN_FULLSCREEN_MENUBAR_TRACKER_H_ |
| #define CHROME_BROWSER_UI_COCOA_FULLSCREEN_FULLSCREEN_MENUBAR_TRACKER_H_ |
| |
| #import <Cocoa/Cocoa.h> |
| |
| @class BrowserWindowController; |
| @class FullscreenToolbarController; |
| |
| // State of the menubar in the window's screen. |
| enum class FullscreenMenubarState { |
| SHOWN, // Menubar is fully shown. |
| HIDDEN, // Menubar is fully hidden. |
| SHOWING, // Menubar is animating in. |
| HIDING, // Menubar is animating out. |
| }; |
| |
| @interface FullscreenMenubarTracker : NSObject |
| |
| // The state of the menubar. |
| @property(nonatomic, readonly) FullscreenMenubarState state; |
| |
| // The fraction of the menubar shown on the screen. |
| @property(nonatomic, readonly) CGFloat menubarFraction; |
| |
| // Designated initializer. |
| - (instancetype)initWithFullscreenToolbarController: |
| (FullscreenToolbarController*)owner; |
| |
| // Called by MenuBarRevealHandler to update the menubar progress. The progress |
| // is only updated if the window is in fullscreen and the mouse is in the |
| // same screen. |
| - (void)setMenubarProgress:(CGFloat)progress; |
| |
| @end |
| |
| #endif // CHROME_BROWSER_UI_COCOA_FULLSCREEN_FULLSCREEN_MENUBAR_TRACKER_H_ |