1// Copyright 2014 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 "athena/util/fill_layout_manager.h"
6
7#include "base/logging.h"
8#include "ui/aura/window.h"
9
10namespace athena {
11
12FillLayoutManager::FillLayoutManager(aura::Window* container)
13    : container_(container) {
14  DCHECK(container_);
15}
16
17FillLayoutManager::~FillLayoutManager() {
18}
19
20void FillLayoutManager::OnWindowResized() {
21  gfx::Rect full_bounds = gfx::Rect(container_->bounds().size());
22  for (aura::Window::Windows::const_iterator iter =
23           container_->children().begin();
24       iter != container_->children().end();
25       ++iter) {
26    SetChildBoundsDirect(*iter, full_bounds);
27  }
28}
29
30void FillLayoutManager::OnWindowAddedToLayout(aura::Window* child) {
31  SetChildBoundsDirect(child, (gfx::Rect(container_->bounds().size())));
32}
33
34void FillLayoutManager::OnWillRemoveWindowFromLayout(aura::Window* child) {
35}
36void FillLayoutManager::OnWindowRemovedFromLayout(aura::Window* child) {
37}
38void FillLayoutManager::OnChildWindowVisibilityChanged(aura::Window* child,
39                                                       bool visible) {
40}
41void FillLayoutManager::SetChildBounds(aura::Window* child,
42                                       const gfx::Rect& requested_bounds) {
43  // Ignore SetBounds request.
44}
45
46}  // namespace athena
47