summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/tabs/tab_strip.cc
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-29 22:08:44 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-06-29 22:08:44 +0000
commitbd026803b2a3db66f2003f83c4b7e627c71828a2 (patch)
treee45b18ae05095ffae9201fe8ec905bf1fef25e50 /chrome/browser/views/tabs/tab_strip.cc
parent6a649b71db4df80493abfb125e0a71738d4d9d8a (diff)
downloadchromium_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.cc17
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;