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

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

Issue 22291003: ash:Shelf Update Alternate Layout (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 | Annotate | Revision Log
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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 namespace { 53 namespace {
54 54
55 // Delay before showing the launcher. This is after the mouse stops moving. 55 // Delay before showing the launcher. This is after the mouse stops moving.
56 const int kAutoHideDelayMS = 200; 56 const int kAutoHideDelayMS = 200;
57 57
58 // To avoid hiding the shelf when the mouse transitions from a message bubble 58 // To avoid hiding the shelf when the mouse transitions from a message bubble
59 // into the shelf, the hit test area is enlarged by this amount of pixels to 59 // into the shelf, the hit test area is enlarged by this amount of pixels to
60 // keep the shelf from hiding. 60 // keep the shelf from hiding.
61 const int kNotificationBubbleGapHeight = 6; 61 const int kNotificationBubbleGapHeight = 6;
62 62
63 // Const inset from the edget of the shelf to the edget of the status area.
64 const int kStatusAreaInset = 3;
65
63 ui::Layer* GetLayer(views::Widget* widget) { 66 ui::Layer* GetLayer(views::Widget* widget) {
64 return widget->GetNativeView()->layer(); 67 return widget->GetNativeView()->layer();
65 } 68 }
66 69
67 bool IsDraggingTrayEnabled() { 70 bool IsDraggingTrayEnabled() {
68 static bool dragging_tray_allowed = CommandLine::ForCurrentProcess()-> 71 static bool dragging_tray_allowed = CommandLine::ForCurrentProcess()->
69 HasSwitch(ash::switches::kAshEnableTrayDragging); 72 HasSwitch(ash::switches::kAshEnableTrayDragging);
70 return dragging_tray_allowed; 73 return dragging_tray_allowed;
71 } 74 }
72 75
(...skipping 650 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 gfx::Rect(available_bounds.x(), available_bounds.y(), 726 gfx::Rect(available_bounds.x(), available_bounds.y(),
724 shelf_width, available_bounds.height()), 727 shelf_width, available_bounds.height()),
725 gfx::Rect(available_bounds.right() - shelf_width, available_bounds.y(), 728 gfx::Rect(available_bounds.right() - shelf_width, available_bounds.y(),
726 shelf_width, available_bounds.height()), 729 shelf_width, available_bounds.height()),
727 gfx::Rect(available_bounds.x(), available_bounds.y(), 730 gfx::Rect(available_bounds.x(), available_bounds.y(),
728 available_bounds.width(), shelf_height)); 731 available_bounds.width(), shelf_height));
729 732
730 int status_inset = std::max(0, GetPreferredShelfSize() - 733 int status_inset = std::max(0, GetPreferredShelfSize() -
731 PrimaryAxisValue(status_size.height(), status_size.width())); 734 PrimaryAxisValue(status_size.height(), status_size.width()));
732 735
736 if (ash::switches::UseAlternateShelfLayout())
737 status_inset = kStatusAreaInset;
738
733 target_bounds->status_bounds_in_shelf = SelectValueForShelfAlignment( 739 target_bounds->status_bounds_in_shelf = SelectValueForShelfAlignment(
734 gfx::Rect(base::i18n::IsRTL() ? 0 : shelf_width - status_size.width(), 740 gfx::Rect(base::i18n::IsRTL() ? 0 : shelf_width - status_size.width(),
735 status_inset, status_size.width(), status_size.height()), 741 status_inset, status_size.width(), status_size.height()),
736 gfx::Rect(shelf_width - (status_size.width() + status_inset), 742 gfx::Rect(shelf_width - (status_size.width() + status_inset),
737 shelf_height - status_size.height(), status_size.width(), 743 shelf_height - status_size.height(), status_size.width(),
738 status_size.height()), 744 status_size.height()),
739 gfx::Rect(status_inset, shelf_height - status_size.height(), 745 gfx::Rect(status_inset, shelf_height - status_size.height(),
740 status_size.width(), status_size.height()), 746 status_size.width(), status_size.height()),
741 gfx::Rect(base::i18n::IsRTL() ? 0 : shelf_width - status_size.width(), 747 gfx::Rect(base::i18n::IsRTL() ? 0 : shelf_width - status_size.width(),
742 shelf_height - (status_size.height() + status_inset), 748 shelf_height - (status_size.height() + status_inset),
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 if (horizontal) { 837 if (horizontal) {
832 // Move and size the launcher with the gesture. 838 // Move and size the launcher with the gesture.
833 int shelf_height = target_bounds->shelf_bounds_in_root.height() - translate; 839 int shelf_height = target_bounds->shelf_bounds_in_root.height() - translate;
834 shelf_height = std::max(shelf_height, kAutoHideSize); 840 shelf_height = std::max(shelf_height, kAutoHideSize);
835 target_bounds->shelf_bounds_in_root.set_height(shelf_height); 841 target_bounds->shelf_bounds_in_root.set_height(shelf_height);
836 if (alignment_ == SHELF_ALIGNMENT_BOTTOM) { 842 if (alignment_ == SHELF_ALIGNMENT_BOTTOM) {
837 target_bounds->shelf_bounds_in_root.set_y( 843 target_bounds->shelf_bounds_in_root.set_y(
838 available_bounds.bottom() - shelf_height); 844 available_bounds.bottom() - shelf_height);
839 } 845 }
840 846
841 // The statusbar should be in the center of the shelf. 847 if (ash::switches::UseAlternateShelfLayout()) {
842 gfx::Rect status_y = target_bounds->shelf_bounds_in_root; 848 target_bounds->status_bounds_in_shelf.set_y(kStatusAreaInset);
843 status_y.set_y(0); 849 } else {
844 status_y.ClampToCenteredSize( 850 // The statusbar should be in the center of the shelf.
845 target_bounds->status_bounds_in_shelf.size()); 851 gfx::Rect status_y = target_bounds->shelf_bounds_in_root;
846 target_bounds->status_bounds_in_shelf.set_y(status_y.y()); 852 status_y.set_y(0);
853 status_y.ClampToCenteredSize(
854 target_bounds->status_bounds_in_shelf.size());
855 target_bounds->status_bounds_in_shelf.set_y(status_y.y());
856 }
847 } else { 857 } else {
848 // Move and size the launcher with the gesture. 858 // Move and size the launcher with the gesture.
849 int shelf_width = target_bounds->shelf_bounds_in_root.width(); 859 int shelf_width = target_bounds->shelf_bounds_in_root.width();
850 if (alignment_ == SHELF_ALIGNMENT_RIGHT) 860 if (alignment_ == SHELF_ALIGNMENT_RIGHT)
851 shelf_width -= translate; 861 shelf_width -= translate;
852 else 862 else
853 shelf_width += translate; 863 shelf_width += translate;
854 shelf_width = std::max(shelf_width, kAutoHideSize); 864 shelf_width = std::max(shelf_width, kAutoHideSize);
855 target_bounds->shelf_bounds_in_root.set_width(shelf_width); 865 target_bounds->shelf_bounds_in_root.set_width(shelf_width);
856 if (alignment_ == SHELF_ALIGNMENT_RIGHT) { 866 if (alignment_ == SHELF_ALIGNMENT_RIGHT) {
857 target_bounds->shelf_bounds_in_root.set_x( 867 target_bounds->shelf_bounds_in_root.set_x(
858 available_bounds.right() - shelf_width); 868 available_bounds.right() - shelf_width);
859 } 869 }
860 870
861 // The statusbar should be in the center of the shelf. 871 if (ash::switches::UseAlternateShelfLayout()) {
862 gfx::Rect status_x = target_bounds->shelf_bounds_in_root; 872 if (alignment_ == SHELF_ALIGNMENT_RIGHT)
863 status_x.set_x(0); 873 target_bounds->shelf_bounds_in_root.set_x(
864 status_x.ClampToCenteredSize( 874 available_bounds.right() - shelf_width + kStatusAreaInset);
Mr4D (OOO till 08-26) 2013/08/06 21:10:34 Sorry for this nit but: since the term spans two l
Harry McCleave 2013/08/06 22:41:06 Done.
865 target_bounds->status_bounds_in_shelf.size()); 875 else
866 target_bounds->status_bounds_in_shelf.set_x(status_x.x()); 876 target_bounds->shelf_bounds_in_root.set_x(kStatusAreaInset);
877 } else {
878 // The statusbar should be in the center of the shelf.
879 gfx::Rect status_x = target_bounds->shelf_bounds_in_root;
880 status_x.set_x(0);
881 status_x.ClampToCenteredSize(
882 target_bounds->status_bounds_in_shelf.size());
883 target_bounds->status_bounds_in_shelf.set_x(status_x.x());
884 }
867 } 885 }
868 } 886 }
869 887
870 void ShelfLayoutManager::UpdateShelfBackground( 888 void ShelfLayoutManager::UpdateShelfBackground(
871 BackgroundAnimator::ChangeType type) { 889 BackgroundAnimator::ChangeType type) {
872 shelf_->SetPaintsBackground(GetShelfBackgroundType(), type); 890 shelf_->SetPaintsBackground(GetShelfBackgroundType(), type);
873 } 891 }
874 892
875 ShelfBackgroundType ShelfLayoutManager::GetShelfBackgroundType() const { 893 ShelfBackgroundType ShelfLayoutManager::GetShelfBackgroundType() const {
876 if (state_.visibility_state != SHELF_AUTO_HIDE && 894 if (state_.visibility_state != SHELF_AUTO_HIDE &&
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
1020 return gfx::Insets(0, distance, 0, 0); 1038 return gfx::Insets(0, distance, 0, 0);
1021 case SHELF_ALIGNMENT_TOP: 1039 case SHELF_ALIGNMENT_TOP:
1022 return gfx::Insets(0, 0, distance, 0); 1040 return gfx::Insets(0, 0, distance, 0);
1023 } 1041 }
1024 NOTREACHED(); 1042 NOTREACHED();
1025 return gfx::Insets(); 1043 return gfx::Insets();
1026 } 1044 }
1027 1045
1028 } // namespace internal 1046 } // namespace internal
1029 } // namespace ash 1047 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698