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

Side by Side Diff: chrome/browser/ui/gtk/gtk_theme_service.cc

Issue 11418217: Add skia::RefPtr class to wrap ref counted classes from Skia. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Drop TNoRef Created 8 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 | Annotate | Revision Log
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/gtk/gtk_theme_service.h" 5 #include "chrome/browser/ui/gtk/gtk_theme_service.h"
6 6
7 #include <gtk/gtk.h> 7 #include <gtk/gtk.h>
8 8
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 998 matching lines...) Expand 10 before | Expand all | Expand 10 after
1009 gtk_widget_style_get(GTK_WIDGET(fake_frame_), 1009 gtk_widget_style_get(GTK_WIDGET(fake_frame_),
1010 "frame-gradient-size", &gradient_size, 1010 "frame-gradient-size", &gradient_size,
1011 gradient_name, &gradient_top_color, 1011 gradient_name, &gradient_top_color,
1012 NULL); 1012 NULL);
1013 if (gradient_size) { 1013 if (gradient_size) {
1014 SkColor lighter = gradient_top_color ? 1014 SkColor lighter = gradient_top_color ?
1015 gfx::GdkColorToSkColor(*gradient_top_color) : 1015 gfx::GdkColorToSkColor(*gradient_top_color) :
1016 color_utils::HSLShift(base, kGtkFrameShift); 1016 color_utils::HSLShift(base, kGtkFrameShift);
1017 if (gradient_top_color) 1017 if (gradient_top_color)
1018 gdk_color_free(gradient_top_color); 1018 gdk_color_free(gradient_top_color);
1019 SkShader* shader = gfx::CreateGradientShader( 1019 skia::RefPtr<SkShader> shader = gfx::CreateGradientShader(
1020 0, gradient_size, lighter, base); 1020 0, gradient_size, lighter, base);
1021 SkPaint paint; 1021 SkPaint paint;
1022 paint.setStyle(SkPaint::kFill_Style); 1022 paint.setStyle(SkPaint::kFill_Style);
1023 paint.setAntiAlias(true); 1023 paint.setAntiAlias(true);
1024 paint.setShader(shader); 1024 paint.setShader(shader.get());
1025 shader->unref();
1026 1025
1027 canvas.DrawRect(gfx::Rect(0, 0, kToolbarImageWidth, gradient_size), paint); 1026 canvas.DrawRect(gfx::Rect(0, 0, kToolbarImageWidth, gradient_size), paint);
1028 } 1027 }
1029 1028
1030 canvas.FillRect(gfx::Rect(0, gradient_size, kToolbarImageWidth, 1029 canvas.FillRect(gfx::Rect(0, gradient_size, kToolbarImageWidth,
1031 kToolbarImageHeight - gradient_size), base); 1030 kToolbarImageHeight - gradient_size), base);
1032 return canvas.ExtractImageRep().sk_bitmap(); 1031 return canvas.ExtractImageRep().sk_bitmap();
1033 } 1032 }
1034 1033
1035 SkBitmap GtkThemeService::GenerateTabImage(int base_id) const { 1034 SkBitmap GtkThemeService::GenerateTabImage(int base_id) const {
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
1144 cairo_stroke(cr); 1143 cairo_stroke(cr);
1145 cairo_destroy(cr); 1144 cairo_destroy(cr);
1146 cairo_pattern_destroy(pattern); 1145 cairo_pattern_destroy(pattern);
1147 1146
1148 return TRUE; 1147 return TRUE;
1149 } 1148 }
1150 1149
1151 void GtkThemeService::OnUsesSystemThemeChanged() { 1150 void GtkThemeService::OnUsesSystemThemeChanged() {
1152 use_gtk_ = profile()->GetPrefs()->GetBoolean(prefs::kUsesSystemTheme); 1151 use_gtk_ = profile()->GetPrefs()->GetBoolean(prefs::kUsesSystemTheme);
1153 } 1152 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698