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

Side by Side Diff: chrome/browser/ui/cocoa/image_button_cell.mm

Issue 803613002: [Extensions Toolbar Mac] Allow the overflow toolbar to use the theme provider (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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 | « chrome/browser/ui/cocoa/image_button_cell.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 #import "chrome/browser/ui/cocoa/image_button_cell.h" 5 #import "chrome/browser/ui/cocoa/image_button_cell.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #import "chrome/browser/themes/theme_service.h" 8 #import "chrome/browser/themes/theme_service.h"
9 #import "chrome/browser/ui/cocoa/rect_path_utils.h" 9 #import "chrome/browser/ui/cocoa/rect_path_utils.h"
10 #import "chrome/browser/ui/cocoa/themed_window.h" 10 #import "chrome/browser/ui/cocoa/themed_window.h"
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 image_[state].image.reset([image retain]); 125 image_[state].image.reset([image retain]);
126 image_[state].imageId = 0; 126 image_[state].imageId = 0;
127 [[self controlView] setNeedsDisplay:YES]; 127 [[self controlView] setNeedsDisplay:YES];
128 } 128 }
129 129
130 - (CGFloat)imageAlphaForWindowState:(NSWindow*)window { 130 - (CGFloat)imageAlphaForWindowState:(NSWindow*)window {
131 BOOL windowHasFocus = [window isMainWindow] || [window isKeyWindow]; 131 BOOL windowHasFocus = [window isMainWindow] || [window isKeyWindow];
132 return windowHasFocus ? 1.0 : kImageNoFocusAlpha; 132 return windowHasFocus ? 1.0 : kImageNoFocusAlpha;
133 } 133 }
134 134
135 - (ui::ThemeProvider*)themeProviderForWindow:(NSWindow*)window {
136 return [window themeProvider];
137 }
138
135 - (void)drawFocusRingWithFrame:(NSRect)cellFrame inView:(NSView*)controlView { 139 - (void)drawFocusRingWithFrame:(NSRect)cellFrame inView:(NSView*)controlView {
136 if (![self showsFirstResponder]) 140 if (![self showsFirstResponder])
137 return; 141 return;
138 gfx::ScopedNSGraphicsContextSaveGState scoped_state; 142 gfx::ScopedNSGraphicsContextSaveGState scoped_state;
139 const CGFloat lineWidth = [controlView cr_lineWidth]; 143 const CGFloat lineWidth = [controlView cr_lineWidth];
140 rect_path_utils::FrameRectWithInset(rect_path_utils::RoundedCornerAll, 144 rect_path_utils::FrameRectWithInset(rect_path_utils::RoundedCornerAll,
141 NSInsetRect(cellFrame, 0, lineWidth), 145 NSInsetRect(cellFrame, 0, lineWidth),
142 0.0, // insetX 146 0.0, // insetX
143 0.0, // insetY 147 0.0, // insetY
144 3.0, // outerRadius 148 3.0, // outerRadius
(...skipping 14 matching lines...) Expand all
159 if ([self isMouseInside] && has(image_button_cell::kHoverState)) 163 if ([self isMouseInside] && has(image_button_cell::kHoverState))
160 return image_button_cell::kHoverState; 164 return image_button_cell::kHoverState;
161 return image_button_cell::kDefaultState; 165 return image_button_cell::kDefaultState;
162 } 166 }
163 167
164 - (NSImage*)imageForID:(NSInteger)imageID 168 - (NSImage*)imageForID:(NSInteger)imageID
165 controlView:(NSView*)controlView { 169 controlView:(NSView*)controlView {
166 if (!imageID) 170 if (!imageID)
167 return nil; 171 return nil;
168 172
169 ui::ThemeProvider* themeProvider = [[controlView window] themeProvider]; 173 ui::ThemeProvider* themeProvider =
174 [self themeProviderForWindow:[controlView window]];
170 if (!themeProvider) 175 if (!themeProvider)
171 return nil; 176 return nil;
172 177
173 return themeProvider->GetNSImageNamed(imageID); 178 return themeProvider->GetNSImageNamed(imageID);
174 } 179 }
175 180
176 - (void)setIsMouseInside:(BOOL)isMouseInside { 181 - (void)setIsMouseInside:(BOOL)isMouseInside {
177 if (isMouseInside_ != isMouseInside) { 182 if (isMouseInside_ != isMouseInside) {
178 isMouseInside_ = isMouseInside; 183 isMouseInside_ = isMouseInside;
179 NSView<ImageButton>* control = 184 NSView<ImageButton>* control =
(...skipping 17 matching lines...) Expand all
197 202
198 - (void)mouseEntered:(NSEvent*)theEvent { 203 - (void)mouseEntered:(NSEvent*)theEvent {
199 [self setIsMouseInside:YES]; 204 [self setIsMouseInside:YES];
200 } 205 }
201 206
202 - (void)mouseExited:(NSEvent*)theEvent { 207 - (void)mouseExited:(NSEvent*)theEvent {
203 [self setIsMouseInside:NO]; 208 [self setIsMouseInside:NO];
204 } 209 }
205 210
206 @end 211 @end
OLDNEW
« no previous file with comments | « chrome/browser/ui/cocoa/image_button_cell.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698