1// Copyright (c) 2012 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
5#ifndef ASH_HIGH_CONTRAST_HIGH_CONTRAST_CONTROLLER_H_
6#define ASH_HIGH_CONTRAST_HIGH_CONTRAST_CONTROLLER_H_
7
8#include "ash/ash_export.h"
9#include "base/basictypes.h"
10
11namespace aura {
12class RootWindow;
13class Window;
14}
15
16namespace ash {
17
18class ASH_EXPORT HighContrastController {
19 public:
20  HighContrastController();
21
22  ~HighContrastController() {}
23
24  // Set high contrast mode and update all available displays.
25  void SetEnabled(bool enabled);
26
27  // Update high contrast mode on the just added display.
28  void OnRootWindowAdded(aura::Window* root_window);
29
30 private:
31  // Update high contrast mode on the passed display.
32  void UpdateDisplay(aura::Window* root_window);
33
34  // Indicates if the high contrast mode is enabled or disabled.
35  bool enabled_;
36
37  DISALLOW_COPY_AND_ASSIGN(HighContrastController);
38};
39
40}  // namespace ash
41
42#endif  // ASH_HIGH_CONTRAST_HIGH_CONTRAST_CONTROLLER_H_
43