diff options
Diffstat (limited to 'chrome/browser/views/tabs/tab_renderer.h')
-rw-r--r-- | chrome/browser/views/tabs/tab_renderer.h | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/chrome/browser/views/tabs/tab_renderer.h b/chrome/browser/views/tabs/tab_renderer.h index 2e309c6..dfb7272 100644 --- a/chrome/browser/views/tabs/tab_renderer.h +++ b/chrome/browser/views/tabs/tab_renderer.h @@ -1,4 +1,4 @@ -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -6,12 +6,14 @@ #define CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H__ #include "app/animation.h" +#include "base/ref_counted.h" #include "base/scoped_ptr.h" #include "base/string16.h" #include "gfx/point.h" #include "views/controls/button/image_button.h" #include "views/view.h" +class AnimationContainer; class SlideAnimation; class TabContents; class ThrobAnimation; @@ -37,6 +39,11 @@ class TabRenderer : public views::View, TabRenderer(); virtual ~TabRenderer(); + // Sizes the renderer to the size of the new tab images. This is used when + // during the new tab animation. See TabStrip's description of AnimationType + // for details. + void SizeToNewTabButtonImages(); + // Overridden from views: void ViewHierarchyChanged(bool is_add, View* parent, View* child); ThemeProvider* GetThemeProvider(); @@ -59,6 +66,18 @@ class TabRenderer : public views::View, void set_phantom(bool phantom) { data_.phantom = phantom; } bool phantom() const { return data_.phantom; } + // Used during new tab animation to force the tab to render a new tab like + // animation. + void set_render_as_new_tab(bool value) { data_.render_as_new_tab = value; } + + // Sets the alpha value to render the tab at. This is used during the new + // tab animation. + void set_alpha(double value) { data_.alpha = value; } + + // Forces the tab to render unselected even though it is selected. + void set_render_unselected(bool value) { data_.render_unselected = value; } + bool render_unselected() const { return data_.render_unselected; } + // Are we in the process of animating a mini tab state change on this tab? void set_animating_mini_change(bool value); @@ -93,6 +112,9 @@ class TabRenderer : public views::View, theme_provider_ = provider; } + // Sets the container all animations run from. + void SetAnimationContainer(AnimationContainer* container); + // Paints the icon. Most of the time you'll want to invoke Paint directly, but // in certain situations this invoked outside of Paint. void PaintIcon(gfx::Canvas* canvas); @@ -158,6 +180,7 @@ class TabRenderer : public views::View, void PaintInactiveTabBackground(gfx::Canvas* canvas); void PaintActiveTabBackground(gfx::Canvas* canvas); void PaintLoadingAnimation(gfx::Canvas* canvas); + void PaintAsNewTab(gfx::Canvas* canvas); // Returns the number of favicon-size elements that can fit in the tab's // current size. @@ -211,7 +234,10 @@ class TabRenderer : public views::View, mini(false), blocked(false), animating_mini_change(false), - phantom(false) { + phantom(false), + render_as_new_tab(false), + render_unselected(false), + alpha(1) { } SkBitmap favicon; @@ -224,6 +250,9 @@ class TabRenderer : public views::View, bool blocked; bool animating_mini_change; bool phantom; + bool render_as_new_tab; + bool render_unselected; + double alpha; }; TabData data_; @@ -260,6 +289,8 @@ class TabRenderer : public views::View, ThemeProvider* theme_provider_; + scoped_refptr<AnimationContainer> container_; + static void InitClass(); static bool initialized_; |