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

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

Issue 2095193002: clang-format all of //ash (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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
« no previous file with comments | « ash/shelf/overflow_bubble.cc ('k') | ash/shelf/scoped_observer_with_duplicated_sources.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 "ash/shelf/overflow_bubble_view.h" 5 #include "ash/shelf/overflow_bubble_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "ash/common/material_design/material_design_controller.h" 9 #include "ash/common/material_design/material_design_controller.h"
10 #include "ash/common/shelf/shelf_constants.h" 10 #include "ash/common/shelf/shelf_constants.h"
(...skipping 29 matching lines...) Expand all
40 40
41 void OverflowBubbleView::InitOverflowBubble(views::View* anchor, 41 void OverflowBubbleView::InitOverflowBubble(views::View* anchor,
42 ShelfView* shelf_view) { 42 ShelfView* shelf_view) {
43 shelf_view_ = shelf_view; 43 shelf_view_ = shelf_view;
44 44
45 SetAnchorView(anchor); 45 SetAnchorView(anchor);
46 set_arrow(GetBubbleArrow()); 46 set_arrow(GetBubbleArrow());
47 set_mirror_arrow_in_rtl(false); 47 set_mirror_arrow_in_rtl(false);
48 set_background(NULL); 48 set_background(NULL);
49 SkColor color = MaterialDesignController::IsShelfMaterial() 49 SkColor color = MaterialDesignController::IsShelfMaterial()
50 ? kShelfBaseColor 50 ? kShelfBaseColor
51 : SkColorSetA(kShelfBaseColor, GetShelfConstant(SHELF_BACKGROUND_ALPHA)); 51 : SkColorSetA(kShelfBaseColor,
52 GetShelfConstant(SHELF_BACKGROUND_ALPHA));
52 set_color(color); 53 set_color(color);
53 set_margins(gfx::Insets(kPadding, kPadding, kPadding, kPadding)); 54 set_margins(gfx::Insets(kPadding, kPadding, kPadding, kPadding));
54 // Overflow bubble should not get focus. If it get focus when it is shown, 55 // Overflow bubble should not get focus. If it get focus when it is shown,
55 // active state item is changed to running state. 56 // active state item is changed to running state.
56 set_can_activate(false); 57 set_can_activate(false);
57 58
58 // Makes bubble view has a layer and clip its children layers. 59 // Makes bubble view has a layer and clip its children layers.
59 SetPaintToLayer(true); 60 SetPaintToLayer(true);
60 layer()->SetFillsBoundsOpaquely(false); 61 layer()->SetFillsBoundsOpaquely(false);
61 layer()->SetMasksToBounds(true); 62 layer()->SetMasksToBounds(true);
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 107
107 gfx::Size OverflowBubbleView::GetPreferredSize() const { 108 gfx::Size OverflowBubbleView::GetPreferredSize() const {
108 gfx::Size preferred_size = GetContentsSize(); 109 gfx::Size preferred_size = GetContentsSize();
109 110
110 const gfx::Rect monitor_rect = 111 const gfx::Rect monitor_rect =
111 display::Screen::GetScreen() 112 display::Screen::GetScreen()
112 ->GetDisplayNearestPoint(GetAnchorRect().CenterPoint()) 113 ->GetDisplayNearestPoint(GetAnchorRect().CenterPoint())
113 .work_area(); 114 .work_area();
114 if (!monitor_rect.IsEmpty()) { 115 if (!monitor_rect.IsEmpty()) {
115 if (IsHorizontalAlignment()) { 116 if (IsHorizontalAlignment()) {
116 preferred_size.set_width(std::min( 117 preferred_size.set_width(
117 preferred_size.width(), 118 std::min(preferred_size.width(),
118 static_cast<int>(monitor_rect.width() * 119 static_cast<int>(monitor_rect.width() *
119 kMaxBubbleSizeToScreenRatio))); 120 kMaxBubbleSizeToScreenRatio)));
120 } else { 121 } else {
121 preferred_size.set_height(std::min( 122 preferred_size.set_height(
122 preferred_size.height(), 123 std::min(preferred_size.height(),
123 static_cast<int>(monitor_rect.height() * 124 static_cast<int>(monitor_rect.height() *
124 kMaxBubbleSizeToScreenRatio))); 125 kMaxBubbleSizeToScreenRatio)));
125 } 126 }
126 } 127 }
127 128
128 return preferred_size; 129 return preferred_size;
129 } 130 }
130 131
131 void OverflowBubbleView::Layout() { 132 void OverflowBubbleView::Layout() {
132 shelf_view_->SetBoundsRect(gfx::Rect( 133 shelf_view_->SetBoundsRect(gfx::Rect(
133 gfx::PointAtOffsetFromOrigin(-scroll_offset_), GetContentsSize())); 134 gfx::PointAtOffsetFromOrigin(-scroll_offset_), GetContentsSize()));
134 } 135 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 } 169 }
169 170
170 int OverflowBubbleView::GetDialogButtons() const { 171 int OverflowBubbleView::GetDialogButtons() const {
171 return ui::DIALOG_BUTTON_NONE; 172 return ui::DIALOG_BUTTON_NONE;
172 } 173 }
173 174
174 gfx::Rect OverflowBubbleView::GetBubbleBounds() { 175 gfx::Rect OverflowBubbleView::GetBubbleBounds() {
175 views::BubbleBorder* border = GetBubbleFrameView()->bubble_border(); 176 views::BubbleBorder* border = GetBubbleFrameView()->bubble_border();
176 gfx::Insets bubble_insets = border->GetInsets(); 177 gfx::Insets bubble_insets = border->GetInsets();
177 178
178 const int border_size = 179 const int border_size = views::BubbleBorder::is_arrow_on_horizontal(arrow())
179 views::BubbleBorder::is_arrow_on_horizontal(arrow()) ? 180 ? bubble_insets.left()
180 bubble_insets.left() : bubble_insets.top(); 181 : bubble_insets.top();
181 const int arrow_offset = border_size + kPadding + kShelfViewLeadingInset + 182 const int arrow_offset = border_size + kPadding + kShelfViewLeadingInset +
182 GetShelfConstant(SHELF_SIZE) / 2; 183 GetShelfConstant(SHELF_SIZE) / 2;
183 184
184 const gfx::Size content_size = GetPreferredSize(); 185 const gfx::Size content_size = GetPreferredSize();
185 border->set_arrow_offset(arrow_offset); 186 border->set_arrow_offset(arrow_offset);
186 187
187 const gfx::Rect anchor_rect = GetAnchorRect(); 188 const gfx::Rect anchor_rect = GetAnchorRect();
188 gfx::Rect bubble_rect = GetBubbleFrameView()->GetUpdatedWindowBounds( 189 gfx::Rect bubble_rect = GetBubbleFrameView()->GetUpdatedWindowBounds(
189 anchor_rect, 190 anchor_rect, content_size, false);
190 content_size,
191 false);
192 191
193 gfx::Rect monitor_rect = 192 gfx::Rect monitor_rect =
194 display::Screen::GetScreen() 193 display::Screen::GetScreen()
195 ->GetDisplayNearestPoint(anchor_rect.CenterPoint()) 194 ->GetDisplayNearestPoint(anchor_rect.CenterPoint())
196 .work_area(); 195 .work_area();
197 196
198 int offset = 0; 197 int offset = 0;
199 if (views::BubbleBorder::is_arrow_on_horizontal(arrow())) { 198 if (views::BubbleBorder::is_arrow_on_horizontal(arrow())) {
200 if (bubble_rect.x() < monitor_rect.x()) 199 if (bubble_rect.x() < monitor_rect.x())
201 offset = monitor_rect.x() - bubble_rect.x(); 200 offset = monitor_rect.x() - bubble_rect.x();
202 else if (bubble_rect.right() > monitor_rect.right()) 201 else if (bubble_rect.right() > monitor_rect.right())
203 offset = monitor_rect.right() - bubble_rect.right(); 202 offset = monitor_rect.right() - bubble_rect.right();
204 203
205 bubble_rect.Offset(offset, 0); 204 bubble_rect.Offset(offset, 0);
206 border->set_arrow_offset(anchor_rect.CenterPoint().x() - bubble_rect.x()); 205 border->set_arrow_offset(anchor_rect.CenterPoint().x() - bubble_rect.x());
207 } else { 206 } else {
208 if (bubble_rect.y() < monitor_rect.y()) 207 if (bubble_rect.y() < monitor_rect.y())
209 offset = monitor_rect.y() - bubble_rect.y(); 208 offset = monitor_rect.y() - bubble_rect.y();
210 else if (bubble_rect.bottom() > monitor_rect.bottom()) 209 else if (bubble_rect.bottom() > monitor_rect.bottom())
211 offset = monitor_rect.bottom() - bubble_rect.bottom(); 210 offset = monitor_rect.bottom() - bubble_rect.bottom();
212 211
213 bubble_rect.Offset(0, offset); 212 bubble_rect.Offset(0, offset);
214 border->set_arrow_offset(anchor_rect.CenterPoint().y() - bubble_rect.y()); 213 border->set_arrow_offset(anchor_rect.CenterPoint().y() - bubble_rect.y());
215 } 214 }
216 215
217 GetBubbleFrameView()->SchedulePaint(); 216 GetBubbleFrameView()->SchedulePaint();
218 return bubble_rect; 217 return bubble_rect;
219 } 218 }
220 219
221 } // namespace ash 220 } // namespace ash
OLDNEW
« no previous file with comments | « ash/shelf/overflow_bubble.cc ('k') | ash/shelf/scoped_observer_with_duplicated_sources.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698