OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |