| 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 #ifndef CHROME_BROWSER_UI_GTK_TABS_TAB_RENDERER_GTK_H_ | 5 #ifndef CHROME_BROWSER_UI_GTK_TABS_TAB_RENDERER_GTK_H_ |
| 6 #define CHROME_BROWSER_UI_GTK_TABS_TAB_RENDERER_GTK_H_ | 6 #define CHROME_BROWSER_UI_GTK_TABS_TAB_RENDERER_GTK_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <gtk/gtk.h> | 9 #include <gtk/gtk.h> |
| 10 #include <map> | 10 #include <map> |
| 11 | 11 |
| 12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
| 13 #include "base/compiler_specific.h" | 13 #include "base/compiler_specific.h" |
| 14 #include "base/memory/scoped_ptr.h" | 14 #include "base/memory/scoped_ptr.h" |
| 15 #include "base/string16.h" | 15 #include "base/string16.h" |
| 16 #include "chrome/browser/ui/gtk/cairo_cached_surface.h" | |
| 17 #include "content/public/browser/notification_observer.h" | 16 #include "content/public/browser/notification_observer.h" |
| 18 #include "content/public/browser/notification_registrar.h" | 17 #include "content/public/browser/notification_registrar.h" |
| 19 #include "third_party/skia/include/core/SkBitmap.h" | 18 #include "third_party/skia/include/core/SkBitmap.h" |
| 20 #include "ui/base/animation/animation_delegate.h" | 19 #include "ui/base/animation/animation_delegate.h" |
| 21 #include "ui/base/gtk/gtk_signal.h" | 20 #include "ui/base/gtk/gtk_signal.h" |
| 22 #include "ui/base/gtk/owned_widget_gtk.h" | 21 #include "ui/base/gtk/owned_widget_gtk.h" |
| 23 #include "ui/gfx/canvas.h" | 22 #include "ui/gfx/canvas.h" |
| 24 #include "ui/gfx/font.h" | 23 #include "ui/gfx/font.h" |
| 24 #include "ui/gfx/image/cairo_cached_surface.h" |
| 25 #include "ui/gfx/rect.h" | 25 #include "ui/gfx/rect.h" |
| 26 | 26 |
| 27 namespace gfx { | 27 namespace gfx { |
| 28 class CairoCachedSurface; |
| 28 class Size; | 29 class Size; |
| 29 } // namespace gfx | 30 } // namespace gfx |
| 30 | 31 |
| 31 class CairoCachedSurface; | |
| 32 class CustomDrawButton; | 32 class CustomDrawButton; |
| 33 class TabContents; | 33 class TabContents; |
| 34 class GtkThemeService; | 34 class GtkThemeService; |
| 35 | 35 |
| 36 namespace ui { | 36 namespace ui { |
| 37 class SlideAnimation; | 37 class SlideAnimation; |
| 38 class ThrobAnimation; | 38 class ThrobAnimation; |
| 39 } | 39 } |
| 40 | 40 |
| 41 class TabRendererGtk : public ui::AnimationDelegate, | 41 class TabRendererGtk : public ui::AnimationDelegate, |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 235 class FaviconCrashAnimation; | 235 class FaviconCrashAnimation; |
| 236 | 236 |
| 237 // Model data. We store this here so that we don't need to ask the underlying | 237 // Model data. We store this here so that we don't need to ask the underlying |
| 238 // model, which is tricky since instances of this object can outlive the | 238 // model, which is tricky since instances of this object can outlive the |
| 239 // corresponding objects in the underlying model. | 239 // corresponding objects in the underlying model. |
| 240 struct TabData { | 240 struct TabData { |
| 241 TabData(); | 241 TabData(); |
| 242 ~TabData(); | 242 ~TabData(); |
| 243 | 243 |
| 244 SkBitmap favicon; | 244 SkBitmap favicon; |
| 245 CairoCachedSurface cairo_favicon; | 245 gfx::CairoCachedSurface cairo_favicon; |
| 246 bool is_default_favicon; | 246 bool is_default_favicon; |
| 247 string16 title; | 247 string16 title; |
| 248 bool loading; | 248 bool loading; |
| 249 bool crashed; | 249 bool crashed; |
| 250 bool incognito; | 250 bool incognito; |
| 251 bool show_icon; | 251 bool show_icon; |
| 252 bool mini; | 252 bool mini; |
| 253 bool blocked; | 253 bool blocked; |
| 254 bool animating_mini_change; | 254 bool animating_mini_change; |
| 255 bool app; | 255 bool app; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 293 void PaintIcon(GtkWidget* widget, cairo_t* cr); | 293 void PaintIcon(GtkWidget* widget, cairo_t* cr); |
| 294 void PaintTabBackground(GtkWidget* widget, cairo_t* cr); | 294 void PaintTabBackground(GtkWidget* widget, cairo_t* cr); |
| 295 void PaintInactiveTabBackground(GtkWidget* widget, cairo_t* cr); | 295 void PaintInactiveTabBackground(GtkWidget* widget, cairo_t* cr); |
| 296 void PaintActiveTabBackground(GtkWidget* widget, cairo_t* cr); | 296 void PaintActiveTabBackground(GtkWidget* widget, cairo_t* cr); |
| 297 void PaintLoadingAnimation(GtkWidget* widget, cairo_t* cairo); | 297 void PaintLoadingAnimation(GtkWidget* widget, cairo_t* cairo); |
| 298 | 298 |
| 299 // Draws the given |tab_bg| onto |cr| using the tab shape masks along the | 299 // Draws the given |tab_bg| onto |cr| using the tab shape masks along the |
| 300 // sides for the rounded tab shape. | 300 // sides for the rounded tab shape. |
| 301 void DrawTabBackground(cairo_t* cr, | 301 void DrawTabBackground(cairo_t* cr, |
| 302 GtkWidget* widget, | 302 GtkWidget* widget, |
| 303 CairoCachedSurface* tab_bg, | 303 gfx::CairoCachedSurface* tab_bg, |
| 304 int offset_x, | 304 int offset_x, |
| 305 int offset_y); | 305 int offset_y); |
| 306 | 306 |
| 307 // Draws the tab shadow using the given idr resources onto |cr|. | 307 // Draws the tab shadow using the given idr resources onto |cr|. |
| 308 void DrawTabShadow(cairo_t* cr, | 308 void DrawTabShadow(cairo_t* cr, |
| 309 GtkWidget* widget, | 309 GtkWidget* widget, |
| 310 int left_idr, | 310 int left_idr, |
| 311 int center_idr, | 311 int center_idr, |
| 312 int right_idr); | 312 int right_idr); |
| 313 | 313 |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 // Color of the title text on the selected tab. | 421 // Color of the title text on the selected tab. |
| 422 SkColor selected_title_color_; | 422 SkColor selected_title_color_; |
| 423 | 423 |
| 424 // Color of the title text on an unselected tab. | 424 // Color of the title text on an unselected tab. |
| 425 SkColor unselected_title_color_; | 425 SkColor unselected_title_color_; |
| 426 | 426 |
| 427 DISALLOW_COPY_AND_ASSIGN(TabRendererGtk); | 427 DISALLOW_COPY_AND_ASSIGN(TabRendererGtk); |
| 428 }; | 428 }; |
| 429 | 429 |
| 430 #endif // CHROME_BROWSER_UI_GTK_TABS_TAB_RENDERER_GTK_H_ | 430 #endif // CHROME_BROWSER_UI_GTK_TABS_TAB_RENDERER_GTK_H_ |
| OLD | NEW |