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

Side by Side Diff: chrome/browser/ui/libgtk2ui/gtk2_ui.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/libgtk2ui/gtk2_ui.h" 5 #include "chrome/browser/ui/libgtk2ui/gtk2_ui.h"
6 6
7 #include <set> 7 #include <set>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 744 matching lines...) Expand 10 before | Expand all | Expand 10 after
755 gtk_widget_style_get(GTK_WIDGET(fake_frame_), 755 gtk_widget_style_get(GTK_WIDGET(fake_frame_),
756 "frame-gradient-size", &gradient_size, 756 "frame-gradient-size", &gradient_size,
757 gradient_name, &gradient_top_color, 757 gradient_name, &gradient_top_color,
758 NULL); 758 NULL);
759 if (gradient_size) { 759 if (gradient_size) {
760 SkColor lighter = gradient_top_color ? 760 SkColor lighter = gradient_top_color ?
761 GdkColorToSkColor(*gradient_top_color) : 761 GdkColorToSkColor(*gradient_top_color) :
762 color_utils::HSLShift(base, kGtkFrameShift); 762 color_utils::HSLShift(base, kGtkFrameShift);
763 if (gradient_top_color) 763 if (gradient_top_color)
764 gdk_color_free(gradient_top_color); 764 gdk_color_free(gradient_top_color);
765 SkShader* shader = gfx::CreateGradientShader( 765 skia::RefPtr<SkShader> shader = gfx::CreateGradientShader(
766 0, gradient_size, lighter, base); 766 0, gradient_size, lighter, base);
767 SkPaint paint; 767 SkPaint paint;
768 paint.setStyle(SkPaint::kFill_Style); 768 paint.setStyle(SkPaint::kFill_Style);
769 paint.setAntiAlias(true); 769 paint.setAntiAlias(true);
770 paint.setShader(shader); 770 paint.setShader(shader.get());
771 shader->unref();
772 771
773 canvas.DrawRect(gfx::Rect(0, 0, kToolbarImageWidth, gradient_size), paint); 772 canvas.DrawRect(gfx::Rect(0, 0, kToolbarImageWidth, gradient_size), paint);
774 } 773 }
775 774
776 canvas.FillRect(gfx::Rect(0, gradient_size, kToolbarImageWidth, 775 canvas.FillRect(gfx::Rect(0, gradient_size, kToolbarImageWidth,
777 kToolbarImageHeight - gradient_size), base); 776 kToolbarImageHeight - gradient_size), base);
778 return canvas.ExtractImageRep().sk_bitmap(); 777 return canvas.ExtractImageRep().sk_bitmap();
779 } 778 }
780 779
781 SkBitmap Gtk2UI::GenerateTabImage(int base_id) const { 780 SkBitmap Gtk2UI::GenerateTabImage(int base_id) const {
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
958 957
959 void Gtk2UI::ClearAllThemeData() { 958 void Gtk2UI::ClearAllThemeData() {
960 STLDeleteValues(&gtk_images_); 959 STLDeleteValues(&gtk_images_);
961 } 960 }
962 961
963 } // namespace libgtk2ui 962 } // namespace libgtk2ui
964 963
965 ui::LinuxUI* BuildGtk2UI() { 964 ui::LinuxUI* BuildGtk2UI() {
966 return new libgtk2ui::Gtk2UI; 965 return new libgtk2ui::Gtk2UI;
967 } 966 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698