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

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

Issue 2899253002: chromeos: Rename ash::WmShelf to Shelf (Closed)
Patch Set: cleanup Created 3 years, 7 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/app_list_button.h" 5 #include "ash/shelf/app_list_button.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "ash/public/cpp/shelf_types.h" 10 #include "ash/public/cpp/shelf_types.h"
11 #include "ash/shelf/ink_drop_button_listener.h" 11 #include "ash/shelf/ink_drop_button_listener.h"
12 #include "ash/shelf/shelf.h"
12 #include "ash/shelf/shelf_constants.h" 13 #include "ash/shelf/shelf_constants.h"
13 #include "ash/shelf/shelf_view.h" 14 #include "ash/shelf/shelf_view.h"
14 #include "ash/shelf/wm_shelf.h"
15 #include "ash/shell.h" 15 #include "ash/shell.h"
16 #include "ash/strings/grit/ash_strings.h" 16 #include "ash/strings/grit/ash_strings.h"
17 #include "ash/system/tray/tray_popup_utils.h" 17 #include "ash/system/tray/tray_popup_utils.h"
18 #include "base/command_line.h" 18 #include "base/command_line.h"
19 #include "base/memory/ptr_util.h" 19 #include "base/memory/ptr_util.h"
20 #include "chromeos/chromeos_switches.h" 20 #include "chromeos/chromeos_switches.h"
21 #include "ui/accessibility/ax_node_data.h" 21 #include "ui/accessibility/ax_node_data.h"
22 #include "ui/app_list/presenter/app_list.h" 22 #include "ui/app_list/presenter/app_list.h"
23 #include "ui/base/l10n/l10n_util.h" 23 #include "ui/base/l10n/l10n_util.h"
24 #include "ui/gfx/canvas.h" 24 #include "ui/gfx/canvas.h"
25 #include "ui/gfx/scoped_canvas.h" 25 #include "ui/gfx/scoped_canvas.h"
26 #include "ui/views/animation/flood_fill_ink_drop_ripple.h" 26 #include "ui/views/animation/flood_fill_ink_drop_ripple.h"
27 #include "ui/views/animation/ink_drop_impl.h" 27 #include "ui/views/animation/ink_drop_impl.h"
28 #include "ui/views/animation/ink_drop_mask.h" 28 #include "ui/views/animation/ink_drop_mask.h"
29 #include "ui/views/painter.h" 29 #include "ui/views/painter.h"
30 30
31 namespace ash { 31 namespace ash {
32 32
33 AppListButton::AppListButton(InkDropButtonListener* listener, 33 AppListButton::AppListButton(InkDropButtonListener* listener,
34 ShelfView* shelf_view, 34 ShelfView* shelf_view,
35 WmShelf* wm_shelf) 35 Shelf* shelf)
36 : views::ImageButton(nullptr), 36 : views::ImageButton(nullptr),
37 is_showing_app_list_(false), 37 is_showing_app_list_(false),
38 background_color_(kShelfDefaultBaseColor), 38 background_color_(kShelfDefaultBaseColor),
39 listener_(listener), 39 listener_(listener),
40 shelf_view_(shelf_view), 40 shelf_view_(shelf_view),
41 wm_shelf_(wm_shelf) { 41 shelf_(shelf) {
42 DCHECK(listener_); 42 DCHECK(listener_);
43 DCHECK(shelf_view_); 43 DCHECK(shelf_view_);
44 DCHECK(wm_shelf_); 44 DCHECK(shelf_);
45 45
46 SetInkDropMode(InkDropMode::ON_NO_GESTURE_HANDLER); 46 SetInkDropMode(InkDropMode::ON_NO_GESTURE_HANDLER);
47 set_ink_drop_base_color(kShelfInkDropBaseColor); 47 set_ink_drop_base_color(kShelfInkDropBaseColor);
48 set_ink_drop_visible_opacity(kShelfInkDropVisibleOpacity); 48 set_ink_drop_visible_opacity(kShelfInkDropVisibleOpacity);
49 SetAccessibleName( 49 SetAccessibleName(
50 l10n_util::GetStringUTF16(IDS_ASH_SHELF_APP_LIST_LAUNCHER_TITLE)); 50 l10n_util::GetStringUTF16(IDS_ASH_SHELF_APP_LIST_LAUNCHER_TITLE));
51 SetSize(gfx::Size(kShelfSize, kShelfSize)); 51 SetSize(gfx::Size(kShelfSize, kShelfSize));
52 SetFocusPainter(TrayPopupUtils::CreateFocusPainter()); 52 SetFocusPainter(TrayPopupUtils::CreateFocusPainter());
53 set_notify_action(CustomButton::NOTIFY_ON_PRESS); 53 set_notify_action(CustomButton::NOTIFY_ON_PRESS);
54 } 54 }
55 55
56 AppListButton::~AppListButton() {} 56 AppListButton::~AppListButton() {}
57 57
58 void AppListButton::OnAppListShown() { 58 void AppListButton::OnAppListShown() {
59 AnimateInkDrop(views::InkDropState::ACTIVATED, nullptr); 59 AnimateInkDrop(views::InkDropState::ACTIVATED, nullptr);
60 is_showing_app_list_ = true; 60 is_showing_app_list_ = true;
61 wm_shelf_->UpdateAutoHideState(); 61 shelf_->UpdateAutoHideState();
62 } 62 }
63 63
64 void AppListButton::OnAppListDismissed() { 64 void AppListButton::OnAppListDismissed() {
65 AnimateInkDrop(views::InkDropState::DEACTIVATED, nullptr); 65 AnimateInkDrop(views::InkDropState::DEACTIVATED, nullptr);
66 is_showing_app_list_ = false; 66 is_showing_app_list_ = false;
67 wm_shelf_->UpdateAutoHideState(); 67 shelf_->UpdateAutoHideState();
68 } 68 }
69 69
70 void AppListButton::UpdateShelfItemBackground(SkColor color) { 70 void AppListButton::UpdateShelfItemBackground(SkColor color) {
71 background_color_ = color; 71 background_color_ = color;
72 SchedulePaint(); 72 SchedulePaint();
73 } 73 }
74 74
75 void AppListButton::OnGestureEvent(ui::GestureEvent* event) { 75 void AppListButton::OnGestureEvent(ui::GestureEvent* event) {
76 switch (event->type()) { 76 switch (event->type()) {
77 case ui::ET_GESTURE_SCROLL_BEGIN: 77 case ui::ET_GESTURE_SCROLL_BEGIN:
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 } 221 }
222 222
223 gfx::Point AppListButton::GetCenterPoint() const { 223 gfx::Point AppListButton::GetCenterPoint() const {
224 // For a bottom-aligned shelf, the button bounds could have a larger height 224 // For a bottom-aligned shelf, the button bounds could have a larger height
225 // than width (in the case of touch-dragging the shelf updwards) or a larger 225 // than width (in the case of touch-dragging the shelf updwards) or a larger
226 // width than height (in the case of a shelf hide/show animation), so adjust 226 // width than height (in the case of a shelf hide/show animation), so adjust
227 // the y-position of the circle's center to ensure correct layout. Similarly 227 // the y-position of the circle's center to ensure correct layout. Similarly
228 // adjust the x-position for a left- or right-aligned shelf. 228 // adjust the x-position for a left- or right-aligned shelf.
229 const int x_mid = width() / 2.f; 229 const int x_mid = width() / 2.f;
230 const int y_mid = height() / 2.f; 230 const int y_mid = height() / 2.f;
231 ShelfAlignment alignment = wm_shelf_->GetAlignment(); 231 ShelfAlignment alignment = shelf_->alignment();
232 if (alignment == SHELF_ALIGNMENT_BOTTOM || 232 if (alignment == SHELF_ALIGNMENT_BOTTOM ||
233 alignment == SHELF_ALIGNMENT_BOTTOM_LOCKED) { 233 alignment == SHELF_ALIGNMENT_BOTTOM_LOCKED) {
234 return gfx::Point(x_mid, x_mid); 234 return gfx::Point(x_mid, x_mid);
235 } else if (alignment == SHELF_ALIGNMENT_RIGHT) { 235 } else if (alignment == SHELF_ALIGNMENT_RIGHT) {
236 return gfx::Point(y_mid, y_mid); 236 return gfx::Point(y_mid, y_mid);
237 } else { 237 } else {
238 DCHECK_EQ(alignment, SHELF_ALIGNMENT_LEFT); 238 DCHECK_EQ(alignment, SHELF_ALIGNMENT_LEFT);
239 return gfx::Point(width() - y_mid, y_mid); 239 return gfx::Point(width() - y_mid, y_mid);
240 } 240 }
241 } 241 }
242 242
243 } // namespace ash 243 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698