diff options
Diffstat (limited to 'chromium/ash/system/brightness_control_delegate.h')
-rw-r--r-- | chromium/ash/system/brightness_control_delegate.h | 39 |
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_ |