OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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_CHROME_BROWSER_WINDOW_H_ | 5 #ifndef CHROME_BROWSER_COCOA_CHROME_BROWSER_WINDOW_H_ |
6 #define CHROME_BROWSER_COCOA_CHROME_BROWSER_WINDOW_H_ | 6 #define CHROME_BROWSER_COCOA_CHROME_BROWSER_WINDOW_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #import <Cocoa/Cocoa.h> | 9 #import <Cocoa/Cocoa.h> |
10 | 10 |
(...skipping 20 matching lines...) Expand all Loading... |
31 // unhandled keyboard events and subclassing NSWindow is the only method to do | 31 // unhandled keyboard events and subclassing NSWindow is the only method to do |
32 // this. We also handle our own window controls and custom window frame drawing. | 32 // this. We also handle our own window controls and custom window frame drawing. |
33 @interface ChromeBrowserWindow : ChromeEventProcessingWindow { | 33 @interface ChromeBrowserWindow : ChromeEventProcessingWindow { |
34 @private | 34 @private |
35 BOOL shouldHideTitle_; | 35 BOOL shouldHideTitle_; |
36 NSButton* closeButton_; | 36 NSButton* closeButton_; |
37 NSButton* miniaturizeButton_; | 37 NSButton* miniaturizeButton_; |
38 NSButton* zoomButton_; | 38 NSButton* zoomButton_; |
39 BOOL entered_; | 39 BOOL entered_; |
40 scoped_nsobject<NSTrackingArea> widgetTrackingArea_; | 40 scoped_nsobject<NSTrackingArea> widgetTrackingArea_; |
| 41 int underlaySurfaceCount_; |
41 } | 42 } |
42 | 43 |
43 // Tells the window to suppress title drawing. | 44 // Tells the window to suppress title drawing. |
44 - (void)setShouldHideTitle:(BOOL)flag; | 45 - (void)setShouldHideTitle:(BOOL)flag; |
45 | 46 |
46 // Return true if the mouse is currently in our tracking area for our window | 47 // Return true if the mouse is currently in our tracking area for our window |
47 // widgets. | 48 // widgets. |
48 - (BOOL)mouseInGroup:(NSButton*)widget; | 49 - (BOOL)mouseInGroup:(NSButton*)widget; |
49 | 50 |
50 // Update the tracking areas for our window widgets as appropriate. | 51 // Update the tracking areas for our window widgets as appropriate. |
51 - (void)updateTrackingAreas; | 52 - (void)updateTrackingAreas; |
52 | 53 |
| 54 // Informs the window that an underlay surface has been added/removed. The |
| 55 // window is non-opaque while underlay surfaces are present. |
| 56 - (void)underlaySurfaceAdded; |
| 57 - (void)underlaySurfaceRemoved; |
| 58 |
53 @end | 59 @end |
54 | 60 |
55 @interface NSWindow (UndocumentedAPI) | 61 @interface NSWindow (UndocumentedAPI) |
56 | 62 |
57 // Undocumented Cocoa API to suppress drawing of the window's title. | 63 // Undocumented Cocoa API to suppress drawing of the window's title. |
58 // -setTitle: still works, but the title set only applies to the | 64 // -setTitle: still works, but the title set only applies to the |
59 // miniwindow and menus (and, importantly, Expose). Overridden to | 65 // miniwindow and menus (and, importantly, Expose). Overridden to |
60 // return |shouldHideTitle_|. | 66 // return |shouldHideTitle_|. |
61 -(BOOL)_isTitleHidden; | 67 -(BOOL)_isTitleHidden; |
62 | 68 |
63 @end | 69 @end |
64 | 70 |
65 #endif // CHROME_BROWSER_COCOA_CHROME_BROWSER_WINDOW_H_ | 71 #endif // CHROME_BROWSER_COCOA_CHROME_BROWSER_WINDOW_H_ |
OLD | NEW |