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

Side by Side Diff: ash/shelf/shelf_layout_manager.cc

Issue 2053113002: Replaced BackgroundAnimator with ShelfBackgroundAnimator. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added PaletteTray to the Shelf background animations. Created 4 years, 4 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ash/shelf/shelf_layout_manager.h" 5 #include "ash/shelf/shelf_layout_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <cstring> 9 #include <cstring>
10 #include <string> 10 #include <string>
(...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after
579 if (WmShell::Get()->GetSessionStateDelegate()->IsUserSessionBlocked() && 579 if (WmShell::Get()->GetSessionStateDelegate()->IsUserSessionBlocked() &&
580 keyboard_is_about_to_hide) { 580 keyboard_is_about_to_hide) {
581 Shell::GetInstance()->SetDisplayWorkAreaInsets(root_window_, gfx::Insets()); 581 Shell::GetInstance()->SetDisplayWorkAreaInsets(root_window_, gfx::Insets());
582 } 582 }
583 } 583 }
584 584
585 bool ShelfLayoutManager::IsHorizontalAlignment() const { 585 bool ShelfLayoutManager::IsHorizontalAlignment() const {
586 return ::ash::IsHorizontalAlignment(GetAlignment()); 586 return ::ash::IsHorizontalAlignment(GetAlignment());
587 } 587 }
588 588
589 ShelfBackgroundType ShelfLayoutManager::GetShelfBackgroundType() const {
590 if (state_.visibility_state != SHELF_AUTO_HIDE &&
591 state_.window_state == wm::WORKSPACE_WINDOW_STATE_MAXIMIZED) {
592 return SHELF_BACKGROUND_MAXIMIZED;
593 }
594
595 if (gesture_drag_status_ == GESTURE_DRAG_IN_PROGRESS ||
596 (!state_.is_screen_locked && !state_.is_adding_user_screen &&
597 window_overlaps_shelf_) ||
598 (state_.visibility_state == SHELF_AUTO_HIDE)) {
599 return SHELF_BACKGROUND_OVERLAP;
600 }
601
602 return SHELF_BACKGROUND_DEFAULT;
603 }
604
589 void ShelfLayoutManager::SetChromeVoxPanelHeight(int height) { 605 void ShelfLayoutManager::SetChromeVoxPanelHeight(int height) {
590 chromevox_panel_height_ = height; 606 chromevox_panel_height_ = height;
591 LayoutShelf(); 607 LayoutShelf();
592 } 608 }
593 609
594 //////////////////////////////////////////////////////////////////////////////// 610 ////////////////////////////////////////////////////////////////////////////////
595 // ShelfLayoutManager, private: 611 // ShelfLayoutManager, private:
596 612
597 ShelfLayoutManager::TargetBounds::TargetBounds() 613 ShelfLayoutManager::TargetBounds::TargetBounds()
598 : opacity(0.0f), status_opacity(0.0f) {} 614 : opacity(0.0f), status_opacity(0.0f) {}
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after
966 target_bounds->status_bounds_in_shelf.set_x( 982 target_bounds->status_bounds_in_shelf.set_x(
967 target_bounds->shelf_bounds_in_root.width() - 983 target_bounds->shelf_bounds_in_root.width() -
968 GetShelfConstant(SHELF_SIZE)); 984 GetShelfConstant(SHELF_SIZE));
969 } 985 }
970 } 986 }
971 } 987 }
972 988
973 void ShelfLayoutManager::UpdateShelfBackground( 989 void ShelfLayoutManager::UpdateShelfBackground(
974 BackgroundAnimatorChangeType type) { 990 BackgroundAnimatorChangeType type) {
975 const ShelfBackgroundType background_type(GetShelfBackgroundType()); 991 const ShelfBackgroundType background_type(GetShelfBackgroundType());
976 shelf_widget_->SetPaintsBackground(background_type, type);
977 FOR_EACH_OBSERVER(ShelfLayoutManagerObserver, observers_, 992 FOR_EACH_OBSERVER(ShelfLayoutManagerObserver, observers_,
978 OnBackgroundUpdated(background_type, type)); 993 OnBackgroundUpdated(background_type, type));
979 } 994 }
980 995
981 ShelfBackgroundType ShelfLayoutManager::GetShelfBackgroundType() const {
982 if (state_.visibility_state != SHELF_AUTO_HIDE &&
983 state_.window_state == wm::WORKSPACE_WINDOW_STATE_MAXIMIZED) {
984 return SHELF_BACKGROUND_MAXIMIZED;
985 }
986
987 if (gesture_drag_status_ == GESTURE_DRAG_IN_PROGRESS ||
988 (!state_.is_screen_locked && !state_.is_adding_user_screen &&
989 window_overlaps_shelf_) ||
990 (state_.visibility_state == SHELF_AUTO_HIDE)) {
991 return SHELF_BACKGROUND_OVERLAP;
992 }
993
994 return SHELF_BACKGROUND_DEFAULT;
995 }
996
997 void ShelfLayoutManager::UpdateAutoHideStateNow() { 996 void ShelfLayoutManager::UpdateAutoHideStateNow() {
998 SetState(state_.visibility_state); 997 SetState(state_.visibility_state);
999 998
1000 // If the state did not change, the auto hide timer may still be running. 999 // If the state did not change, the auto hide timer may still be running.
1001 StopAutoHideTimer(); 1000 StopAutoHideTimer();
1002 } 1001 }
1003 1002
1004 void ShelfLayoutManager::StopAutoHideTimer() { 1003 void ShelfLayoutManager::StopAutoHideTimer() {
1005 auto_hide_timer_.Stop(); 1004 auto_hide_timer_.Stop();
1006 mouse_over_shelf_when_auto_hide_timer_started_ = false; 1005 mouse_over_shelf_when_auto_hide_timer_started_ = false;
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
1206 if (ash::MaterialDesignController::IsShelfMaterial()) { 1205 if (ash::MaterialDesignController::IsShelfMaterial()) {
1207 return (state.visibility_state == SHELF_AUTO_HIDE && 1206 return (state.visibility_state == SHELF_AUTO_HIDE &&
1208 state.auto_hide_state == SHELF_AUTO_HIDE_SHOWN) 1207 state.auto_hide_state == SHELF_AUTO_HIDE_SHOWN)
1209 ? 1.0f 1208 ? 1.0f
1210 : 0.0f; 1209 : 0.0f;
1211 } 1210 }
1212 return (state.visibility_state == SHELF_AUTO_HIDE) ? 1.0f : 0.0f; 1211 return (state.visibility_state == SHELF_AUTO_HIDE) ? 1.0f : 0.0f;
1213 } 1212 }
1214 1213
1215 } // namespace ash 1214 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698