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 #include "ash/wm/root_window_layout_manager.h" 6 7 #include "ui/aura/window.h" 8 #include "ui/aura/window_tracker.h" 9 10 namespace ash { 11 12 //////////////////////////////////////////////////////////////////////////////// 13 // RootWindowLayoutManager, public: 14 RootWindowLayoutManager(aura::Window * owner)15RootWindowLayoutManager::RootWindowLayoutManager(aura::Window* owner) 16 : owner_(owner) {} 17 18 RootWindowLayoutManager::~RootWindowLayoutManager() = default; 19 20 //////////////////////////////////////////////////////////////////////////////// 21 // RootWindowLayoutManager, aura::LayoutManager implementation: 22 OnWindowResized()23void RootWindowLayoutManager::OnWindowResized() { 24 gfx::Rect bounds(owner_->bounds().size()); 25 for (auto* container : containers_) 26 container->SetBounds(bounds); 27 } 28 OnWindowAddedToLayout(aura::Window * child)29void RootWindowLayoutManager::OnWindowAddedToLayout(aura::Window* child) {} 30 OnWillRemoveWindowFromLayout(aura::Window * child)31void RootWindowLayoutManager::OnWillRemoveWindowFromLayout( 32 aura::Window* child) {} 33 OnWindowRemovedFromLayout(aura::Window * child)34void RootWindowLayoutManager::OnWindowRemovedFromLayout(aura::Window* child) {} 35 OnChildWindowVisibilityChanged(aura::Window * child,bool visible)36void RootWindowLayoutManager::OnChildWindowVisibilityChanged( 37 aura::Window* child, 38 bool visible) {} 39 SetChildBounds(aura::Window * child,const gfx::Rect & requested_bounds)40void RootWindowLayoutManager::SetChildBounds( 41 aura::Window* child, 42 const gfx::Rect& requested_bounds) { 43 SetChildBoundsDirect(child, requested_bounds); 44 } 45 AddContainer(aura::Window * window)46void RootWindowLayoutManager::AddContainer(aura::Window* window) { 47 DCHECK(!window->GetToplevelWindow()); 48 containers_.push_back(window); 49 } 50 51 } // namespace ash 52