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

Side by Side Diff: chrome/browser/ui/libgtk2ui/gtk2_ui.cc

Issue 1831883002: Use sk_sp-based shader creation APIs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 8 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 | « cc/output/software_renderer.cc ('k') | chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc » ('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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/libgtk2ui/gtk2_ui.h" 5 #include "chrome/browser/ui/libgtk2ui/gtk2_ui.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <pango/pango.h> 8 #include <pango/pango.h>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
(...skipping 1175 matching lines...) Expand 10 before | Expand all | Expand 10 after
1186 SkColor gradient_top_color = color_utils::HSLShift(base, kGtkFrameShift); 1186 SkColor gradient_top_color = color_utils::HSLShift(base, kGtkFrameShift);
1187 int gradient_size; 1187 int gradient_size;
1188 1188
1189 NativeThemeGtk2::instance()->GetChromeStyleColor(gradient_name, 1189 NativeThemeGtk2::instance()->GetChromeStyleColor(gradient_name,
1190 &gradient_top_color); 1190 &gradient_top_color);
1191 gtk_widget_style_get(NativeThemeGtk2::instance()->GetWindow(), 1191 gtk_widget_style_get(NativeThemeGtk2::instance()->GetWindow(),
1192 "frame-gradient-size", &gradient_size, 1192 "frame-gradient-size", &gradient_size,
1193 NULL); 1193 NULL);
1194 1194
1195 if (gradient_size) { 1195 if (gradient_size) {
1196 skia::RefPtr<SkShader> shader = gfx::CreateGradientShader(
1197 0, gradient_size, gradient_top_color, base);
1198 SkPaint paint; 1196 SkPaint paint;
1199 paint.setStyle(SkPaint::kFill_Style); 1197 paint.setStyle(SkPaint::kFill_Style);
1200 paint.setAntiAlias(true); 1198 paint.setAntiAlias(true);
1201 paint.setShader(shader.get()); 1199 paint.setShader(gfx::CreateGradientShader(
1200 0, gradient_size, gradient_top_color, base));
1202 1201
1203 canvas.DrawRect(gfx::Rect(0, 0, kToolbarImageWidth, gradient_size), paint); 1202 canvas.DrawRect(gfx::Rect(0, 0, kToolbarImageWidth, gradient_size), paint);
1204 } 1203 }
1205 1204
1206 canvas.FillRect(gfx::Rect(0, gradient_size, kToolbarImageWidth, 1205 canvas.FillRect(gfx::Rect(0, gradient_size, kToolbarImageWidth,
1207 kToolbarImageHeight - gradient_size), base); 1206 kToolbarImageHeight - gradient_size), base);
1208 return canvas.ExtractImageRep().sk_bitmap(); 1207 return canvas.ExtractImageRep().sk_bitmap();
1209 #else 1208 #else
1210 // Render a GtkHeaderBar as our title bar, cropping out any curved edges on 1209 // Render a GtkHeaderBar as our title bar, cropping out any curved edges on
1211 // the left and right sides. Also remove the bottom border for good measure. 1210 // the left and right sides. Also remove the bottom border for good measure.
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
1378 // Blacklist scaling factors <130% (crbug.com/484400) and round 1377 // Blacklist scaling factors <130% (crbug.com/484400) and round
1379 // to 1 decimal to prevent rendering problems (crbug.com/485183). 1378 // to 1 decimal to prevent rendering problems (crbug.com/485183).
1380 return scale < 1.3f ? 1.0f : roundf(scale * 10) / 10; 1379 return scale < 1.3f ? 1.0f : roundf(scale * 10) / 10;
1381 } 1380 }
1382 1381
1383 } // namespace libgtk2ui 1382 } // namespace libgtk2ui
1384 1383
1385 views::LinuxUI* BuildGtk2UI() { 1384 views::LinuxUI* BuildGtk2UI() {
1386 return new libgtk2ui::Gtk2UI; 1385 return new libgtk2ui::Gtk2UI;
1387 } 1386 }
OLDNEW
« no previous file with comments | « cc/output/software_renderer.cc ('k') | chrome/browser/ui/views/bookmarks/bookmark_bar_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698