summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/tabs/tab_renderer_gtk.cc
diff options
context:
space:
mode:
authortc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-06 21:00:13 +0000
committertc@google.com <tc@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-06 21:00:13 +0000
commitcc65ed864542d486654269b7ac72ecf8a0fef2cf (patch)
tree1af39af4d58ab6a7d51f9c717ad4262e54630ada /chrome/browser/gtk/tabs/tab_renderer_gtk.cc
parent41d59a808a1ca4084a8c5e0ce8ea2098ce110c57 (diff)
downloadchromium_src-cc65ed864542d486654269b7ac72ecf8a0fef2cf.zip
chromium_src-cc65ed864542d486654269b7ac72ecf8a0fef2cf.tar.gz
chromium_src-cc65ed864542d486654269b7ac72ecf8a0fef2cf.tar.bz2
More theme fixes.
1) Fix the bookmark bar to draw the same as the toolbar (tile the background image and have a transparent background). 2) Fix the tab backgrounds to be offset correctly rather than always drawing as if we're the first tab. Some small code cleanup in views/tabs/tab_renderer.h. Review URL: http://codereview.chromium.org/165078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22660 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/tabs/tab_renderer_gtk.cc')
-rw-r--r--chrome/browser/gtk/tabs/tab_renderer_gtk.cc16
1 files changed, 11 insertions, 5 deletions
diff --git a/chrome/browser/gtk/tabs/tab_renderer_gtk.cc b/chrome/browser/gtk/tabs/tab_renderer_gtk.cc
index 9980cf4..d9e96a5 100644
--- a/chrome/browser/gtk/tabs/tab_renderer_gtk.cc
+++ b/chrome/browser/gtk/tabs/tab_renderer_gtk.cc
@@ -28,6 +28,7 @@ const int kLeftPadding = 16;
const int kTopPadding = 6;
const int kRightPadding = 15;
const int kBottomPadding = 5;
+const int kDropShadowHeight = 2;
const int kFavIconTitleSpacing = 4;
const int kTitleCloseButtonSpacing = 5;
const int kStandardTitleWidth = 175;
@@ -596,6 +597,10 @@ void TabRendererGtk::PaintTab(GdkEventExpose* event) {
// coordinate event->area. Translate by these offsets so we can render at
// (0,0) to match Windows' rendering metrics.
canvas.TranslateInt(event->area.x, event->area.y);
+
+ // Save the original x offset so we can position background images properly.
+ background_offset_x_ = event->area.x;
+
Paint(&canvas);
}
@@ -680,7 +685,7 @@ void TabRendererGtk::PaintInactiveTabBackground(gfx::Canvas* canvas) {
// The tab image needs to be lined up with the background image
// so that it feels partially transparent.
- int offset = 1;
+ int offset = background_offset_x_;
int tab_id = is_otr ?
IDR_THEME_TAB_BACKGROUND_INCOGNITO : IDR_THEME_TAB_BACKGROUND;
@@ -723,7 +728,7 @@ void TabRendererGtk::PaintInactiveTabBackground(gfx::Canvas* canvas) {
}
void TabRendererGtk::PaintActiveTabBackground(gfx::Canvas* canvas) {
- int offset = 1;
+ int offset = background_offset_x_;
SkBitmap* tab_bg = theme_provider_->GetBitmapNamed(IDR_THEME_TOOLBAR);
@@ -745,9 +750,10 @@ void TabRendererGtk::PaintActiveTabBackground(gfx::Canvas* canvas) {
// Draw center.
canvas->TileImageInt(*tab_bg,
- offset + tab_active_.l_width, 2,
- tab_active_.l_width, 2,
- width() - tab_active_.l_width - tab_active_.r_width, height() - 2);
+ offset + tab_active_.l_width, kDropShadowHeight,
+ tab_active_.l_width, kDropShadowHeight,
+ width() - tab_active_.l_width - tab_active_.r_width,
+ height() - kDropShadowHeight);
canvas->DrawBitmapInt(*tab_active_.image_l, 0, 0);
canvas->TileImageInt(*tab_active_.image_c, tab_active_.l_width, 0,