Index: ui/gfx/sys_color_change_listener.cc |
diff --git a/ui/gfx/sys_color_change_listener.cc b/ui/gfx/sys_color_change_listener.cc |
deleted file mode 100644 |
index 7f52f89237f98322cf2fd370dd3d5f2349d45f00..0000000000000000000000000000000000000000 |
--- a/ui/gfx/sys_color_change_listener.cc |
+++ /dev/null |
@@ -1,120 +0,0 @@ |
-// Copyright (c) 2012 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. |
- |
-#include "ui/gfx/sys_color_change_listener.h" |
- |
-#if defined(OS_WIN) |
-#include <windows.h> |
-#endif |
- |
-#include "base/basictypes.h" |
-#include "base/memory/singleton.h" |
-#include "base/observer_list.h" |
-#include "ui/gfx/color_utils.h" |
- |
-#if defined(OS_WIN) |
-#include "ui/gfx/win/singleton_hwnd.h" |
-#endif |
- |
-namespace gfx { |
- |
-namespace { |
- |
-bool g_is_inverted_color_scheme = false; |
-bool g_is_inverted_color_scheme_initialized = false; |
- |
-void UpdateInvertedColorScheme() { |
-#if defined(OS_WIN) |
- int foreground_luminance = color_utils::GetLuminanceForColor( |
- color_utils::GetSysSkColor(COLOR_WINDOWTEXT)); |
- int background_luminance = color_utils::GetLuminanceForColor( |
- color_utils::GetSysSkColor(COLOR_WINDOW)); |
- HIGHCONTRAST high_contrast = {0}; |
- high_contrast.cbSize = sizeof(HIGHCONTRAST); |
- g_is_inverted_color_scheme = |
- SystemParametersInfo(SPI_GETHIGHCONTRAST, 0, &high_contrast, 0) && |
- ((high_contrast.dwFlags & HCF_HIGHCONTRASTON) != 0) && |
- foreground_luminance > background_luminance; |
- g_is_inverted_color_scheme_initialized = true; |
-#endif |
-} |
- |
-} // namespace |
- |
-bool IsInvertedColorScheme() { |
- if (!g_is_inverted_color_scheme_initialized) |
- UpdateInvertedColorScheme(); |
- return g_is_inverted_color_scheme; |
-} |
- |
-#if defined(OS_WIN) |
-class SysColorChangeObserver : public gfx::SingletonHwnd::Observer { |
- public: |
- static SysColorChangeObserver* GetInstance(); |
- |
- void AddListener(SysColorChangeListener* listener); |
- void RemoveListener(SysColorChangeListener* listener); |
- |
- private: |
- friend struct DefaultSingletonTraits<SysColorChangeObserver>; |
- |
- SysColorChangeObserver(); |
- virtual ~SysColorChangeObserver(); |
- |
- virtual void OnWndProc(HWND hwnd, |
- UINT message, |
- WPARAM wparam, |
- LPARAM lparam) override; |
- |
- ObserverList<SysColorChangeListener> listeners_; |
-}; |
- |
-// static |
-SysColorChangeObserver* SysColorChangeObserver::GetInstance() { |
- return Singleton<SysColorChangeObserver>::get(); |
-} |
- |
-SysColorChangeObserver::SysColorChangeObserver() { |
- gfx::SingletonHwnd::GetInstance()->AddObserver(this); |
-} |
- |
-SysColorChangeObserver::~SysColorChangeObserver() { |
- gfx::SingletonHwnd::GetInstance()->RemoveObserver(this); |
-} |
- |
-void SysColorChangeObserver::AddListener(SysColorChangeListener* listener) { |
- listeners_.AddObserver(listener); |
-} |
- |
-void SysColorChangeObserver::RemoveListener(SysColorChangeListener* listener) { |
- listeners_.RemoveObserver(listener); |
-} |
- |
-void SysColorChangeObserver::OnWndProc(HWND hwnd, |
- UINT message, |
- WPARAM wparam, |
- LPARAM lparam) { |
- if (message == WM_SYSCOLORCHANGE || |
- (message == WM_SETTINGCHANGE && wparam == SPI_SETHIGHCONTRAST)) { |
- UpdateInvertedColorScheme(); |
- FOR_EACH_OBSERVER(SysColorChangeListener, listeners_, OnSysColorChange()); |
- } |
-} |
-#endif |
- |
-ScopedSysColorChangeListener::ScopedSysColorChangeListener( |
- SysColorChangeListener* listener) |
- : listener_(listener) { |
-#if defined(OS_WIN) |
- SysColorChangeObserver::GetInstance()->AddListener(listener_); |
-#endif |
-} |
- |
-ScopedSysColorChangeListener::~ScopedSysColorChangeListener() { |
-#if defined(OS_WIN) |
- SysColorChangeObserver::GetInstance()->RemoveListener(listener_); |
-#endif |
-} |
- |
-} // namespace gfx |