OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_COCOA_FULLSCREEN_CONTROLLER_H_ | 5 #ifndef CHROME_BROWSER_COCOA_FULLSCREEN_CONTROLLER_H_ |
6 #define CHROME_BROWSER_COCOA_FULLSCREEN_CONTROLLER_H_ | 6 #define CHROME_BROWSER_COCOA_FULLSCREEN_CONTROLLER_H_ |
7 | 7 |
8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
9 | 9 |
10 #import "base/cocoa_protocols_mac.h" | 10 #import "base/cocoa_protocols_mac.h" |
11 #include "base/mac_util.h" | 11 #include "base/mac_util.h" |
12 #include "chrome/browser/cocoa/location_bar_view_mac.h" | 12 #include "chrome/browser/cocoa/location_bar_view_mac.h" |
13 | 13 |
14 @class BrowserWindowController; | 14 @class BrowserWindowController; |
| 15 @class DropdownAnimation; |
15 | 16 |
16 // Provides a controller to manage fullscreen mode for a single browser window. | 17 // Provides a controller to manage fullscreen mode for a single browser window. |
17 // This class handles running animations, showing and hiding the floating | 18 // This class handles running animations, showing and hiding the floating |
18 // dropdown bar, and managing the tracking area associated with the dropdown. | 19 // dropdown bar, and managing the tracking area associated with the dropdown. |
19 // This class does not directly manage any views -- the BrowserWindowController | 20 // This class does not directly manage any views -- the BrowserWindowController |
20 // is responsible for positioning and z-ordering views. | 21 // is responsible for positioning and z-ordering views. |
21 // | 22 // |
22 // Tracking areas are disabled while animations are running. If | 23 // Tracking areas are disabled while animations are running. If |
23 // |overlayFrameChanged:| is called while an animation is running, the | 24 // |overlayFrameChanged:| is called while an animation is running, the |
24 // controller saves the new frame and installs the appropriate tracking area | 25 // controller saves the new frame and installs the appropriate tracking area |
(...skipping 14 matching lines...) Expand all Loading... |
39 | 40 |
40 // The tracking area associated with the floating dropdown bar. This tracking | 41 // The tracking area associated with the floating dropdown bar. This tracking |
41 // area is attached to |contentView_|, because when the dropdown is completely | 42 // area is attached to |contentView_|, because when the dropdown is completely |
42 // hidden, we still need to keep a 1px tall tracking area visible. Attaching | 43 // hidden, we still need to keep a 1px tall tracking area visible. Attaching |
43 // to the content view allows us to do this. |trackingArea_| can be nil if | 44 // to the content view allows us to do this. |trackingArea_| can be nil if |
44 // not in fullscreen mode or during animations. | 45 // not in fullscreen mode or during animations. |
45 scoped_nsobject<NSTrackingArea> trackingArea_; | 46 scoped_nsobject<NSTrackingArea> trackingArea_; |
46 | 47 |
47 // Pointer to the currently running animation. Is nil if no animation is | 48 // Pointer to the currently running animation. Is nil if no animation is |
48 // running. | 49 // running. |
49 scoped_nsobject<NSAnimation> currentAnimation_; | 50 scoped_nsobject<DropdownAnimation> currentAnimation_; |
50 | 51 |
51 // Timers for scheduled showing/hiding of the bar (which are always done with | 52 // Timers for scheduled showing/hiding of the bar (which are always done with |
52 // animation). | 53 // animation). |
53 scoped_nsobject<NSTimer> showTimer_; | 54 scoped_nsobject<NSTimer> showTimer_; |
54 scoped_nsobject<NSTimer> hideTimer_; | 55 scoped_nsobject<NSTimer> hideTimer_; |
55 | 56 |
56 // Holds the current bounds of |trackingArea_|, even if |trackingArea_| is | 57 // Holds the current bounds of |trackingArea_|, even if |trackingArea_| is |
57 // currently nil. Used to restore the tracking area when an animation | 58 // currently nil. Used to restore the tracking area when an animation |
58 // completes. | 59 // completes. |
59 NSRect trackingAreaBounds_; | 60 NSRect trackingAreaBounds_; |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 // Gets the current floating bar shown fraction. | 108 // Gets the current floating bar shown fraction. |
108 - (CGFloat)floatingBarShownFraction; | 109 - (CGFloat)floatingBarShownFraction; |
109 | 110 |
110 // Sets a new current floating bar shown fraction. NOTE: This function has side | 111 // Sets a new current floating bar shown fraction. NOTE: This function has side |
111 // effects, such as modifying the fullscreen mode (menu bar shown state). | 112 // effects, such as modifying the fullscreen mode (menu bar shown state). |
112 - (void)changeFloatingBarShownFraction:(CGFloat)fraction; | 113 - (void)changeFloatingBarShownFraction:(CGFloat)fraction; |
113 | 114 |
114 @end | 115 @end |
115 | 116 |
116 #endif // CHROME_BROWSER_COCOA_FULLSCREEN_CONTROLLER_H_ | 117 #endif // CHROME_BROWSER_COCOA_FULLSCREEN_CONTROLLER_H_ |
OLD | NEW |