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

Side by Side Diff: chrome/browser/views/detachable_toolbar_view.cc

Issue 2825018: Canvas refactoring part 3.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 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
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 #include "chrome/browser/views/detachable_toolbar_view.h" 5 #include "chrome/browser/views/detachable_toolbar_view.h"
6 6
7 #include "app/resource_bundle.h" 7 #include "app/resource_bundle.h"
8 #include "chrome/browser/browser_theme_provider.h" 8 #include "chrome/browser/browser_theme_provider.h"
9 #include "gfx/canvas.h" 9 #include "gfx/canvas_skia.h"
10 #include "gfx/skia_util.h" 10 #include "gfx/skia_util.h"
11 #include "grit/theme_resources.h" 11 #include "grit/theme_resources.h"
12 #include "third_party/skia/include/core/SkBitmap.h" 12 #include "third_party/skia/include/core/SkBitmap.h"
13 #include "third_party/skia/include/core/SkShader.h" 13 #include "third_party/skia/include/core/SkShader.h"
14 14
15 // How round the 'new tab' style bookmarks bar is. 15 // How round the 'new tab' style bookmarks bar is.
16 static const int kNewtabBarRoundness = 5; 16 static const int kNewtabBarRoundness = 5;
17 17
18 const SkColor DetachableToolbarView::kEdgeDividerColor = 18 const SkColor DetachableToolbarView::kEdgeDividerColor =
19 SkColorSetRGB(222, 234, 248); 19 SkColorSetRGB(222, 234, 248);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 } 63 }
64 64
65 // static 65 // static
66 void DetachableToolbarView::PaintContentAreaBackground( 66 void DetachableToolbarView::PaintContentAreaBackground(
67 gfx::Canvas* canvas, ThemeProvider* theme_provider, 67 gfx::Canvas* canvas, ThemeProvider* theme_provider,
68 const SkRect& rect, double roundness) { 68 const SkRect& rect, double roundness) {
69 SkPaint paint; 69 SkPaint paint;
70 paint.setAntiAlias(true); 70 paint.setAntiAlias(true);
71 paint.setColor(theme_provider->GetColor(BrowserThemeProvider::COLOR_TOOLBAR)); 71 paint.setColor(theme_provider->GetColor(BrowserThemeProvider::COLOR_TOOLBAR));
72 72
73 canvas->drawRoundRect( 73 canvas->AsCanvasSkia()->drawRoundRect(
74 rect, SkDoubleToScalar(roundness), SkDoubleToScalar(roundness), paint); 74 rect, SkDoubleToScalar(roundness), SkDoubleToScalar(roundness), paint);
75 } 75 }
76 76
77 // static 77 // static
78 void DetachableToolbarView::PaintContentAreaBorder( 78 void DetachableToolbarView::PaintContentAreaBorder(
79 gfx::Canvas* canvas, ThemeProvider* theme_provider, 79 gfx::Canvas* canvas, ThemeProvider* theme_provider,
80 const SkRect& rect, double roundness) { 80 const SkRect& rect, double roundness) {
81 SkPaint border_paint; 81 SkPaint border_paint;
82 border_paint.setColor( 82 border_paint.setColor(
83 theme_provider->GetColor(BrowserThemeProvider::COLOR_NTP_HEADER)); 83 theme_provider->GetColor(BrowserThemeProvider::COLOR_NTP_HEADER));
84 border_paint.setStyle(SkPaint::kStroke_Style); 84 border_paint.setStyle(SkPaint::kStroke_Style);
85 border_paint.setAlpha(96); 85 border_paint.setAlpha(96);
86 border_paint.setAntiAlias(true); 86 border_paint.setAntiAlias(true);
87 87
88 canvas->drawRoundRect(rect, 88 canvas->AsCanvasSkia()->drawRoundRect(
89 SkDoubleToScalar(roundness), 89 rect, SkDoubleToScalar(roundness), SkDoubleToScalar(roundness),
90 SkDoubleToScalar(roundness), border_paint); 90 border_paint);
91 } 91 }
92 92
93 // static 93 // static
94 void DetachableToolbarView::PaintVerticalDivider( 94 void DetachableToolbarView::PaintVerticalDivider(
95 gfx::Canvas* canvas, int x, int height, int vertical_padding, 95 gfx::Canvas* canvas, int x, int height, int vertical_padding,
96 const SkColor& top_color, 96 const SkColor& top_color,
97 const SkColor& middle_color, 97 const SkColor& middle_color,
98 const SkColor& bottom_color) { 98 const SkColor& bottom_color) {
99 // Draw the upper half of the divider. 99 // Draw the upper half of the divider.
100 SkPaint paint; 100 SkPaint paint;
101 paint.setShader(gfx::CreateGradientShader(vertical_padding + 1, 101 paint.setShader(gfx::CreateGradientShader(vertical_padding + 1,
102 height / 2, 102 height / 2,
103 top_color, 103 top_color,
104 middle_color))->safeUnref(); 104 middle_color))->safeUnref();
105 SkRect rc = { SkIntToScalar(x), 105 SkRect rc = { SkIntToScalar(x),
106 SkIntToScalar(vertical_padding + 1), 106 SkIntToScalar(vertical_padding + 1),
107 SkIntToScalar(x + 1), 107 SkIntToScalar(x + 1),
108 SkIntToScalar(height / 2) }; 108 SkIntToScalar(height / 2) };
109 canvas->drawRect(rc, paint); 109 canvas->AsCanvasSkia()->drawRect(rc, paint);
110 110
111 // Draw the lower half of the divider. 111 // Draw the lower half of the divider.
112 SkPaint paint_down; 112 SkPaint paint_down;
113 paint_down.setShader(gfx::CreateGradientShader(height / 2, 113 paint_down.setShader(gfx::CreateGradientShader(height / 2,
114 height - vertical_padding, 114 height - vertical_padding,
115 middle_color, 115 middle_color,
116 bottom_color))->safeUnref(); 116 bottom_color))->safeUnref();
117 SkRect rc_down = { SkIntToScalar(x), 117 SkRect rc_down = { SkIntToScalar(x),
118 SkIntToScalar(height / 2), 118 SkIntToScalar(height / 2),
119 SkIntToScalar(x + 1), 119 SkIntToScalar(x + 1),
120 SkIntToScalar(height - vertical_padding) }; 120 SkIntToScalar(height - vertical_padding) };
121 canvas->drawRect(rc_down, paint_down); 121 canvas->AsCanvasSkia()->drawRect(rc_down, paint_down);
122 } 122 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698