summaryrefslogtreecommitdiff
path: root/chromium/ash/system/brightness_control_delegate.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ash/system/brightness_control_delegate.h')
-rw-r--r--chromium/ash/system/brightness_control_delegate.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/chromium/ash/system/brightness_control_delegate.h b/chromium/ash/system/brightness_control_delegate.h
new file mode 100644
index 00000000000..55791ac6bb6
--- /dev/null
+++ b/chromium/ash/system/brightness_control_delegate.h
@@ -0,0 +1,39 @@
+// Copyright 2013 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.
+
+#ifndef ASH_SYSTEM_BRIGHTNESS_CONTROL_DELEGATE_H_
+#define ASH_SYSTEM_BRIGHTNESS_CONTROL_DELEGATE_H_
+
+#include "base/callback.h"
+
+namespace ui {
+class Accelerator;
+} // namespace ui
+
+namespace ash {
+
+// Delegate for controlling the brightness.
+class BrightnessControlDelegate {
+ public:
+ virtual ~BrightnessControlDelegate() {}
+
+ // Handles an accelerator-driven request to decrease or increase the screen
+ // brightness.
+ virtual bool HandleBrightnessDown(const ui::Accelerator& accelerator) = 0;
+ virtual bool HandleBrightnessUp(const ui::Accelerator& accelerator) = 0;
+
+ // Requests that the brightness be set to |percent|, in the range
+ // [0.0, 100.0]. |gradual| specifies whether the transition to the new
+ // brightness should be animated or instantaneous.
+ virtual void SetBrightnessPercent(double percent, bool gradual) = 0;
+
+ // Asynchronously invokes |callback| with the current brightness, in the range
+ // [0.0, 100.0].
+ virtual void GetBrightnessPercent(
+ const base::Callback<void(double)>& callback) = 0;
+};
+
+} // namespace ash
+
+#endif // ASH_SYSTEM_BRIGHTNESS_CONTROL_DELEGATE_H_