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.
5 #include "ash/high_contrast/high_contrast_controller.h"
8 #include "ui/aura/window_event_dispatcher.h"
9 #include "ui/compositor/layer.h"
13 HighContrastController::HighContrastController()
15 Shell::GetInstance()->AddShellObserver(this);
18 HighContrastController::~HighContrastController() {
19 Shell::GetInstance()->RemoveShellObserver(this);
22 void HighContrastController::SetEnabled(bool enabled
) {
25 // Update all active displays.
26 aura::Window::Windows root_window_list
= Shell::GetAllRootWindows();
27 for (aura::Window::Windows::iterator it
= root_window_list
.begin();
28 it
!= root_window_list
.end(); it
++) {
33 void HighContrastController::UpdateDisplay(aura::Window
* root_window
) {
34 root_window
->layer()->SetLayerInverted(enabled_
);
37 void HighContrastController::OnRootWindowAdded(aura::Window
* root_window
) {
38 UpdateDisplay(root_window
);