OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/tabs/tab_renderer_gtk.h" | 5 #include "chrome/browser/ui/gtk/tabs/tab_renderer_gtk.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
412 x() + favicon_bounds_.x(), offset_y + favicon_bounds_.y(), | 412 x() + favicon_bounds_.x(), offset_y + favicon_bounds_.y(), |
413 favicon_bounds_.x(), favicon_bounds_.y(), | 413 favicon_bounds_.x(), favicon_bounds_.y(), |
414 favicon_bounds_.width(), favicon_bounds_.height()); | 414 favicon_bounds_.width(), favicon_bounds_.height()); |
415 | 415 |
416 if (!IsActive()) { | 416 if (!IsActive()) { |
417 double throb_value = GetThrobValue(); | 417 double throb_value = GetThrobValue(); |
418 if (throb_value > 0) { | 418 if (throb_value > 0) { |
419 SkRect bounds; | 419 SkRect bounds; |
420 bounds.set(favicon_bounds_.x(), favicon_bounds_.y(), | 420 bounds.set(favicon_bounds_.x(), favicon_bounds_.y(), |
421 favicon_bounds_.right(), favicon_bounds_.bottom()); | 421 favicon_bounds_.right(), favicon_bounds_.bottom()); |
422 canvas.saveLayerAlpha(&bounds, static_cast<int>(throb_value * 0xff), | 422 canvas.sk_canvas()->saveLayerAlpha( |
423 SkCanvas::kARGB_ClipLayer_SaveFlag); | 423 &bounds, static_cast<int>(throb_value * 0xff), |
424 canvas.drawARGB(0, 255, 255, 255, SkXfermode::kClear_Mode); | 424 SkCanvas::kARGB_ClipLayer_SaveFlag); |
| 425 canvas.sk_canvas()->drawARGB(0, 255, 255, 255, SkXfermode::kClear_Mode); |
425 SkBitmap* active_bg = theme_service_->GetBitmapNamed(IDR_THEME_TOOLBAR); | 426 SkBitmap* active_bg = theme_service_->GetBitmapNamed(IDR_THEME_TOOLBAR); |
426 canvas.TileImageInt(*active_bg, | 427 canvas.TileImageInt(*active_bg, |
427 x() + favicon_bounds_.x(), favicon_bounds_.y(), | 428 x() + favicon_bounds_.x(), favicon_bounds_.y(), |
428 favicon_bounds_.x(), favicon_bounds_.y(), | 429 favicon_bounds_.x(), favicon_bounds_.y(), |
429 favicon_bounds_.width(), favicon_bounds_.height()); | 430 favicon_bounds_.width(), favicon_bounds_.height()); |
430 canvas.restore(); | 431 canvas.sk_canvas()->restore(); |
431 } | 432 } |
432 } | 433 } |
433 | 434 |
434 // Now paint the icon. | 435 // Now paint the icon. |
435 PaintIcon(&canvas); | 436 PaintIcon(&canvas); |
436 } | 437 } |
437 | 438 |
438 bool TabRendererGtk::ShouldShowIcon() const { | 439 bool TabRendererGtk::ShouldShowIcon() const { |
439 if (mini() && height() >= GetMinimumUnselectedSize().height()) { | 440 if (mini() && height() >= GetMinimumUnselectedSize().height()) { |
440 return true; | 441 return true; |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
648 PaintTitle(canvas); | 649 PaintTitle(canvas); |
649 | 650 |
650 if (show_icon) | 651 if (show_icon) |
651 PaintIcon(canvas); | 652 PaintIcon(canvas); |
652 } | 653 } |
653 | 654 |
654 cairo_surface_t* TabRendererGtk::PaintToSurface() { | 655 cairo_surface_t* TabRendererGtk::PaintToSurface() { |
655 gfx::CanvasSkia canvas(width(), height(), false); | 656 gfx::CanvasSkia canvas(width(), height(), false); |
656 Paint(&canvas); | 657 Paint(&canvas); |
657 return cairo_surface_reference(cairo_get_target( | 658 return cairo_surface_reference(cairo_get_target( |
658 skia::BeginPlatformPaint(&canvas))); | 659 skia::BeginPlatformPaint(canvas.sk_canvas()))); |
659 } | 660 } |
660 | 661 |
661 void TabRendererGtk::SchedulePaint() { | 662 void TabRendererGtk::SchedulePaint() { |
662 gtk_widget_queue_draw(tab_.get()); | 663 gtk_widget_queue_draw(tab_.get()); |
663 } | 664 } |
664 | 665 |
665 gfx::Rect TabRendererGtk::GetLocalBounds() { | 666 gfx::Rect TabRendererGtk::GetLocalBounds() { |
666 return gfx::Rect(0, 0, bounds_.width(), bounds_.height()); | 667 return gfx::Rect(0, 0, bounds_.width(), bounds_.height()); |
667 } | 668 } |
668 | 669 |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
880 void TabRendererGtk::PaintTabBackground(gfx::Canvas* canvas) { | 881 void TabRendererGtk::PaintTabBackground(gfx::Canvas* canvas) { |
881 if (IsActive()) { | 882 if (IsActive()) { |
882 PaintActiveTabBackground(canvas); | 883 PaintActiveTabBackground(canvas); |
883 } else { | 884 } else { |
884 PaintInactiveTabBackground(canvas); | 885 PaintInactiveTabBackground(canvas); |
885 | 886 |
886 double throb_value = GetThrobValue(); | 887 double throb_value = GetThrobValue(); |
887 if (throb_value > 0) { | 888 if (throb_value > 0) { |
888 canvas->SaveLayerAlpha(static_cast<int>(throb_value * 0xff), | 889 canvas->SaveLayerAlpha(static_cast<int>(throb_value * 0xff), |
889 gfx::Rect(width(), height())); | 890 gfx::Rect(width(), height())); |
890 canvas->AsCanvasSkia()->drawARGB(0, 255, 255, 255, | 891 canvas->GetSkCanvas()->drawARGB(0, 255, 255, 255, |
891 SkXfermode::kClear_Mode); | 892 SkXfermode::kClear_Mode); |
892 PaintActiveTabBackground(canvas); | 893 PaintActiveTabBackground(canvas); |
893 canvas->Restore(); | 894 canvas->Restore(); |
894 } | 895 } |
895 } | 896 } |
896 } | 897 } |
897 | 898 |
898 void TabRendererGtk::PaintInactiveTabBackground(gfx::Canvas* canvas) { | 899 void TabRendererGtk::PaintInactiveTabBackground(gfx::Canvas* canvas) { |
899 | 900 |
900 // The tab image needs to be lined up with the background image | 901 // The tab image needs to be lined up with the background image |
901 // so that it feels partially transparent. | 902 // so that it feels partially transparent. |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1089 | 1090 |
1090 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 1091 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
1091 const gfx::Font& base_font = rb.GetFont(ResourceBundle::BaseFont); | 1092 const gfx::Font& base_font = rb.GetFont(ResourceBundle::BaseFont); |
1092 title_font_ = new gfx::Font(base_font.GetFontName(), kFontPixelSize); | 1093 title_font_ = new gfx::Font(base_font.GetFontName(), kFontPixelSize); |
1093 title_font_height_ = title_font_->GetHeight(); | 1094 title_font_height_ = title_font_->GetHeight(); |
1094 | 1095 |
1095 crashed_favicon = rb.GetBitmapNamed(IDR_SAD_FAVICON); | 1096 crashed_favicon = rb.GetBitmapNamed(IDR_SAD_FAVICON); |
1096 | 1097 |
1097 initialized_ = true; | 1098 initialized_ = true; |
1098 } | 1099 } |
OLD | NEW |