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

Unified Diff: athena/system/power_button_controller.h

Issue 451753002: Add fade to white animation when power button is pressed on Athena (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: athena/system/power_button_controller.h
diff --git a/athena/system/power_button_controller.h b/athena/system/power_button_controller.h
index 69fa9a8ac71538b4971a2539cebd03a058bf25ec..0d4bd0e50b609069573f45c7df9a08bab221681d 100644
--- a/athena/system/power_button_controller.h
+++ b/athena/system/power_button_controller.h
@@ -5,31 +5,52 @@
#ifndef ATHENA_SYSTEM_POWER_BUTTON_CONTROLLER_H_
#define ATHENA_SYSTEM_POWER_BUTTON_CONTROLLER_H_
+#include "base/time/time.h"
#include "chromeos/dbus/power_manager_client.h"
+#include "ui/compositor/layer_animation_observer.h"
+#include "ui/gfx/animation/tween.h"
namespace athena {
// Shuts down in response to the power button being pressed.
-class PowerButtonController : public chromeos::PowerManagerClient::Observer {
+class PowerButtonController : public chromeos::PowerManagerClient::Observer,
+ public ui::ImplicitAnimationObserver {
public:
PowerButtonController();
virtual ~PowerButtonController();
+ private:
+ enum State {
+ // The screen is animating prior to shutdown. Shutdown can be canceled.
+ STATE_PRE_SHUTDOWN_ANIMATION,
+
+ // A D-Bus shutdown request has been sent. Shutdown cannot be canceled.
+ STATE_SHUTDOWN_REQUESTED,
+
+ STATE_OTHER
+ };
+
+ // Animates the screen's grayscale and brightness to |target|.
+ void StartGrayscaleAndBrightnessAnimation(float target,
+ int duration_ms,
+ gfx::Tween::Type tween_type);
+
// chromeos::PowerManagerClient::Observer:
virtual void BrightnessChanged(int level, bool user_initiated) OVERRIDE;
virtual void PowerButtonEventReceived(
bool down,
const base::TimeTicks& timestamp) OVERRIDE;
- private:
+ // ui::ImplicitAnimationObserver:
+ virtual void OnImplicitAnimationsCompleted() OVERRIDE;
+
// Whether the screen brightness was reduced to 0%.
bool brightness_is_zero_;
// The last time at which the screen brightness was 0%.
base::TimeTicks zero_brightness_end_time_;
- // Whether shutdown was requested.
- bool shutdown_requested_;
+ State state_;
DISALLOW_COPY_AND_ASSIGN(PowerButtonController);
};

Powered by Google App Engine
This is Rietveld 408576698