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