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

Unified Diff: athena/home/home_card_view.cc

Issue 863033002: Delete athena/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « athena/home/home_card_view.h ('k') | athena/home/public/DEPS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: athena/home/home_card_view.cc
diff --git a/athena/home/home_card_view.cc b/athena/home/home_card_view.cc
deleted file mode 100644
index 133ad5c16b77796184f5fe1ef6bb2dcd879a74cb..0000000000000000000000000000000000000000
--- a/athena/home/home_card_view.cc
+++ /dev/null
@@ -1,263 +0,0 @@
-// Copyright 2014 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.
-
-#include "athena/home/home_card_view.h"
-
-#include "athena/home/home_card_constants.h"
-#include "athena/util/athena_constants.h"
-#include "athena/wm/public/window_manager.h"
-#include "ui/app_list/app_list_view_delegate.h"
-#include "ui/app_list/views/app_list_main_view.h"
-#include "ui/app_list/views/contents_view.h"
-#include "ui/app_list/views/search_box_view.h"
-#include "ui/aura/window.h"
-#include "ui/compositor/closure_animation_observer.h"
-#include "ui/compositor/scoped_layer_animation_settings.h"
-#include "ui/views/background.h"
-#include "ui/views/focus/focus_manager.h"
-#include "ui/views/widget/widget.h"
-
-namespace athena {
-
-namespace {
-
-const float kMinimizedHomeOpacity = 0.65f;
-const int kIndicatorOffset = 24;
-const int kAppListOffset = -128;
-}
-
-HomeCardView::HomeCardView(app_list::AppListViewDelegate* view_delegate,
- HomeCardGestureManager::Delegate* gesture_delegate)
- : background_(new views::View),
- main_view_(new app_list::AppListMainView(view_delegate)),
- search_box_view_(new app_list::SearchBoxView(main_view_, view_delegate)),
- minimized_background_(new views::View()),
- drag_indicator_(new views::View()),
- gesture_delegate_(gesture_delegate),
- weak_factory_(this) {
- background_->set_background(
- views::Background::CreateVerticalGradientBackground(SK_ColorLTGRAY,
- SK_ColorWHITE));
- background_->SetPaintToLayer(true);
- background_->SetFillsBoundsOpaquely(false);
- AddChildView(background_);
-
- main_view_->SetPaintToLayer(true);
- main_view_->SetFillsBoundsOpaquely(false);
- main_view_->layer()->SetMasksToBounds(true);
- AddChildView(main_view_);
-
- search_box_view_->SetPaintToLayer(true);
- search_box_view_->SetFillsBoundsOpaquely(false);
- search_box_view_->layer()->SetMasksToBounds(true);
- AddChildView(search_box_view_);
-
- minimized_background_->set_background(
- views::Background::CreateSolidBackground(
- SkColorSetA(SK_ColorBLACK, 256 * kMinimizedHomeOpacity)));
- minimized_background_->SetPaintToLayer(true);
- minimized_background_->SetFillsBoundsOpaquely(false);
- minimized_background_->layer()->set_name("MinimizedBackground");
- AddChildView(minimized_background_);
-
- drag_indicator_->set_background(
- views::Background::CreateSolidBackground(SK_ColorWHITE));
- drag_indicator_->SetPaintToLayer(true);
- AddChildView(drag_indicator_);
-}
-
-HomeCardView::~HomeCardView() {
-}
-
-void HomeCardView::Init() {
- main_view_->Init(GetWidget()->GetNativeView(),
- -1, /* inital apps page: -1 means default */
- search_box_view_);
-}
-
-void HomeCardView::SetStateProgress(HomeCard::State from_state,
- HomeCard::State to_state,
- float progress) {
- // TODO(mukai): not clear the focus, but simply close the virtual keyboard.
- GetFocusManager()->ClearFocus();
-
- gfx::Rect from_main_bounds = GetMainViewBounds(from_state);
- gfx::Rect to_main_bounds = GetMainViewBounds(to_state);
- if (from_main_bounds != to_main_bounds) {
- DCHECK_EQ(from_main_bounds.size().ToString(),
- to_main_bounds.size().ToString());
- gfx::Rect main_bounds = gfx::Tween::RectValueBetween(
- progress, from_main_bounds, to_main_bounds);
- main_view_->SetBoundsRect(main_bounds);
- main_bounds.set_height(
- search_box_view_->GetHeightForWidth(main_bounds.width()));
- search_box_view_->SetBoundsRect(main_bounds);
- }
-
- float background_opacity = 1.0f;
- if (from_state == HomeCard::VISIBLE_MINIMIZED ||
- to_state == HomeCard::VISIBLE_MINIMIZED) {
- background_opacity = (from_state == HomeCard::VISIBLE_MINIMIZED)
- ? progress
- : (1.0f - progress);
- }
- background_->layer()->SetOpacity(background_opacity);
- minimized_background_->layer()->SetOpacity(1.0f - background_opacity);
- UpdateMinimizedBackgroundVisibility();
-
- int background_height = kHomeCardHeight;
- if (from_state == HomeCard::VISIBLE_CENTERED ||
- to_state == HomeCard::VISIBLE_CENTERED) {
- gfx::Rect window_bounds = GetWidget()->GetWindowBoundsInScreen();
- background_height = window_bounds.height() - window_bounds.y();
- }
- gfx::Transform background_transform;
- background_transform.Scale(SK_MScalar1, SkIntToMScalar(background_height) /
- SkIntToMScalar(height()));
- background_->layer()->SetTransform(background_transform);
-
- gfx::Rect from_bounds = GetDragIndicatorBounds(from_state);
- gfx::Rect to_bounds = GetDragIndicatorBounds(to_state);
- if (from_bounds != to_bounds) {
- DCHECK_EQ(from_bounds.size().ToString(), to_bounds.size().ToString());
- drag_indicator_->SetBoundsRect(
- gfx::Tween::RectValueBetween(progress, from_bounds, to_bounds));
- }
-}
-
-void HomeCardView::SetStateWithAnimation(
- HomeCard::State state,
- gfx::Tween::Type tween_type,
- const base::Closure& on_animation_ended) {
- float minimized_opacity =
- (state == HomeCard::VISIBLE_MINIMIZED) ? 1.0f : 0.0f;
- // |minimized_background_| needs to be visible before scheduling animation.
- if (state == HomeCard::VISIBLE_MINIMIZED)
- minimized_background_->SetVisible(true);
-
- if (minimized_opacity != minimized_background_->layer()->GetTargetOpacity()) {
- ui::ScopedLayerAnimationSettings settings(
- minimized_background_->layer()->GetAnimator());
- settings.SetTweenType(gfx::Tween::EASE_IN);
- settings.AddObserver(new ui::ClosureAnimationObserver(
- base::Bind(&HomeCardView::UpdateMinimizedBackgroundVisibility,
- weak_factory_.GetWeakPtr())));
- minimized_background_->layer()->SetOpacity(minimized_opacity);
- }
-
- gfx::Transform background_transform;
- if (state != HomeCard::VISIBLE_CENTERED) {
- background_transform.Scale(SK_MScalar1, SkIntToMScalar(kHomeCardHeight) /
- SkIntToMScalar(height()));
- }
- float background_opacity = 1.0f - minimized_opacity;
- if (background_->layer()->GetTargetTransform() != background_transform ||
- background_->layer()->GetTargetOpacity() != background_opacity) {
- ui::ScopedLayerAnimationSettings settings(
- background_->layer()->GetAnimator());
- settings.SetTweenType(tween_type);
- background_->layer()->SetTransform(background_transform);
- background_->layer()->SetOpacity(background_opacity);
- }
-
- {
- ui::ScopedLayerAnimationSettings settings(
- drag_indicator_->layer()->GetAnimator());
- settings.SetTweenType(tween_type);
- drag_indicator_->SetBoundsRect(GetDragIndicatorBounds(state));
- }
-
- {
- ui::ScopedLayerAnimationSettings settings(
- main_view_->layer()->GetAnimator());
- settings.SetTweenType(tween_type);
- settings.AddObserver(new ui::ClosureAnimationObserver(on_animation_ended));
- gfx::Rect main_bounds = GetMainViewBounds(state);
- main_view_->SetBoundsRect(main_bounds);
- main_bounds.set_height(
- search_box_view_->GetHeightForWidth(main_bounds.width()));
- search_box_view_->SetBoundsRect(main_bounds);
- }
-
- if (state == HomeCard::VISIBLE_BOTTOM) {
- app_list::ContentsView* contents_view = main_view_->contents_view();
- contents_view->SetActivePage(contents_view->GetPageIndexForState(
- app_list::AppListModel::STATE_START));
- }
-}
-
-void HomeCardView::ClearGesture() {
- gesture_manager_.reset();
-}
-
-void HomeCardView::OnGestureEvent(ui::GestureEvent* event) {
- if (!gesture_manager_ && event->type() == ui::ET_GESTURE_SCROLL_BEGIN) {
- gesture_manager_.reset(new HomeCardGestureManager(
- gesture_delegate_,
- GetWidget()->GetNativeWindow()->GetRootWindow()->bounds()));
- }
-
- if (gesture_manager_)
- gesture_manager_->ProcessGestureEvent(event);
-}
-
-bool HomeCardView::OnMousePressed(const ui::MouseEvent& event) {
- if (HomeCard::Get()->GetState() == HomeCard::VISIBLE_MINIMIZED &&
- event.IsLeftMouseButton() && event.GetClickCount() == 1) {
- athena::WindowManager::Get()->EnterOverview();
- return true;
- }
- return false;
-}
-
-void HomeCardView::Layout() {
- const gfx::Rect contents_bounds = GetContentsBounds();
- background_->SetBoundsRect(contents_bounds);
- minimized_background_->SetBoundsRect(contents_bounds);
- const gfx::Rect drag_indicator_bounds =
- GetDragIndicatorBounds(HomeCard::Get()->GetState());
- drag_indicator_->SetBoundsRect(drag_indicator_bounds);
-
- gfx::Rect main_bounds(GetMainViewBounds(HomeCard::Get()->GetState()));
- main_view_->SetBoundsRect(main_bounds);
-
- main_bounds.set_height(
- search_box_view_->GetHeightForWidth(main_bounds.width()));
- search_box_view_->SetBoundsRect(main_bounds);
-}
-
-gfx::Rect HomeCardView::GetDragIndicatorBounds(HomeCard::State state) {
- gfx::Rect drag_indicator_bounds(
- GetContentsBounds().CenterPoint().x() - kHomeCardDragIndicatorWidth / 2,
- kHomeCardDragIndicatorMarginHeight, kHomeCardDragIndicatorWidth,
- kHomeCardDragIndicatorHeight);
- if (state == HomeCard::VISIBLE_CENTERED)
- drag_indicator_bounds.Offset(0, kSystemUIHeight);
- return drag_indicator_bounds;
-}
-
-gfx::Rect HomeCardView::GetMainViewBounds(HomeCard::State state) {
- const gfx::Rect contents_bounds = GetContentsBounds();
- const int main_width = main_view_->GetPreferredSize().width();
- gfx::Rect main_bounds(
- contents_bounds.CenterPoint().x() - main_width / 2,
- GetDragIndicatorBounds(state).bottom() + kIndicatorOffset, main_width,
- contents_bounds.height());
- // This is a bit hacky but slightly shifting up the main_view to fit
- // the search box and app icons in the home card.
- if (state != HomeCard::VISIBLE_CENTERED)
- main_bounds.set_y(kAppListOffset);
- return main_bounds;
-}
-
-void HomeCardView::UpdateMinimizedBackgroundVisibility() {
- minimized_background_->SetVisible(
- minimized_background_->layer()->GetTargetOpacity() != 0.0f);
-}
-
-views::View* HomeCardView::GetContentsView() {
- return this;
-}
-
-} // namespace athena
« no previous file with comments | « athena/home/home_card_view.h ('k') | athena/home/public/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698