diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-29 22:08:44 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-06-29 22:08:44 +0000 |
commit | bd026803b2a3db66f2003f83c4b7e627c71828a2 (patch) | |
tree | e45b18ae05095ffae9201fe8ec905bf1fef25e50 /chrome/browser/views/tabs/tab_strip.cc | |
parent | 6a649b71db4df80493abfb125e0a71738d4d9d8a (diff) | |
download | chromium_src-bd026803b2a3db66f2003f83c4b7e627c71828a2.zip chromium_src-bd026803b2a3db66f2003f83c4b7e627c71828a2.tar.gz chromium_src-bd026803b2a3db66f2003f83c4b7e627c71828a2.tar.bz2 |
Canvas refactoring Phase 4a:
Move Save, SaveLayerAlpha and Restore onto gfx::Canvas.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/2846035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51179 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/views/tabs/tab_strip.cc')
-rw-r--r-- | chrome/browser/views/tabs/tab_strip.cc | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/chrome/browser/views/tabs/tab_strip.cc b/chrome/browser/views/tabs/tab_strip.cc index 2d54f66..4b61bb5 100644 --- a/chrome/browser/views/tabs/tab_strip.cc +++ b/chrome/browser/views/tabs/tab_strip.cc @@ -292,33 +292,30 @@ void TabStrip::PaintChildren(gfx::Canvas* canvas) { // Phantom tabs appear behind all other tabs and are rendered first. To make // them slightly transparent we render them to a different layer. if (HasPhantomTabs()) { - SkRect bounds; - bounds.set(0, 0, SkIntToScalar(width()), SkIntToScalar(height())); - canvas->AsCanvasSkia()->saveLayerAlpha( - &bounds, kPhantomTabAlpha, SkCanvas::kARGB_ClipLayer_SaveFlag); + gfx::Rect local_bounds = GetLocalBounds(true); + canvas->SaveLayerAlpha(kPhantomTabAlpha, local_bounds); canvas->AsCanvasSkia()->drawARGB(0, 255, 255, 255, SkXfermode::kClear_Mode); for (int i = tab_count() - 1; i >= 0; --i) { Tab* tab = GetTabAtTabDataIndex(i); if (tab->data().phantom) tab->ProcessPaint(canvas); } - canvas->AsCanvasSkia()->restore(); + canvas->Restore(); - canvas->AsCanvasSkia()->saveLayerAlpha( - &bounds, kPhantomTabIconAlpha, SkCanvas::kARGB_ClipLayer_SaveFlag); + canvas->SaveLayerAlpha(kPhantomTabIconAlpha, local_bounds); canvas->AsCanvasSkia()->drawARGB(0, 255, 255, 255, SkXfermode::kClear_Mode); for (int i = tab_count() - 1; i >= 0; --i) { Tab* tab = GetTabAtTabDataIndex(i); if (tab->data().phantom) { - canvas->AsCanvasSkia()->save(); + canvas->Save(); canvas->ClipRectInt(tab->MirroredX(), tab->y(), tab->width(), tab->height()); canvas->TranslateInt(tab->MirroredX(), tab->y()); tab->PaintIcon(canvas); - canvas->AsCanvasSkia()->restore(); + canvas->Restore(); } } - canvas->AsCanvasSkia()->restore(); + canvas->Restore(); } Tab* selected_tab = NULL; |