Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(197)

Side by Side Diff: ui/views/cocoa/bridged_content_view.h

Issue 1718043003: MacViews: Clip contents for non-rectangular windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add tests. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/views/cocoa/DEPS ('k') | ui/views/cocoa/bridged_content_view.mm » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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;
60 @property(readonly, nonatomic) NSBezierPath* windowMask;
58 61
59 // Extends an atomic, readonly property on NSView to make it assignable. 62 // 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 63 // 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. 64 // so that BridgedNativeWidget can dynamically enable dragging of the window.
62 @property(assign) BOOL mouseDownCanMoveWindow; 65 @property(assign) BOOL mouseDownCanMoveWindow;
63 66
64 // Initialize the NSView -> views::View bridge. |viewToHost| must be non-NULL. 67 // Initialize the NSView -> views::View bridge. |viewToHost| must be non-NULL.
65 - (id)initWithView:(views::View*)viewToHost; 68 - (id)initWithView:(views::View*)viewToHost;
66 69
67 // Clear the hosted view. For example, if it is about to be destroyed. 70 // Clear the hosted view. For example, if it is about to be destroyed.
68 - (void)clearView; 71 - (void)clearView;
69 72
70 // Process a mouse event captured while the widget had global mouse capture. 73 // Process a mouse event captured while the widget had global mouse capture.
71 - (void)processCapturedMouseEvent:(NSEvent*)theEvent; 74 - (void)processCapturedMouseEvent:(NSEvent*)theEvent;
72 75
73 // Mac's version of views::corewm::TooltipController::UpdateIfRequired(). 76 // Mac's version of views::corewm::TooltipController::UpdateIfRequired().
74 // Updates the tooltip on the ToolTipBaseView if the text needs to change. 77 // 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 78 // |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. 79 // contentRect (also this NSView's frame), as given by a ui::LocatedEvent.
77 - (void)updateTooltipIfRequiredAt:(const gfx::Point&)locationInContent; 80 - (void)updateTooltipIfRequiredAt:(const gfx::Point&)locationInContent;
78 81
79 // Update windowMask_ depending on the current view bounds. 82 // Update |windowMask_| depending on the current view bounds.
80 - (void)updateWindowMask; 83 - (void)updateWindowMask;
81 84
82 @end 85 @end
83 86
84 #endif // UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_ 87 #endif // UI_VIEWS_COCOA_BRIDGED_CONTENT_VIEW_H_
OLDNEW
« no previous file with comments | « ui/views/cocoa/DEPS ('k') | ui/views/cocoa/bridged_content_view.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698