OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_ | 5 #ifndef UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_ |
6 #define UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_ | 6 #define UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_ |
7 | 7 |
8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
9 | 9 |
10 namespace views { | 10 namespace views { |
11 class NativeWidgetMac; | 11 class NativeWidgetMac; |
12 class BridgedNativeWidget; | 12 class BridgedNativeWidget; |
13 } | 13 } |
14 | 14 |
15 // The delegate set on the NSWindow when a views::BridgedNativeWidget is | 15 // The delegate set on the NSWindow when a views::BridgedNativeWidget is |
16 // initialized. | 16 // initialized. |
17 @interface ViewsNSWindowDelegate : NSObject<NSWindowDelegate> { | 17 @interface ViewsNSWindowDelegate : NSObject<NSWindowDelegate> { |
18 @private | 18 @private |
19 views::BridgedNativeWidget* parent_; // Weak. Owns this. | 19 views::BridgedNativeWidget* parent_; // Weak. Owns this. |
20 } | 20 } |
21 | 21 |
22 // The NativeWidgetMac that created the window this is attached to. Returns | 22 // The NativeWidgetMac that created the window this is attached to. Returns |
23 // NULL if not created by NativeWidgetMac. | 23 // NULL if not created by NativeWidgetMac. |
24 @property(nonatomic, readonly) views::NativeWidgetMac* nativeWidgetMac; | 24 @property(nonatomic, readonly) views::NativeWidgetMac* nativeWidgetMac; |
25 | 25 |
26 // Initialize with the given |parent|. | 26 // Initialize with the given |parent|. |
27 - (id)initWithBridgedNativeWidget:(views::BridgedNativeWidget*)parent; | 27 - (id)initWithBridgedNativeWidget:(views::BridgedNativeWidget*)parent; |
28 | 28 |
29 // Notify that the window is about to be reordered on screen. This ensures a | |
30 // paint will occur, even if Cocoa has not yet updated the window visibility. | |
31 - (void)onWindowOrderWillChange:(NSWindowOrderingMode)orderingMode; | |
32 | |
33 // Notify that the window has been reordered in (or removed from) the window | |
34 // server's screen list. This is a substitute for -[NSWindowDelegate | |
35 // windowDidExpose:], which is only sent for nonretained windows (those without | |
36 // a backing store). | |
37 - (void)onWindowOrderChanged; | |
38 | |
tapted
2014/10/16 08:27:07
For some more context around "why this way", see h
| |
29 @end | 39 @end |
30 | 40 |
31 #endif // UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_ | 41 #endif // UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_ |
OLD | NEW |