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#ifndef ATHENA_UTIL_FILL_LAYOUT_MANAGER_H_
6#define ATHENA_UTIL_FILL_LAYOUT_MANAGER_H_
7
8#include "athena/athena_export.h"
9#include "ui/aura/layout_manager.h"
10
11namespace athena {
12
13class ATHENA_EXPORT FillLayoutManager : public aura::LayoutManager {
14 public:
15  explicit FillLayoutManager(aura::Window* container);
16  virtual ~FillLayoutManager();
17
18  // aura::LayoutManager:
19  virtual void OnWindowResized() OVERRIDE;
20  virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE;
21  virtual void OnWillRemoveWindowFromLayout(aura::Window* child) OVERRIDE;
22  virtual void OnWindowRemovedFromLayout(aura::Window* child) OVERRIDE;
23  virtual void OnChildWindowVisibilityChanged(aura::Window* child,
24                                              bool visible) OVERRIDE;
25  virtual void SetChildBounds(aura::Window* child,
26                              const gfx::Rect& requested_bounds) OVERRIDE;
27
28 private:
29  aura::Window* container_;
30
31  DISALLOW_COPY_AND_ASSIGN(FillLayoutManager);
32};
33
34}  // namespace athena
35
36#endif  // ATHENA_UTIL_FILL_LAYOUT_MANAGER_H_
37