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

Side by Side Diff: chrome/browser/ui/cocoa/bookmarks/bookmark_bar_toolbar_view.mm

Issue 19576007: Refactor themePatternPhase and tab_view in preparation for fixing crbug.com/176857 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/ui/cocoa/browser_window_controller.h » ('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 (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/bookmarks/bookmark_bar_toolbar_view.h" 5 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_toolbar_view.h"
6 6
7 #include "chrome/browser/search/search.h" 7 #include "chrome/browser/search/search.h"
8 #include "chrome/browser/themes/theme_properties.h" 8 #include "chrome/browser/themes/theme_properties.h"
9 #include "chrome/browser/themes/theme_service.h" 9 #include "chrome/browser/themes/theme_service.h"
10 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_constants.h" 10 #import "chrome/browser/ui/cocoa/bookmarks/bookmark_bar_constants.h"
(...skipping 28 matching lines...) Expand all
39 [self addCursorRect:[self visibleRect] cursor:arrow]; 39 [self addCursorRect:[self visibleRect] cursor:arrow];
40 [arrow setOnMouseEntered:YES]; 40 [arrow setOnMouseEntered:YES];
41 } 41 }
42 42
43 - (void)drawRect:(NSRect)rect { 43 - (void)drawRect:(NSRect)rect {
44 if ([controller_ isInState:BookmarkBar::DETACHED] || 44 if ([controller_ isInState:BookmarkBar::DETACHED] ||
45 [controller_ isAnimatingToState:BookmarkBar::DETACHED] || 45 [controller_ isAnimatingToState:BookmarkBar::DETACHED] ||
46 [controller_ isAnimatingFromState:BookmarkBar::DETACHED]) { 46 [controller_ isAnimatingFromState:BookmarkBar::DETACHED]) {
47 [self drawAsDetachedBubble]; 47 [self drawAsDetachedBubble];
48 } else { 48 } else {
49 NSPoint phase = [[self window] themePatternPhase]; 49 NSPoint phase = [[self window]
50 themePatternPhaseForAlignment:THEME_PATTERN_ALIGN_WITH_TAB_STRIP];
50 [[NSGraphicsContext currentContext] cr_setPatternPhase:phase forView:self]; 51 [[NSGraphicsContext currentContext] cr_setPatternPhase:phase forView:self];
51 [self drawBackgroundWithOpaque:YES]; 52 [self drawBackgroundWithOpaque:YES];
52 } 53 }
53 } 54 }
54 55
55 - (void)drawAsDetachedBubble { 56 - (void)drawAsDetachedBubble {
56 CGFloat morph = [controller_ detachedMorphProgress]; 57 CGFloat morph = [controller_ detachedMorphProgress];
57 NSRect bounds = [self bounds]; 58 NSRect bounds = [self bounds];
58 ThemeService* themeService = [controller_ themeService]; 59 ThemeService* themeService = [controller_ themeService];
59 if (!themeService) 60 if (!themeService)
60 return; 61 return;
61 62
62 [[NSColor whiteColor] set]; 63 [[NSColor whiteColor] set];
63 NSRectFill([self bounds]); 64 NSRectFill([self bounds]);
64 65
65 // Overlay with a lighter background color. 66 // Overlay with a lighter background color.
66 NSColor* toolbarColor = gfx::SkColorToCalibratedNSColor( 67 NSColor* toolbarColor = gfx::SkColorToCalibratedNSColor(
67 chrome::GetDetachedBookmarkBarBackgroundColor(themeService)); 68 chrome::GetDetachedBookmarkBarBackgroundColor(themeService));
68 CGFloat alpha = morph * [toolbarColor alphaComponent]; 69 CGFloat alpha = morph * [toolbarColor alphaComponent];
69 [[toolbarColor colorWithAlphaComponent:alpha] set]; 70 [[toolbarColor colorWithAlphaComponent:alpha] set];
70 NSRectFillUsingOperation(bounds, NSCompositeSourceOver); 71 NSRectFillUsingOperation(bounds, NSCompositeSourceOver);
71 72
72 // Fade in/out the background. 73 // Fade in/out the background.
73 { 74 {
74 gfx::ScopedNSGraphicsContextSaveGState bgScopedState; 75 gfx::ScopedNSGraphicsContextSaveGState bgScopedState;
75 NSGraphicsContext* context = [NSGraphicsContext currentContext]; 76 NSGraphicsContext* context = [NSGraphicsContext currentContext];
76 CGContextRef cgContext = static_cast<CGContextRef>([context graphicsPort]); 77 CGContextRef cgContext = static_cast<CGContextRef>([context graphicsPort]);
77 CGContextSetAlpha(cgContext, 1 - morph); 78 CGContextSetAlpha(cgContext, 1 - morph);
78 CGContextBeginTransparencyLayer(cgContext, NULL); 79 CGContextBeginTransparencyLayer(cgContext, NULL);
79 [context cr_setPatternPhase:[[self window] themePatternPhase] forView:self]; 80 NSPoint phase = [[self window]
81 themePatternPhaseForAlignment:THEME_PATTERN_ALIGN_WITH_TAB_STRIP];
82 [context cr_setPatternPhase:phase forView:self];
80 [self drawBackgroundWithOpaque:YES]; 83 [self drawBackgroundWithOpaque:YES];
81 CGContextEndTransparencyLayer(cgContext); 84 CGContextEndTransparencyLayer(cgContext);
82 } 85 }
83 86
84 // Bottom stroke. 87 // Bottom stroke.
85 NSColor* strokeColor = gfx::SkColorToCalibratedNSColor( 88 NSColor* strokeColor = gfx::SkColorToCalibratedNSColor(
86 chrome::GetDetachedBookmarkBarSeparatorColor(themeService)); 89 chrome::GetDetachedBookmarkBarSeparatorColor(themeService));
87 strokeColor = [[self strokeColor] blendedColorWithFraction:morph 90 strokeColor = [[self strokeColor] blendedColorWithFraction:morph
88 ofColor:strokeColor]; 91 ofColor:strokeColor];
89 strokeColor = [strokeColor colorWithAlphaComponent:0.5]; 92 strokeColor = [strokeColor colorWithAlphaComponent:0.5];
90 [strokeColor set]; 93 [strokeColor set];
91 NSRect strokeRect = bounds; 94 NSRect strokeRect = bounds;
92 strokeRect.size.height = [self cr_lineWidth]; 95 strokeRect.size.height = [self cr_lineWidth];
93 NSRectFillUsingOperation(strokeRect, NSCompositeSourceOver); 96 NSRectFillUsingOperation(strokeRect, NSCompositeSourceOver);
94 } 97 }
95 98
96 @end // @implementation BookmarkBarToolbarView 99 @end // @implementation BookmarkBarToolbarView
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/cocoa/browser_window_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698