| OLD | NEW |
| 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 <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 const int kBlockSize = 64; | 24 const int kBlockSize = 64; |
| 25 | 25 |
| 26 const int kAnimationDurationInMs = 600; | 26 const int kAnimationDurationInMs = 600; |
| 27 const float kAnimationOpacity[] = { 0.4f, 0.8f, 0.4f }; | 27 const float kAnimationOpacity[] = { 0.4f, 0.8f, 0.4f }; |
| 28 const float kAnimationScale[] = { 0.8f, 1.0f, 0.8f }; | 28 const float kAnimationScale[] = { 0.8f, 1.0f, 0.8f }; |
| 29 | 29 |
| 30 void SchedulePulsingAnimation(ui::Layer* layer) { | 30 void SchedulePulsingAnimation(ui::Layer* layer) { |
| 31 DCHECK(layer); | 31 DCHECK(layer); |
| 32 DCHECK_EQ(arraysize(kAnimationOpacity), arraysize(kAnimationScale)); | 32 DCHECK_EQ(arraysize(kAnimationOpacity), arraysize(kAnimationScale)); |
| 33 | 33 |
| 34 std::unique_ptr<ui::LayerAnimationSequence> opacity_sequence( | 34 std::unique_ptr<ui::LayerAnimationSequence> opacity_sequence = |
| 35 new ui::LayerAnimationSequence()); | 35 base::MakeUnique<ui::LayerAnimationSequence>(); |
| 36 std::unique_ptr<ui::LayerAnimationSequence> transform_sequence( | 36 std::unique_ptr<ui::LayerAnimationSequence> transform_sequence = |
| 37 new ui::LayerAnimationSequence()); | 37 base::MakeUnique<ui::LayerAnimationSequence>(); |
| 38 | 38 |
| 39 // The animations loop infinitely. | 39 // The animations loop infinitely. |
| 40 opacity_sequence->set_is_cyclic(true); | 40 opacity_sequence->set_is_cyclic(true); |
| 41 transform_sequence->set_is_cyclic(true); | 41 transform_sequence->set_is_cyclic(true); |
| 42 | 42 |
| 43 const gfx::Rect local_bounds(layer->bounds().size()); | 43 const gfx::Rect local_bounds(layer->bounds().size()); |
| 44 for (size_t i = 0; i < arraysize(kAnimationOpacity); ++i) { | 44 for (size_t i = 0; i < arraysize(kAnimationOpacity); ++i) { |
| 45 opacity_sequence->AddElement( | 45 opacity_sequence->AddElement( |
| 46 ui::LayerAnimationElement::CreateOpacityElement( | 46 ui::LayerAnimationElement::CreateOpacityElement( |
| 47 kAnimationOpacity[i], | 47 kAnimationOpacity[i], |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 92 SchedulePulsingAnimation(layer()); | 92 SchedulePulsingAnimation(layer()); |
| 93 } | 93 } |
| 94 | 94 |
| 95 void PulsingBlockView::OnPaint(gfx::Canvas* canvas) { | 95 void PulsingBlockView::OnPaint(gfx::Canvas* canvas) { |
| 96 gfx::Rect rect(GetContentsBounds()); | 96 gfx::Rect rect(GetContentsBounds()); |
| 97 rect.ClampToCenteredSize(gfx::Size(kBlockSize, kBlockSize)); | 97 rect.ClampToCenteredSize(gfx::Size(kBlockSize, kBlockSize)); |
| 98 canvas->FillRect(rect, kBlockColor); | 98 canvas->FillRect(rect, kBlockColor); |
| 99 } | 99 } |
| 100 | 100 |
| 101 } // namespace app_list | 101 } // namespace app_list |
| OLD | NEW |