}
namespace ash {
-namespace internal {
+class AshWindowTreeHost;
class CursorWindowController;
class DisplayInfo;
class DisplayManager;
class MirrorWindowController;
class RootWindowController;
class VirtualKeyboardWindowController;
-}
// DisplayController owns and maintains RootWindows for each attached
// display, keeping them in sync with display configuration changes.
class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
public aura::WindowTreeHostObserver,
- public internal::DisplayManager::Delegate {
+ public DisplayManager::Delegate {
public:
class ASH_EXPORT Observer {
public:
// TODO(oshima): Move this out from DisplayController;
static int64 GetPrimaryDisplayId();
- internal::CursorWindowController* cursor_window_controller() {
+ CursorWindowController* cursor_window_controller() {
return cursor_window_controller_.get();
}
- internal::MirrorWindowController* mirror_window_controller() {
+ MirrorWindowController* mirror_window_controller() {
return mirror_window_controller_.get();
}
- internal::VirtualKeyboardWindowController*
- virtual_keyboard_window_controller() {
+ VirtualKeyboardWindowController* virtual_keyboard_window_controller() {
return virtual_keyboard_window_controller_.get();
}
- // Initializes primary display.
- void InitPrimaryDisplay();
+ // Create a WindowTreeHost for the primary display.
+ void CreatePrimaryHost();
- // Initialize secondary displays.
- void InitSecondaryDisplays();
+ // Initializes all displays.
+ void InitDisplays();
// Add/Remove observers.
void AddObserver(Observer* observer);
// Returns all oot window controllers. In non extended desktop
// mode, this return a RootWindowController for the primary root window only.
- std::vector<internal::RootWindowController*> GetAllRootWindowControllers();
+ std::vector<RootWindowController*> GetAllRootWindowControllers();
// Gets/Sets/Clears the overscan insets for the specified |display_id|. See
// display_manager.h for the details.
virtual void OnHostResized(const aura::WindowTreeHost* host) OVERRIDE;
// aura::DisplayManager::Delegate overrides:
- virtual void CreateOrUpdateNonDesktopDisplay(
- const internal::DisplayInfo& info) OVERRIDE;
+ virtual void CreateOrUpdateNonDesktopDisplay(const DisplayInfo& info)
+ OVERRIDE;
virtual void CloseNonDesktopDisplay() OVERRIDE;
virtual void PreDisplayConfigurationChange(bool clear_focus) OVERRIDE;
virtual void PostDisplayConfigurationChange() OVERRIDE;
private:
FRIEND_TEST_ALL_PREFIXES(DisplayControllerTest, BoundsUpdated);
FRIEND_TEST_ALL_PREFIXES(DisplayControllerTest, SecondaryDisplayLayout);
- friend class internal::DisplayManager;
- friend class internal::MirrorWindowController;
+ friend class DisplayManager;
+ friend class MirrorWindowController;
- // Creates a WindowTreeHost for |display| and stores it in the |root_windows_|
- // map.
- aura::WindowTreeHost* AddWindowTreeHostForDisplay(
- const gfx::Display& display);
+ // Creates a WindowTreeHost for |display| and stores it in the
+ // |window_tree_hosts_| map.
+ AshWindowTreeHost* AddWindowTreeHostForDisplay(const gfx::Display& display);
void OnFadeOutForSwapDisplayFinished();
// change the display configuration.
scoped_ptr<DisplayChangeLimiter> limiter_;
- // The mapping from display ID to its root window.
- std::map<int64, aura::Window*> root_windows_;
+ typedef std::map<int64, AshWindowTreeHost*> WindowTreeHostMap;
+ // The mapping from display ID to its window tree host.
+ WindowTreeHostMap window_tree_hosts_;
ObserverList<Observer> observers_;
- // Store the primary root window temporarily while replacing
+ // Store the primary window tree host temporarily while replacing
// display.
- aura::Window* primary_root_window_for_replace_;
+ AshWindowTreeHost* primary_tree_host_for_replace_;
- scoped_ptr<internal::FocusActivationStore> focus_activation_store_;
+ scoped_ptr<FocusActivationStore> focus_activation_store_;
- scoped_ptr<internal::CursorWindowController> cursor_window_controller_;
- scoped_ptr<internal::MirrorWindowController> mirror_window_controller_;
- scoped_ptr<internal::VirtualKeyboardWindowController>
+ scoped_ptr<CursorWindowController> cursor_window_controller_;
+ scoped_ptr<MirrorWindowController> mirror_window_controller_;
+ scoped_ptr<VirtualKeyboardWindowController>
virtual_keyboard_window_controller_;
// Stores the curent cursor location (in native coordinates) used to