Chromium Code Reviews| 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 30 matching lines...) Expand all Loading... | |
| 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 | 50 |
| 51 // The cached window mask. Only used for non-rectangular windows on 10.9. | 51 // The cached window mask. Only used for non-rectangular windows. Used to clip |
| 52 // window boundary and generate drop shadow on OSX 10.9 and for clipping view | |
| 53 // contents in BridgedNativeWidget. | |
| 52 base::scoped_nsobject<NSBezierPath> windowMask_; | 54 base::scoped_nsobject<NSBezierPath> windowMask_; |
| 53 } | 55 } |
| 54 | 56 |
| 55 @property(readonly, nonatomic) views::View* hostedView; | 57 @property(readonly, nonatomic) views::View* hostedView; |
| 56 @property(assign, nonatomic) ui::TextInputClient* textInputClient; | 58 @property(assign, nonatomic) ui::TextInputClient* textInputClient; |
| 57 @property(assign, nonatomic) BOOL drawMenuBackgroundForBlur; | 59 @property(assign, nonatomic) BOOL drawMenuBackgroundForBlur; |
| 58 | 60 |
| 59 // Extends an atomic, readonly property on NSView to make it assignable. | 61 // Extends an atomic, readonly property on NSView to make it assignable. |
| 60 // This usually returns YES if the view is transparent. We want to control it | 62 // This usually returns YES if the view is transparent. We want to control it |
| 61 // so that BridgedNativeWidget can dynamically enable dragging of the window. | 63 // so that BridgedNativeWidget can dynamically enable dragging of the window. |
| 62 @property(assign) BOOL mouseDownCanMoveWindow; | 64 @property(assign) BOOL mouseDownCanMoveWindow; |
| 63 | 65 |
| 64 // Initialize the NSView -> views::View bridge. |viewToHost| must be non-NULL. | 66 // Initialize the NSView -> views::View bridge. |viewToHost| must be non-NULL. |
| 65 - (id)initWithView:(views::View*)viewToHost; | 67 - (id)initWithView:(views::View*)viewToHost; |
| 66 | 68 |
| 67 // Clear the hosted view. For example, if it is about to be destroyed. | 69 // Clear the hosted view. For example, if it is about to be destroyed. |
| 68 - (void)clearView; | 70 - (void)clearView; |
| 69 | 71 |
| 70 // Process a mouse event captured while the widget had global mouse capture. | 72 // Process a mouse event captured while the widget had global mouse capture. |
| 71 - (void)processCapturedMouseEvent:(NSEvent*)theEvent; | 73 - (void)processCapturedMouseEvent:(NSEvent*)theEvent; |
| 72 | 74 |
| 73 // Mac's version of views::corewm::TooltipController::UpdateIfRequired(). | 75 // Mac's version of views::corewm::TooltipController::UpdateIfRequired(). |
| 74 // Updates the tooltip on the ToolTipBaseView if the text needs to change. | 76 // Updates the tooltip on the ToolTipBaseView if the text needs to change. |
| 75 // |locationInContent| is the position from the top left of the window's | 77 // |locationInContent| is the position from the top left of the window's |
| 76 // contentRect (also this NSView's frame), as given by a ui::LocatedEvent. | 78 // contentRect (also this NSView's frame), as given by a ui::LocatedEvent. |
| 77 - (void)updateTooltipIfRequiredAt:(const gfx::Point&)locationInContent; | 79 - (void)updateTooltipIfRequiredAt:(const gfx::Point&)locationInContent; |
| 78 | 80 |
| 79 // Update windowMask_ depending on the current view bounds. | 81 // Called by the BridgedNativeWidget, when the window and hence the view bounds |
| 80 - (void)updateWindowMask; | 82 // change. |
| 83 - (void)onSizeChanged; | |
|
tapted
2016/02/24 05:05:03
perhaps just expose updateWindowMask?
karandeepb
2016/02/25 03:31:06
Done. Wasn't it better encapsulation though, since
tapted
2016/02/25 08:07:21
I think what I didn't like was that an NSView shou
| |
| 84 | |
| 85 // Returns |windowMask_|. | |
| 86 - (NSBezierPath*)windowMask; | |
|
tapted
2016/02/24 05:05:03
@property(readonly, nonatomic) NSBezierPath* windo
karandeepb
2016/02/25 03:31:06
Done.
| |
| 81 | 87 |
| 82 @end | 88 @end |
| 83 | 89 |
| 84 #endif // UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ | 90 #endif // UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ |
| OLD | NEW |