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
3 // found in the LICENSE file.
5 #ifndef UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_
6 #define UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_
8 #import <Cocoa/Cocoa.h>
11 class NativeWidgetMac
;
12 class BridgedNativeWidget
;
15 // The delegate set on the NSWindow when a views::BridgedNativeWidget is
17 @interface ViewsNSWindowDelegate
: NSObject
<NSWindowDelegate
> {
19 views::BridgedNativeWidget
* parent_
; // Weak. Owns this.
22 // The NativeWidgetMac that created the window this is attached to. Returns
23 // NULL if not created by NativeWidgetMac.
24 @
property(nonatomic
, readonly
) views::NativeWidgetMac
* nativeWidgetMac
;
26 // Initialize with the given |parent|.
27 - (id
)initWithBridgedNativeWidget
:(views::BridgedNativeWidget
*)parent
;
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
;
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). |notification| is optional and can be set when redirecting
37 // a notification such as NSApplicationDidHideNotification.
38 - (void)onWindowOrderChanged
:(NSNotification
*)notification
;
40 // Notify when -[NSWindow display] is being called on the window.
41 - (void)onWindowWillDisplay
;
45 #endif // UI_VIEWS_COCOA_VIEWS_NSWINDOW_DELEGATE_H_