progress_ring_indeterminate_animation.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright 2021 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef ASH_SYSTEM_PROGRESS_INDICATOR_PROGRESS_RING_INDETERMINATE_ANIMATION_H_
  5. #define ASH_SYSTEM_PROGRESS_INDICATOR_PROGRESS_RING_INDETERMINATE_ANIMATION_H_
  6. #include "ash/system/progress_indicator/progress_ring_animation.h"
  7. namespace ash {
  8. // An animation for a `ProgressIndicator` to paint an indeterminate progress
  9. // ring in lieu of the determinate progress ring that would otherwise be
  10. // painted.
  11. class ProgressRingIndeterminateAnimation : public ProgressRingAnimation {
  12. public:
  13. ProgressRingIndeterminateAnimation();
  14. ProgressRingIndeterminateAnimation(
  15. const ProgressRingIndeterminateAnimation&) = delete;
  16. ProgressRingIndeterminateAnimation& operator=(
  17. const ProgressRingIndeterminateAnimation&) = delete;
  18. ~ProgressRingIndeterminateAnimation() override;
  19. private:
  20. // ProgressRingAnimation:
  21. void UpdateAnimatableProperties(double fraction,
  22. float* start_value,
  23. float* end_value,
  24. float* outer_ring_opacity) override;
  25. };
  26. } // namespace ash
  27. #endif // ASH_SYSTEM_PROGRESS_INDICATOR_PROGRESS_RING_INDETERMINATE_ANIMATION_H_