wm_default_layout_manager.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. // Copyright 2016 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. #ifndef ASH_WM_WM_DEFAULT_LAYOUT_MANAGER_H_
  5. #define ASH_WM_WM_DEFAULT_LAYOUT_MANAGER_H_
  6. #include "ash/ash_export.h"
  7. #include "ui/aura/layout_manager.h"
  8. namespace ash {
  9. // The default window layout manager used by ash.
  10. class ASH_EXPORT WmDefaultLayoutManager : public aura::LayoutManager {
  11. public:
  12. WmDefaultLayoutManager();
  13. WmDefaultLayoutManager(const WmDefaultLayoutManager&) = delete;
  14. WmDefaultLayoutManager& operator=(const WmDefaultLayoutManager&) = delete;
  15. ~WmDefaultLayoutManager() override;
  16. protected:
  17. // Overridden from aura::LayoutManager:
  18. void OnWindowResized() override;
  19. void OnWindowAddedToLayout(aura::Window* child) override;
  20. void OnWillRemoveWindowFromLayout(aura::Window* child) override;
  21. void OnWindowRemovedFromLayout(aura::Window* child) override;
  22. void OnChildWindowVisibilityChanged(aura::Window* child,
  23. bool visible) override;
  24. void SetChildBounds(aura::Window* child,
  25. const gfx::Rect& requested_bounds) override;
  26. };
  27. } // namespace ash
  28. #endif // ASH_WM_WM_DEFAULT_LAYOUT_MANAGER_H_