14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#ifndef ASH_SYSTEM_CHROMEOS_BRIGHTNESS_BRIGHTNESS_CONTROLLER_CHROMEOS_H_
64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#define ASH_SYSTEM_CHROMEOS_BRIGHTNESS_BRIGHTNESS_CONTROLLER_CHROMEOS_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "ash/ash_export.h"
94e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "ash/system/brightness_control_delegate.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/compiler_specific.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace ash {
144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace system {
154e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// A class which controls brightness when F6, F7 or a multimedia key for
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// brightness is pressed.
184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)class ASH_EXPORT BrightnessControllerChromeos
194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)    : public ash::BrightnessControlDelegate {
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public:
214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  BrightnessControllerChromeos() {}
224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  virtual ~BrightnessControllerChromeos() {}
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Overridden from ash::BrightnessControlDelegate:
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool HandleBrightnessDown(
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      const ui::Accelerator& accelerator) OVERRIDE;
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual bool HandleBrightnessUp(const ui::Accelerator& accelerator) OVERRIDE;
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void SetBrightnessPercent(double percent, bool gradual) OVERRIDE;
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  virtual void GetBrightnessPercent(
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      const base::Callback<void(double)>& callback) OVERRIDE;
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private:
334e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(BrightnessControllerChromeos);
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
364e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}  // namespace system
374e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}  // namespace ash
384e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
394e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#endif  // ASH_SYSTEM_CHROMEOS_BRIGHTNESS_BRIGHTNESS_CONTROLLER_CHROMEOS_H_
40