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_COMMON_FILL_LAYOUT_MANAGER_H_ 6 #define ATHENA_COMMON_FILL_LAYOUT_MANAGER_H_ 7 8 #include "athena/athena_export.h" 9 #include "ui/aura/layout_manager.h" 10 11 namespace athena { 12 13 class 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_COMMON_FILL_LAYOUT_MANAGER_H_ 37