Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(330)

Side by Side Diff: ui/message_center/views/message_center_view.cc

Issue 23531053: ui/base/animation -> ui/gfx/animation (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge 2 trunk Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 "ui/message_center/views/message_center_view.h" 5 #include "ui/message_center/views/message_center_view.h"
6 6
7 #include <list> 7 #include <list>
8 #include <map> 8 #include <map>
9 9
10 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
11 #include "base/message_loop/message_loop.h" 11 #include "base/message_loop/message_loop.h"
12 #include "base/stl_util.h" 12 #include "base/stl_util.h"
13 #include "grit/ui_strings.h" 13 #include "grit/ui_strings.h"
14 #include "ui/base/animation/multi_animation.h"
15 #include "ui/base/animation/slide_animation.h"
16 #include "ui/base/l10n/l10n_util.h" 14 #include "ui/base/l10n/l10n_util.h"
15 #include "ui/gfx/animation/multi_animation.h"
16 #include "ui/gfx/animation/slide_animation.h"
17 #include "ui/gfx/canvas.h" 17 #include "ui/gfx/canvas.h"
18 #include "ui/gfx/insets.h" 18 #include "ui/gfx/insets.h"
19 #include "ui/gfx/rect.h" 19 #include "ui/gfx/rect.h"
20 #include "ui/gfx/size.h" 20 #include "ui/gfx/size.h"
21 #include "ui/message_center/message_center.h" 21 #include "ui/message_center/message_center.h"
22 #include "ui/message_center/message_center_style.h" 22 #include "ui/message_center/message_center_style.h"
23 #include "ui/message_center/message_center_types.h" 23 #include "ui/message_center/message_center_types.h"
24 #include "ui/message_center/views/message_center_button_bar.h" 24 #include "ui/message_center/views/message_center_button_bar.h"
25 #include "ui/message_center/views/message_view.h" 25 #include "ui/message_center/views/message_view.h"
26 #include "ui/message_center/views/notification_view.h" 26 #include "ui/message_center/views/notification_view.h"
(...skipping 382 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 clearing_all_views_.push_back(child); 409 clearing_all_views_.push_back(child);
410 } 410 }
411 DoUpdateIfPossible(); 411 DoUpdateIfPossible();
412 } 412 }
413 413
414 void MessageListView::OnBoundsAnimatorProgressed( 414 void MessageListView::OnBoundsAnimatorProgressed(
415 views::BoundsAnimator* animator) { 415 views::BoundsAnimator* animator) {
416 DCHECK_EQ(animator_.get(), animator); 416 DCHECK_EQ(animator_.get(), animator);
417 for (std::set<views::View*>::iterator iter = deleted_when_done_.begin(); 417 for (std::set<views::View*>::iterator iter = deleted_when_done_.begin();
418 iter != deleted_when_done_.end(); ++iter) { 418 iter != deleted_when_done_.end(); ++iter) {
419 const ui::SlideAnimation* animation = animator->GetAnimationForView(*iter); 419 const gfx::SlideAnimation* animation = animator->GetAnimationForView(*iter);
420 if (animation) 420 if (animation)
421 (*iter)->layer()->SetOpacity(animation->CurrentValueBetween(1.0, 0.0)); 421 (*iter)->layer()->SetOpacity(animation->CurrentValueBetween(1.0, 0.0));
422 } 422 }
423 } 423 }
424 424
425 void MessageListView::OnBoundsAnimatorDone(views::BoundsAnimator* animator) { 425 void MessageListView::OnBoundsAnimatorDone(views::BoundsAnimator* animator) {
426 STLDeleteContainerPointers( 426 STLDeleteContainerPointers(
427 deleted_when_done_.begin(), deleted_when_done_.end()); 427 deleted_when_done_.begin(), deleted_when_done_.end());
428 deleted_when_done_.clear(); 428 deleted_when_done_.clear();
429 429
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
677 if (visible) { 677 if (visible) {
678 source_view_ = scroller_; 678 source_view_ = scroller_;
679 target_view_ = settings_view_; 679 target_view_ = settings_view_;
680 } else { 680 } else {
681 source_view_ = settings_view_; 681 source_view_ = settings_view_;
682 target_view_ = scroller_; 682 target_view_ = scroller_;
683 } 683 }
684 source_height_ = source_view_->GetHeightForWidth(width()); 684 source_height_ = source_view_->GetHeightForWidth(width());
685 target_height_ = target_view_->GetHeightForWidth(width()); 685 target_height_ = target_view_->GetHeightForWidth(width());
686 686
687 ui::MultiAnimation::Parts parts; 687 gfx::MultiAnimation::Parts parts;
688 // First part: slide resize animation. 688 // First part: slide resize animation.
689 parts.push_back(ui::MultiAnimation::Part( 689 parts.push_back(gfx::MultiAnimation::Part(
690 (source_height_ == target_height_) ? 0 : kDefaultAnimationDurationMs, 690 (source_height_ == target_height_) ? 0 : kDefaultAnimationDurationMs,
691 ui::Tween::EASE_OUT)); 691 gfx::Tween::EASE_OUT));
692 // Second part: fade-out the source_view. 692 // Second part: fade-out the source_view.
693 if (source_view_->layer()) { 693 if (source_view_->layer()) {
694 parts.push_back(ui::MultiAnimation::Part( 694 parts.push_back(gfx::MultiAnimation::Part(
695 kDefaultAnimationDurationMs, ui::Tween::LINEAR)); 695 kDefaultAnimationDurationMs, gfx::Tween::LINEAR));
696 } else { 696 } else {
697 parts.push_back(ui::MultiAnimation::Part()); 697 parts.push_back(gfx::MultiAnimation::Part());
698 } 698 }
699 // Third part: fade-in the target_view. 699 // Third part: fade-in the target_view.
700 if (target_view_->layer()) { 700 if (target_view_->layer()) {
701 parts.push_back(ui::MultiAnimation::Part( 701 parts.push_back(gfx::MultiAnimation::Part(
702 kDefaultAnimationDurationMs, ui::Tween::LINEAR)); 702 kDefaultAnimationDurationMs, gfx::Tween::LINEAR));
703 target_view_->layer()->SetOpacity(0); 703 target_view_->layer()->SetOpacity(0);
704 target_view_->SetVisible(true); 704 target_view_->SetVisible(true);
705 } else { 705 } else {
706 parts.push_back(ui::MultiAnimation::Part()); 706 parts.push_back(gfx::MultiAnimation::Part());
707 } 707 }
708 settings_transition_animation_.reset(new ui::MultiAnimation( 708 settings_transition_animation_.reset(new gfx::MultiAnimation(
709 parts, base::TimeDelta::FromMicroseconds(1000000 / kDefaultFrameRateHz))); 709 parts, base::TimeDelta::FromMicroseconds(1000000 / kDefaultFrameRateHz)));
710 settings_transition_animation_->set_delegate(this); 710 settings_transition_animation_->set_delegate(this);
711 settings_transition_animation_->set_continuous(false); 711 settings_transition_animation_->set_continuous(false);
712 settings_transition_animation_->Start(); 712 settings_transition_animation_->Start();
713 713
714 button_bar_->SetBackArrowVisible(visible); 714 button_bar_->SetBackArrowVisible(visible);
715 } 715 }
716 716
717 void MessageCenterView::ClearAllNotifications() { 717 void MessageCenterView::ClearAllNotifications() {
718 if (is_closing_) 718 if (is_closing_)
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
925 // notification. 925 // notification.
926 view->set_scroller(scroller_); 926 view->set_scroller(scroller_);
927 message_list_view_->UpdateNotificationAt(view, index); 927 message_list_view_->UpdateNotificationAt(view, index);
928 message_views_[index] = view; 928 message_views_[index] = view;
929 NotificationsChanged(); 929 NotificationsChanged();
930 break; 930 break;
931 } 931 }
932 } 932 }
933 } 933 }
934 934
935 void MessageCenterView::AnimationEnded(const ui::Animation* animation) { 935 void MessageCenterView::AnimationEnded(const gfx::Animation* animation) {
936 DCHECK_EQ(animation, settings_transition_animation_.get()); 936 DCHECK_EQ(animation, settings_transition_animation_.get());
937 937
938 Visibility visibility = target_view_ == settings_view_ 938 Visibility visibility = target_view_ == settings_view_
939 ? VISIBILITY_SETTINGS 939 ? VISIBILITY_SETTINGS
940 : VISIBILITY_MESSAGE_CENTER; 940 : VISIBILITY_MESSAGE_CENTER;
941 message_center_->SetVisibility(visibility); 941 message_center_->SetVisibility(visibility);
942 942
943 source_view_->SetVisible(false); 943 source_view_->SetVisible(false);
944 target_view_->SetVisible(true); 944 target_view_->SetVisible(true);
945 if (source_view_->layer()) 945 if (source_view_->layer())
946 source_view_->layer()->SetOpacity(1.0); 946 source_view_->layer()->SetOpacity(1.0);
947 if (target_view_->layer()) 947 if (target_view_->layer())
948 target_view_->layer()->SetOpacity(1.0); 948 target_view_->layer()->SetOpacity(1.0);
949 settings_transition_animation_.reset(); 949 settings_transition_animation_.reset();
950 PreferredSizeChanged(); 950 PreferredSizeChanged();
951 Layout(); 951 Layout();
952 } 952 }
953 953
954 void MessageCenterView::AnimationProgressed(const ui::Animation* animation) { 954 void MessageCenterView::AnimationProgressed(const gfx::Animation* animation) {
955 DCHECK_EQ(animation, settings_transition_animation_.get()); 955 DCHECK_EQ(animation, settings_transition_animation_.get());
956 PreferredSizeChanged(); 956 PreferredSizeChanged();
957 if (settings_transition_animation_->current_part_index() == 1 && 957 if (settings_transition_animation_->current_part_index() == 1 &&
958 source_view_->layer()) { 958 source_view_->layer()) {
959 source_view_->layer()->SetOpacity( 959 source_view_->layer()->SetOpacity(
960 1.0 - settings_transition_animation_->GetCurrentValue()); 960 1.0 - settings_transition_animation_->GetCurrentValue());
961 SchedulePaint(); 961 SchedulePaint();
962 } else if (settings_transition_animation_->current_part_index() == 2 && 962 } else if (settings_transition_animation_->current_part_index() == 2 &&
963 target_view_->layer()) { 963 target_view_->layer()) {
964 target_view_->layer()->SetOpacity( 964 target_view_->layer()->SetOpacity(
965 settings_transition_animation_->GetCurrentValue()); 965 settings_transition_animation_->GetCurrentValue());
966 SchedulePaint(); 966 SchedulePaint();
967 } 967 }
968 } 968 }
969 969
970 void MessageCenterView::AnimationCanceled(const ui::Animation* animation) { 970 void MessageCenterView::AnimationCanceled(const gfx::Animation* animation) {
971 DCHECK_EQ(animation, settings_transition_animation_.get()); 971 DCHECK_EQ(animation, settings_transition_animation_.get());
972 AnimationEnded(animation); 972 AnimationEnded(animation);
973 } 973 }
974 974
975 void MessageCenterView::AddNotificationAt(const Notification& notification, 975 void MessageCenterView::AddNotificationAt(const Notification& notification,
976 int index) { 976 int index) {
977 // NotificationViews are expanded by default here until 977 // NotificationViews are expanded by default here until
978 // http://crbug.com/217902 is fixed. TODO(dharcourt): Fix. 978 // http://crbug.com/217902 is fixed. TODO(dharcourt): Fix.
979 MessageView* view = 979 MessageView* view =
980 NotificationView::Create(notification, 980 NotificationView::Create(notification,
(...skipping 18 matching lines...) Expand all
999 scroller_->InvalidateLayout(); 999 scroller_->InvalidateLayout();
1000 PreferredSizeChanged(); 1000 PreferredSizeChanged();
1001 Layout(); 1001 Layout();
1002 } 1002 }
1003 1003
1004 void MessageCenterView::SetNotificationViewForTest(views::View* view) { 1004 void MessageCenterView::SetNotificationViewForTest(views::View* view) {
1005 message_list_view_->AddNotificationAt(view, 0); 1005 message_list_view_->AddNotificationAt(view, 0);
1006 } 1006 }
1007 1007
1008 } // namespace message_center 1008 } // namespace message_center
OLDNEW
« no previous file with comments | « ui/message_center/views/message_center_view.h ('k') | ui/message_center/views/message_popup_collection.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698