OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #include "chrome/browser/ui/views/tabs/tab.h" | 5 #include "chrome/browser/ui/views/tabs/tab.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "app/multi_animation.h" | |
10 #include "app/resource_bundle.h" | 9 #include "app/resource_bundle.h" |
11 #include "app/slide_animation.h" | |
12 #include "app/throb_animation.h" | |
13 #include "base/utf_string_conversions.h" | 10 #include "base/utf_string_conversions.h" |
14 #include "chrome/browser/defaults.h" | 11 #include "chrome/browser/defaults.h" |
15 #include "chrome/browser/themes/browser_theme_provider.h" | 12 #include "chrome/browser/themes/browser_theme_provider.h" |
16 #include "gfx/canvas_skia.h" | 13 #include "gfx/canvas_skia.h" |
17 #include "gfx/favicon_size.h" | 14 #include "gfx/favicon_size.h" |
18 #include "gfx/font.h" | 15 #include "gfx/font.h" |
19 #include "gfx/path.h" | 16 #include "gfx/path.h" |
20 #include "gfx/skbitmap_operations.h" | 17 #include "gfx/skbitmap_operations.h" |
21 #include "grit/app_resources.h" | 18 #include "grit/app_resources.h" |
22 #include "grit/generated_resources.h" | 19 #include "grit/generated_resources.h" |
23 #include "grit/theme_resources.h" | 20 #include "grit/theme_resources.h" |
24 #include "third_party/skia/include/effects/SkGradientShader.h" | 21 #include "third_party/skia/include/effects/SkGradientShader.h" |
| 22 #include "ui/base/animation/multi_animation.h" |
| 23 #include "ui/base/animation/slide_animation.h" |
| 24 #include "ui/base/animation/throb_animation.h" |
25 #include "views/controls/button/image_button.h" | 25 #include "views/controls/button/image_button.h" |
26 #include "views/widget/tooltip_manager.h" | 26 #include "views/widget/tooltip_manager.h" |
27 #include "views/widget/widget.h" | 27 #include "views/widget/widget.h" |
28 #include "views/window/non_client_view.h" | 28 #include "views/window/non_client_view.h" |
29 #include "views/window/window.h" | 29 #include "views/window/window.h" |
30 | 30 |
31 static const int kLeftPadding = 16; | 31 static const int kLeftPadding = 16; |
32 static const int kTopPadding = 6; | 32 static const int kTopPadding = 6; |
33 static const int kRightPadding = 15; | 33 static const int kRightPadding = 15; |
34 static const int kBottomPadding = 5; | 34 static const int kBottomPadding = 5; |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 showing_close_button_(false), | 107 showing_close_button_(false), |
108 close_button_color_(NULL) { | 108 close_button_color_(NULL) { |
109 InitTabResources(); | 109 InitTabResources(); |
110 } | 110 } |
111 | 111 |
112 Tab::~Tab() { | 112 Tab::~Tab() { |
113 } | 113 } |
114 | 114 |
115 void Tab::StartMiniTabTitleAnimation() { | 115 void Tab::StartMiniTabTitleAnimation() { |
116 if (!mini_title_animation_.get()) { | 116 if (!mini_title_animation_.get()) { |
117 MultiAnimation::Parts parts; | 117 ui::MultiAnimation::Parts parts; |
118 parts.push_back(MultiAnimation::Part(kMiniTitleChangeAnimationDuration1MS, | 118 parts.push_back( |
119 Tween::EASE_OUT)); | 119 ui::MultiAnimation::Part(kMiniTitleChangeAnimationDuration1MS, |
120 parts.push_back(MultiAnimation::Part(kMiniTitleChangeAnimationDuration2MS, | 120 ui::Tween::EASE_OUT)); |
121 Tween::ZERO)); | 121 parts.push_back( |
122 parts.push_back(MultiAnimation::Part(kMiniTitleChangeAnimationDuration3MS, | 122 ui::MultiAnimation::Part(kMiniTitleChangeAnimationDuration2MS, |
123 Tween::EASE_IN)); | 123 ui::Tween::ZERO)); |
| 124 parts.push_back( |
| 125 ui::MultiAnimation::Part(kMiniTitleChangeAnimationDuration3MS, |
| 126 ui::Tween::EASE_IN)); |
124 parts[0].start_time_ms = kMiniTitleChangeAnimationStart1MS; | 127 parts[0].start_time_ms = kMiniTitleChangeAnimationStart1MS; |
125 parts[0].end_time_ms = kMiniTitleChangeAnimationEnd1MS; | 128 parts[0].end_time_ms = kMiniTitleChangeAnimationEnd1MS; |
126 parts[2].start_time_ms = kMiniTitleChangeAnimationStart3MS; | 129 parts[2].start_time_ms = kMiniTitleChangeAnimationStart3MS; |
127 parts[2].end_time_ms = kMiniTitleChangeAnimationEnd3MS; | 130 parts[2].end_time_ms = kMiniTitleChangeAnimationEnd3MS; |
128 mini_title_animation_.reset(new MultiAnimation(parts)); | 131 mini_title_animation_.reset(new ui::MultiAnimation(parts)); |
129 mini_title_animation_->SetContainer(animation_container()); | 132 mini_title_animation_->SetContainer(animation_container()); |
130 mini_title_animation_->set_delegate(this); | 133 mini_title_animation_->set_delegate(this); |
131 } | 134 } |
132 mini_title_animation_->Start(); | 135 mini_title_animation_->Start(); |
133 } | 136 } |
134 | 137 |
135 void Tab::StopMiniTabTitleAnimation() { | 138 void Tab::StopMiniTabTitleAnimation() { |
136 if (mini_title_animation_.get()) | 139 if (mini_title_animation_.get()) |
137 mini_title_animation_->Stop(); | 140 mini_title_animation_->Stop(); |
138 } | 141 } |
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
581 | 584 |
582 // Draw a radial gradient to hover_canvas. | 585 // Draw a radial gradient to hover_canvas. |
583 int radius = width() / 3; | 586 int radius = width() / 3; |
584 | 587 |
585 SkPaint paint; | 588 SkPaint paint; |
586 paint.setStyle(SkPaint::kFill_Style); | 589 paint.setStyle(SkPaint::kFill_Style); |
587 paint.setFlags(SkPaint::kAntiAlias_Flag); | 590 paint.setFlags(SkPaint::kAntiAlias_Flag); |
588 SkPoint loc = { SkIntToScalar(hover_point_.x()), | 591 SkPoint loc = { SkIntToScalar(hover_point_.x()), |
589 SkIntToScalar(hover_point_.y()) }; | 592 SkIntToScalar(hover_point_.y()) }; |
590 SkColor colors[2]; | 593 SkColor colors[2]; |
591 const SlideAnimation* hover_slide = hover_animation(); | 594 const ui::SlideAnimation* hover_slide = hover_animation(); |
592 int hover_alpha = 0; | 595 int hover_alpha = 0; |
593 if (hover_slide) { | 596 if (hover_slide) { |
594 hover_alpha = | 597 hover_alpha = |
595 static_cast<int>(255 * kHoverOpacity * hover_slide->GetCurrentValue()); | 598 static_cast<int>(255 * kHoverOpacity * hover_slide->GetCurrentValue()); |
596 } | 599 } |
597 colors[0] = SkColorSetARGB(hover_alpha, 255, 255, 255); | 600 colors[0] = SkColorSetARGB(hover_alpha, 255, 255, 255); |
598 colors[1] = SkColorSetARGB(0, 255, 255, 255); | 601 colors[1] = SkColorSetARGB(0, 255, 255, 255); |
599 SkShader* shader = SkGradientShader::CreateRadial( | 602 SkShader* shader = SkGradientShader::CreateRadial( |
600 loc, | 603 loc, |
601 SkIntToScalar(radius), | 604 SkIntToScalar(radius), |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
664 tab_active.image_r = rb.GetBitmapNamed(IDR_TAB_ACTIVE_RIGHT); | 667 tab_active.image_r = rb.GetBitmapNamed(IDR_TAB_ACTIVE_RIGHT); |
665 tab_active.l_width = tab_active.image_l->width(); | 668 tab_active.l_width = tab_active.image_l->width(); |
666 tab_active.r_width = tab_active.image_r->width(); | 669 tab_active.r_width = tab_active.image_r->width(); |
667 | 670 |
668 tab_inactive.image_l = rb.GetBitmapNamed(IDR_TAB_INACTIVE_LEFT); | 671 tab_inactive.image_l = rb.GetBitmapNamed(IDR_TAB_INACTIVE_LEFT); |
669 tab_inactive.image_c = rb.GetBitmapNamed(IDR_TAB_INACTIVE_CENTER); | 672 tab_inactive.image_c = rb.GetBitmapNamed(IDR_TAB_INACTIVE_CENTER); |
670 tab_inactive.image_r = rb.GetBitmapNamed(IDR_TAB_INACTIVE_RIGHT); | 673 tab_inactive.image_r = rb.GetBitmapNamed(IDR_TAB_INACTIVE_RIGHT); |
671 tab_inactive.l_width = tab_inactive.image_l->width(); | 674 tab_inactive.l_width = tab_inactive.image_l->width(); |
672 tab_inactive.r_width = tab_inactive.image_r->width(); | 675 tab_inactive.r_width = tab_inactive.image_r->width(); |
673 } | 676 } |
OLD | NEW |