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_BRIDGED_CONTENT_VIEW_H_ | 5 #ifndef UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ |
6 #define UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ | 6 #define UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ |
7 | 7 |
8 #import <Cocoa/Cocoa.h> | 8 #import <Cocoa/Cocoa.h> |
9 | 9 |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 | 40 |
41 // The last tooltip text, used to limit updates. | 41 // The last tooltip text, used to limit updates. |
42 base::string16 lastTooltipText_; | 42 base::string16 lastTooltipText_; |
43 | 43 |
44 // Whether to draw an almost-transparent background with rounded corners so | 44 // Whether to draw an almost-transparent background with rounded corners so |
45 // that OSX correctly blurs the background showing through. | 45 // that OSX correctly blurs the background showing through. |
46 BOOL drawMenuBackgroundForBlur_; | 46 BOOL drawMenuBackgroundForBlur_; |
47 | 47 |
48 // Whether dragging on the view moves the window. | 48 // Whether dragging on the view moves the window. |
49 BOOL mouseDownCanMoveWindow_; | 49 BOOL mouseDownCanMoveWindow_; |
| 50 |
| 51 // The cached window mask. Only used for non-rectangular windows on 10.9. |
| 52 base::scoped_nsobject<NSBezierPath> windowMask_; |
50 } | 53 } |
51 | 54 |
52 @property(readonly, nonatomic) views::View* hostedView; | 55 @property(readonly, nonatomic) views::View* hostedView; |
53 @property(assign, nonatomic) ui::TextInputClient* textInputClient; | 56 @property(assign, nonatomic) ui::TextInputClient* textInputClient; |
54 @property(assign, nonatomic) BOOL drawMenuBackgroundForBlur; | 57 @property(assign, nonatomic) BOOL drawMenuBackgroundForBlur; |
55 | 58 |
56 // Extends an atomic, readonly property on NSView to make it assignable. | 59 // Extends an atomic, readonly property on NSView to make it assignable. |
57 // This usually returns YES if the view is transparent. We want to control it | 60 // This usually returns YES if the view is transparent. We want to control it |
58 // so that BridgedNativeWidget can dynamically enable dragging of the window. | 61 // so that BridgedNativeWidget can dynamically enable dragging of the window. |
59 @property(assign) BOOL mouseDownCanMoveWindow; | 62 @property(assign) BOOL mouseDownCanMoveWindow; |
60 | 63 |
61 // Initialize the NSView -> views::View bridge. |viewToHost| must be non-NULL. | 64 // Initialize the NSView -> views::View bridge. |viewToHost| must be non-NULL. |
62 - (id)initWithView:(views::View*)viewToHost; | 65 - (id)initWithView:(views::View*)viewToHost; |
63 | 66 |
64 // Clear the hosted view. For example, if it is about to be destroyed. | 67 // Clear the hosted view. For example, if it is about to be destroyed. |
65 - (void)clearView; | 68 - (void)clearView; |
66 | 69 |
67 // Process a mouse event captured while the widget had global mouse capture. | 70 // Process a mouse event captured while the widget had global mouse capture. |
68 - (void)processCapturedMouseEvent:(NSEvent*)theEvent; | 71 - (void)processCapturedMouseEvent:(NSEvent*)theEvent; |
69 | 72 |
70 // Mac's version of views::corewm::TooltipController::UpdateIfRequired(). | 73 // Mac's version of views::corewm::TooltipController::UpdateIfRequired(). |
71 // Updates the tooltip on the ToolTipBaseView if the text needs to change. | 74 // Updates the tooltip on the ToolTipBaseView if the text needs to change. |
72 // |locationInContent| is the position from the top left of the window's | 75 // |locationInContent| is the position from the top left of the window's |
73 // contentRect (also this NSView's frame), as given by a ui::LocatedEvent. | 76 // contentRect (also this NSView's frame), as given by a ui::LocatedEvent. |
74 - (void)updateTooltipIfRequiredAt:(const gfx::Point&)locationInContent; | 77 - (void)updateTooltipIfRequiredAt:(const gfx::Point&)locationInContent; |
75 | 78 |
| 79 // Update windowMask_ depending on the current view bounds. |
| 80 - (void)updateWindowMask; |
| 81 |
76 @end | 82 @end |
77 | 83 |
78 #endif // UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ | 84 #endif // UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ |
OLD | NEW |