Index: chrome/browser/ui/panels/display_settings_provider.h |
diff --git a/chrome/browser/ui/panels/display_settings_provider.h b/chrome/browser/ui/panels/display_settings_provider.h |
deleted file mode 100644 |
index e95e7966d3af86212cc57cb8f240d99aeb717fdb..0000000000000000000000000000000000000000 |
--- a/chrome/browser/ui/panels/display_settings_provider.h |
+++ /dev/null |
@@ -1,158 +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. |
- |
-#ifndef CHROME_BROWSER_UI_PANELS_DISPLAY_SETTINGS_PROVIDER_H_ |
-#define CHROME_BROWSER_UI_PANELS_DISPLAY_SETTINGS_PROVIDER_H_ |
- |
-#include "base/macros.h" |
-#include "base/observer_list.h" |
-#include "base/timer/timer.h" |
-#include "ui/gfx/geometry/rect.h" |
- |
-// Encapsulates the logic to provide display settings support, including the |
-// information for: |
-// 1) Work area |
-// 2) Auto-hiding desktop bars, like Windows taskbar and MacOSX dock. |
-class DisplaySettingsProvider { |
- public: |
- // Indicates which screen edge the desktop bar is aligned to. |
- // We do not care about the desktop aligned to the top screen edge. |
- enum DesktopBarAlignment { |
- DESKTOP_BAR_ALIGNED_BOTTOM = 0, |
- DESKTOP_BAR_ALIGNED_LEFT = 1, |
- DESKTOP_BAR_ALIGNED_RIGHT = 2 |
- }; |
- |
- // Indicates current visibility state of the desktop bar. |
- enum DesktopBarVisibility { |
- DESKTOP_BAR_VISIBLE, |
- DESKTOP_BAR_ANIMATING, |
- DESKTOP_BAR_HIDDEN |
- }; |
- |
- class DisplayObserver { |
- public: |
- virtual void OnDisplayChanged() = 0; |
- }; |
- |
- class DesktopBarObserver { |
- public: |
- virtual void OnAutoHidingDesktopBarVisibilityChanged( |
- DesktopBarAlignment alignment, DesktopBarVisibility visibility) = 0; |
- virtual void OnAutoHidingDesktopBarThicknessChanged( |
- DesktopBarAlignment alignment, int thickness) = 0; |
- }; |
- |
- class FullScreenObserver { |
- public: |
- virtual void OnFullScreenModeChanged(bool is_full_screen) = 0; |
- }; |
- |
- static DisplaySettingsProvider* Create(); |
- |
- virtual ~DisplaySettingsProvider(); |
- |
- // Subscribes/unsubscribes from the display settings change notification. |
- void AddDisplayObserver(DisplayObserver* observer); |
- void RemoveDisplayObserver(DisplayObserver* observer); |
- |
- void AddDesktopBarObserver(DesktopBarObserver* observer); |
- void RemoveDesktopBarObserver(DesktopBarObserver* observer); |
- |
- void AddFullScreenObserver(FullScreenObserver* observer); |
- void RemoveFullScreenObserver(FullScreenObserver* observer); |
- |
- // |
- // Display Area: |
- // This is the area of a display (monitor). There could be multiple display |
- // areas. |
- // Work Area: |
- // This is the standard work area returned by the system. It is usually |
- // computed by the system as the part of display area that excludes |
- // top-most system menu or bars aligned to the screen edges. |
- // |
- |
- // Returns the bounds of primary display. |
- virtual gfx::Rect GetPrimaryDisplayArea() const; |
- |
- // Returns the bounds of the work area of primary display. |
- virtual gfx::Rect GetPrimaryWorkArea() const; |
- |
- // Returns the bounds of the display area that most closely intersects the |
- // provided bounds. |
- virtual gfx::Rect GetDisplayAreaMatching(const gfx::Rect& bounds) const; |
- |
- // Returns the bounds of the work area that most closely intersects the |
- // provided bounds. |
- virtual gfx::Rect GetWorkAreaMatching(const gfx::Rect& bounds) const; |
- |
- // Invoked when the display settings has changed, due to any of the following: |
- // 1) screen resolution changes |
- // 2) the thickness of desktop bar changes |
- // 3) desktop bar switches between auto-hiding and non-auto-hiding |
- virtual void OnDisplaySettingsChanged(); |
- |
- // Returns true if there is a desktop bar that is aligned to the specified |
- // screen edge and set to auto-hide. |
- virtual bool IsAutoHidingDesktopBarEnabled(DesktopBarAlignment alignment); |
- |
- // Returns the thickness of the desktop bar that is aligned to the specified |
- // screen edge, when it is visible. When the desktop bar is aligned to bottom |
- // edge, this is the height of the bar. If the desktop bar is aligned to |
- // left or right edge, this is the width of the bar. |
- virtual int GetDesktopBarThickness(DesktopBarAlignment alignment) const; |
- |
- // Returns the visibility state of the desktop bar that is aligned to the |
- // specified screen edge. |
- virtual DesktopBarVisibility GetDesktopBarVisibility( |
- DesktopBarAlignment alignment) const; |
- |
- base::ObserverList<DisplayObserver>& display_observers() { |
- return display_observers_; |
- } |
- |
- base::ObserverList<DesktopBarObserver>& desktop_bar_observers() { |
- return desktop_bar_observers_; |
- } |
- |
- base::ObserverList<FullScreenObserver>& full_screen_observers() { |
- return full_screen_observers_; |
- } |
- |
- bool is_full_screen() const { return is_full_screen_; } |
- |
- protected: |
- enum FullScreenCheckMode { |
- ASSUME_FULLSCREEN_ON, |
- ASSUME_FULLSCREEN_OFF, |
- PERFORM_FULLSCREEN_CHECK |
- }; |
- |
- DisplaySettingsProvider(); |
- |
- // Returns true if we need to perform fullscreen check periodically. |
- virtual bool NeedsPeriodicFullScreenCheck() const; |
- |
- // Returns true if full screen or presentation mode in main screen is entered. |
- virtual bool IsFullScreen(); |
- |
- // Callback to perform periodic check for full screen mode changes. |
- void CheckFullScreenMode(FullScreenCheckMode check_mode); |
- |
- private: |
- // Observers that listen to various display settings changes. |
- base::ObserverList<DisplayObserver> display_observers_; |
- base::ObserverList<DesktopBarObserver> desktop_bar_observers_; |
- base::ObserverList<FullScreenObserver> full_screen_observers_; |
- |
- // True if full screen mode or presentation mode is entered. |
- bool is_full_screen_; |
- |
- // Timer used to detect full-screen mode change. |
- base::RepeatingTimer full_screen_mode_timer_; |
- |
- DISALLOW_COPY_AND_ASSIGN(DisplaySettingsProvider); |
-}; |
- |
-#endif // CHROME_BROWSER_UI_PANELS_DISPLAY_SETTINGS_PROVIDER_H_ |