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

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

Issue 2550933002: Make all LayerAnimationElement::Create*Element return unique_ptr (Closed)
Patch Set: Complete inclusion Created 4 years 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 "ui/app_list/views/pulsing_block_view.h" 5 #include "ui/app_list/views/pulsing_block_view.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory>
9 #include <vector> 10 #include <vector>
10 11
11 #include "base/macros.h" 12 #include "base/macros.h"
13 #include "base/memory/ptr_util.h"
12 #include "base/rand_util.h" 14 #include "base/rand_util.h"
13 #include "third_party/skia/include/core/SkColor.h" 15 #include "third_party/skia/include/core/SkColor.h"
14 #include "ui/compositor/layer.h" 16 #include "ui/compositor/layer.h"
15 #include "ui/compositor/layer_animation_element.h" 17 #include "ui/compositor/layer_animation_element.h"
16 #include "ui/compositor/layer_animation_sequence.h" 18 #include "ui/compositor/layer_animation_sequence.h"
17 #include "ui/compositor/layer_animator.h" 19 #include "ui/compositor/layer_animator.h"
18 #include "ui/gfx/canvas.h" 20 #include "ui/gfx/canvas.h"
19 #include "ui/gfx/transform_util.h" 21 #include "ui/gfx/transform_util.h"
20 22
21 namespace { 23 namespace {
22 24
23 const SkColor kBlockColor = SkColorSetRGB(225, 225, 225); 25 const SkColor kBlockColor = SkColorSetRGB(225, 225, 225);
24 const int kBlockSize = 64; 26 const int kBlockSize = 64;
25 27
26 const int kAnimationDurationInMs = 600; 28 const int kAnimationDurationInMs = 600;
27 const float kAnimationOpacity[] = { 0.4f, 0.8f, 0.4f }; 29 const float kAnimationOpacity[] = { 0.4f, 0.8f, 0.4f };
28 const float kAnimationScale[] = { 0.8f, 1.0f, 0.8f }; 30 const float kAnimationScale[] = { 0.8f, 1.0f, 0.8f };
29 31
30 void SchedulePulsingAnimation(ui::Layer* layer) { 32 void SchedulePulsingAnimation(ui::Layer* layer) {
31 DCHECK(layer); 33 DCHECK(layer);
32 DCHECK_EQ(arraysize(kAnimationOpacity), arraysize(kAnimationScale)); 34 DCHECK_EQ(arraysize(kAnimationOpacity), arraysize(kAnimationScale));
33 35
34 std::unique_ptr<ui::LayerAnimationSequence> opacity_sequence( 36 std::unique_ptr<ui::LayerAnimationSequence> opacity_sequence =
35 new ui::LayerAnimationSequence()); 37 base::MakeUnique<ui::LayerAnimationSequence>();
36 std::unique_ptr<ui::LayerAnimationSequence> transform_sequence( 38 std::unique_ptr<ui::LayerAnimationSequence> transform_sequence =
37 new ui::LayerAnimationSequence()); 39 base::MakeUnique<ui::LayerAnimationSequence>();
38 40
39 // The animations loop infinitely. 41 // The animations loop infinitely.
40 opacity_sequence->set_is_cyclic(true); 42 opacity_sequence->set_is_cyclic(true);
41 transform_sequence->set_is_cyclic(true); 43 transform_sequence->set_is_cyclic(true);
42 44
43 const gfx::Rect local_bounds(layer->bounds().size()); 45 const gfx::Rect local_bounds(layer->bounds().size());
44 for (size_t i = 0; i < arraysize(kAnimationOpacity); ++i) { 46 for (size_t i = 0; i < arraysize(kAnimationOpacity); ++i) {
45 opacity_sequence->AddElement( 47 opacity_sequence->AddElement(
46 ui::LayerAnimationElement::CreateOpacityElement( 48 ui::LayerAnimationElement::CreateOpacityElement(
47 kAnimationOpacity[i], 49 kAnimationOpacity[i],
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 SchedulePulsingAnimation(layer()); 94 SchedulePulsingAnimation(layer());
93 } 95 }
94 96
95 void PulsingBlockView::OnPaint(gfx::Canvas* canvas) { 97 void PulsingBlockView::OnPaint(gfx::Canvas* canvas) {
96 gfx::Rect rect(GetContentsBounds()); 98 gfx::Rect rect(GetContentsBounds());
97 rect.ClampToCenteredSize(gfx::Size(kBlockSize, kBlockSize)); 99 rect.ClampToCenteredSize(gfx::Size(kBlockSize, kBlockSize));
98 canvas->FillRect(rect, kBlockColor); 100 canvas->FillRect(rect, kBlockColor);
99 } 101 }
100 102
101 } // namespace app_list 103 } // namespace app_list
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698