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

Side by Side Diff: ui/app_list/views/all_apps_tile_item_view.cc

Issue 2898743002: Draggable peeking/fullscreen launcher with transparent background. (Closed)
Patch Set: Rebased to fix merge conflicts and addressed comments. Created 3 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
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 "ui/app_list/views/all_apps_tile_item_view.h" 5 #include "ui/app_list/views/all_apps_tile_item_view.h"
6 6
7 #include "base/metrics/histogram_macros.h" 7 #include "base/metrics/histogram_macros.h"
8 #include "ui/app_list/app_list_constants.h" 8 #include "ui/app_list/app_list_constants.h"
9 #include "ui/app_list/app_list_features.h"
9 #include "ui/app_list/resources/grit/app_list_resources.h" 10 #include "ui/app_list/resources/grit/app_list_resources.h"
11 #include "ui/app_list/views/app_list_view.h"
10 #include "ui/app_list/views/contents_view.h" 12 #include "ui/app_list/views/contents_view.h"
11 #include "ui/base/l10n/l10n_util.h" 13 #include "ui/base/l10n/l10n_util.h"
12 #include "ui/base/resource/resource_bundle.h" 14 #include "ui/base/resource/resource_bundle.h"
13 #include "ui/gfx/canvas.h" 15 #include "ui/gfx/canvas.h"
14 #include "ui/gfx/image/canvas_image_source.h" 16 #include "ui/gfx/image/canvas_image_source.h"
15 #include "ui/resources/grit/ui_resources.h" 17 #include "ui/resources/grit/ui_resources.h"
16 #include "ui/strings/grit/ui_strings.h" 18 #include "ui/strings/grit/ui_strings.h"
19 #include "ui/views/widget/widget.h"
xiyuan 2017/05/30 22:18:50 nit: unused ?
newcomer 2017/06/01 01:42:54 Done.
17 20
18 namespace app_list { 21 namespace app_list {
19 22
20 namespace { 23 namespace {
21 24
22 class AllAppsImageSource : public gfx::CanvasImageSource { 25 class AllAppsImageSource : public gfx::CanvasImageSource {
23 public: 26 public:
24 AllAppsImageSource(const gfx::ImageSkia& icon, const gfx::Size& size) 27 AllAppsImageSource(const gfx::ImageSkia& icon, const gfx::Size& size)
25 : gfx::CanvasImageSource(size, false), icon_(icon) {} 28 : gfx::CanvasImageSource(size, false), icon_(icon) {}
26 ~AllAppsImageSource() override {} 29 ~AllAppsImageSource() override {}
27 30
28 private: 31 private:
29 // gfx::CanvasImageSource override: 32 // gfx::CanvasImageSource override:
30 void Draw(gfx::Canvas* canvas) override { 33 void Draw(gfx::Canvas* canvas) override {
31 canvas->DrawImageInt(icon_, (size().width() - icon_.size().width()) / 2, 34 canvas->DrawImageInt(icon_, (size().width() - icon_.size().width()) / 2,
32 (size().height() - icon_.size().height()) / 2); 35 (size().height() - icon_.size().height()) / 2);
33 } 36 }
34 37
35 gfx::ImageSkia icon_; 38 gfx::ImageSkia icon_;
36 39
37 DISALLOW_COPY_AND_ASSIGN(AllAppsImageSource); 40 DISALLOW_COPY_AND_ASSIGN(AllAppsImageSource);
38 }; 41 };
39 42
40 } // namespace 43 } // namespace
41 44
42 AllAppsTileItemView::AllAppsTileItemView(ContentsView* contents_view) 45 AllAppsTileItemView::AllAppsTileItemView(ContentsView* contents_view,
43 : contents_view_(contents_view) { 46 AppListView* app_list_view)
47 : contents_view_(contents_view), app_list_view_(app_list_view) {
44 SetTitle(l10n_util::GetStringUTF16(IDS_APP_LIST_ALL_APPS)); 48 SetTitle(l10n_util::GetStringUTF16(IDS_APP_LIST_ALL_APPS));
45 SetHoverStyle(TileItemView::HOVER_STYLE_ANIMATE_SHADOW); 49 SetHoverStyle(TileItemView::HOVER_STYLE_ANIMATE_SHADOW);
46 UpdateIcon(); 50 UpdateIcon();
47 } 51 }
48 52
49 AllAppsTileItemView::~AllAppsTileItemView() { 53 AllAppsTileItemView::~AllAppsTileItemView() {
50 } 54 }
51 55
52 void AllAppsTileItemView::UpdateIcon() { 56 void AllAppsTileItemView::UpdateIcon() {
53 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 57 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
54 gfx::Size canvas_size = gfx::Size(kTileIconSize, kTileIconSize); 58 gfx::Size canvas_size = gfx::Size(kTileIconSize, kTileIconSize);
55 AllAppsImageSource* source = new AllAppsImageSource( 59 AllAppsImageSource* source = new AllAppsImageSource(
56 *rb.GetImageNamed(IDR_ALL_APPS_DROP_DOWN).ToImageSkia(), canvas_size); 60 *rb.GetImageNamed(IDR_ALL_APPS_DROP_DOWN).ToImageSkia(), canvas_size);
57 gfx::ImageSkia image(source, canvas_size); 61 gfx::ImageSkia image(source, canvas_size);
58 62
59 SetIcon(image); 63 SetIcon(image);
60 } 64 }
61 65
62 void AllAppsTileItemView::ButtonPressed(views::Button* sender, 66 void AllAppsTileItemView::ButtonPressed(views::Button* sender,
63 const ui::Event& event) { 67 const ui::Event& event) {
64 UMA_HISTOGRAM_ENUMERATION(kPageOpenedHistogram, AppListModel::STATE_APPS, 68 UMA_HISTOGRAM_ENUMERATION(kPageOpenedHistogram, AppListModel::STATE_APPS,
65 AppListModel::STATE_LAST); 69 AppListModel::STATE_LAST);
66 70
67 contents_view_->SetActiveState(AppListModel::STATE_APPS); 71 contents_view_->SetActiveState(AppListModel::STATE_APPS);
72 if (features::IsFullscreenAppListEnabled())
73 app_list_view_->ToFullscreen();
68 } 74 }
69 75
70 } // namespace app_list 76 } // namespace app_list
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698