Index: ui/message_center/views/notification_progress_bar.cc |
diff --git a/ui/message_center/views/notification_progress_bar.cc b/ui/message_center/views/notification_progress_bar.cc |
deleted file mode 100644 |
index b5f013eb188433de1c26e1d34a3fc7e635ebb38f..0000000000000000000000000000000000000000 |
--- a/ui/message_center/views/notification_progress_bar.cc |
+++ /dev/null |
@@ -1,185 +0,0 @@ |
-// Copyright 2015 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "ui/message_center/views/notification_progress_bar.h" |
- |
-#include "third_party/skia/include/core/SkPaint.h" |
-#include "third_party/skia/include/core/SkPath.h" |
-#include "ui/gfx/canvas.h" |
-#include "ui/message_center/message_center_style.h" |
- |
-namespace { |
- |
-// Dimensions. |
-const int kProgressBarWidth = message_center::kNotificationWidth - |
- message_center::kTextLeftPadding - message_center::kTextRightPadding; |
- |
-const int kAnimationFrameRateHz = 60; |
- |
-const int kAnimationDuration = 2000; // In millisecond |
- |
-} // namespace |
- |
-namespace message_center { |
- |
-// NotificationProgressBarBase ///////////////////////////////////////////////// |
- |
-gfx::Size NotificationProgressBarBase::GetPreferredSize() const { |
- gfx::Size pref_size(kProgressBarWidth, message_center::kProgressBarThickness); |
- gfx::Insets insets = GetInsets(); |
- pref_size.Enlarge(insets.width(), insets.height()); |
- return pref_size; |
-} |
- |
-// NotificationProgressBar ///////////////////////////////////////////////////// |
- |
-NotificationProgressBar::NotificationProgressBar() { |
-} |
- |
-NotificationProgressBar::~NotificationProgressBar() { |
-} |
- |
-bool NotificationProgressBar::is_indeterminate() { |
- return false; |
-} |
- |
-void NotificationProgressBar::OnPaint(gfx::Canvas* canvas) { |
- gfx::Rect content_bounds = GetContentsBounds(); |
- |
- // Draw background. |
- SkPath background_path; |
- background_path.addRoundRect(gfx::RectToSkRect(content_bounds), |
- message_center::kProgressBarCornerRadius, |
- message_center::kProgressBarCornerRadius); |
- SkPaint background_paint; |
- background_paint.setStyle(SkPaint::kFill_Style); |
- background_paint.setFlags(SkPaint::kAntiAlias_Flag); |
- background_paint.setColor(message_center::kProgressBarBackgroundColor); |
- canvas->DrawPath(background_path, background_paint); |
- |
- // Draw slice. |
- SkPath slice_path; |
- const int slice_width = |
- static_cast<int>(content_bounds.width() * GetNormalizedValue() + 0.5); |
- if (slice_width < 1) |
- return; |
- |
- gfx::Rect slice_bounds = content_bounds; |
- slice_bounds.set_width(slice_width); |
- slice_path.addRoundRect(gfx::RectToSkRect(slice_bounds), |
- message_center::kProgressBarCornerRadius, |
- message_center::kProgressBarCornerRadius); |
- |
- SkPaint slice_paint; |
- slice_paint.setStyle(SkPaint::kFill_Style); |
- slice_paint.setFlags(SkPaint::kAntiAlias_Flag); |
- slice_paint.setColor(message_center::kProgressBarSliceColor); |
- canvas->DrawPath(slice_path, slice_paint); |
-} |
- |
-// NotificationIndeteminateProgressBar ///////////////////////////////////////// |
- |
-NotificationIndeterminateProgressBar::NotificationIndeterminateProgressBar() { |
- indeterminate_bar_animation_.reset( |
- new gfx::LinearAnimation(kAnimationFrameRateHz, this)); |
- indeterminate_bar_animation_->SetDuration(kAnimationDuration); |
- indeterminate_bar_animation_->Start(); |
-} |
- |
-NotificationIndeterminateProgressBar::~NotificationIndeterminateProgressBar() { |
- indeterminate_bar_animation_->Stop(); // Just in case |
-} |
- |
-bool NotificationIndeterminateProgressBar::is_indeterminate() { |
- return true; |
-} |
- |
-void NotificationIndeterminateProgressBar::OnPaint(gfx::Canvas* canvas) { |
- gfx::Rect content_bounds = GetContentsBounds(); |
- |
- // Draw background. |
- SkPath background_path; |
- background_path.addRoundRect(gfx::RectToSkRect(content_bounds), |
- message_center::kProgressBarCornerRadius, |
- message_center::kProgressBarCornerRadius); |
- SkPaint background_paint; |
- background_paint.setStyle(SkPaint::kFill_Style); |
- background_paint.setFlags(SkPaint::kAntiAlias_Flag); |
- background_paint.setColor(message_center::kProgressBarBackgroundColor); |
- canvas->DrawPath(background_path, background_paint); |
- |
- // Draw slice. |
- SkPath slice_path; |
- double time = indeterminate_bar_animation_->GetCurrentValue(); |
- |
- // The animation spec corresponds to the material design lite's parameter. |
- // (cf. https://github.com/google/material-design-lite/) |
- double bar1_left; |
- double bar1_width; |
- double bar2_left; |
- double bar2_width; |
- if (time < 0.50) { |
- bar1_left = time / 2; |
- bar1_width = time * 1.5; |
- bar2_left = 0; |
- bar2_width = 0; |
- } else if (time < 0.75) { |
- bar1_left = time * 3 - 1.25; |
- bar1_width = 0.75 - (time - 0.5) * 3; |
- bar2_left = 0; |
- bar2_width = time - 0.5; |
- } else { |
- bar1_left = 1; |
- bar1_width = 0; |
- bar2_left = (time - 0.75) * 4; |
- bar2_width = 0.25 - (time - 0.75); |
- } |
- |
- int bar1_x = static_cast<int>(content_bounds.width() * bar1_left); |
- int bar1_w = |
- std::min(static_cast<int>(content_bounds.width() * bar1_width + 0.5), |
- content_bounds.width() - bar1_x); |
- int bar2_x = static_cast<int>(content_bounds.width() * bar2_left); |
- int bar2_w = |
- std::min(static_cast<int>(content_bounds.width() * bar2_width + 0.5), |
- content_bounds.width() - bar2_x); |
- |
- |
- gfx::Rect slice_bounds = content_bounds; |
- slice_bounds.set_x(content_bounds.x() + bar1_x); |
- slice_bounds.set_width(bar1_w); |
- slice_path.addRoundRect(gfx::RectToSkRect(slice_bounds), |
- message_center::kProgressBarCornerRadius, |
- message_center::kProgressBarCornerRadius); |
- slice_bounds.set_x(content_bounds.x() + bar2_x); |
- slice_bounds.set_width(bar2_w); |
- slice_path.addRoundRect(gfx::RectToSkRect(slice_bounds), |
- message_center::kProgressBarCornerRadius, |
- message_center::kProgressBarCornerRadius); |
- |
- SkPaint slice_paint; |
- slice_paint.setStyle(SkPaint::kFill_Style); |
- slice_paint.setFlags(SkPaint::kAntiAlias_Flag); |
- slice_paint.setColor(message_center::kProgressBarSliceColor); |
- canvas->DrawPath(slice_path, slice_paint); |
-} |
- |
-void NotificationIndeterminateProgressBar::AnimationProgressed( |
- const gfx::Animation* animation) { |
- if (animation == indeterminate_bar_animation_.get()) { |
- DCHECK(indeterminate_bar_animation_); |
- SchedulePaint(); |
- } |
-} |
- |
-void NotificationIndeterminateProgressBar::AnimationEnded( |
- const gfx::Animation* animation) { |
- // Restarts animation. |
- if (animation == indeterminate_bar_animation_.get()) { |
- DCHECK(indeterminate_bar_animation_); |
- indeterminate_bar_animation_->Start(); |
- } |
-} |
- |
-} // namespace message_center |