virtual_keyboard_container_layout_manager.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // Copyright 2017 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_KEYBOARD_VIRTUAL_KEYBOARD_CONTAINER_LAYOUT_MANAGER_H_
  5. #define ASH_KEYBOARD_VIRTUAL_KEYBOARD_CONTAINER_LAYOUT_MANAGER_H_
  6. #include "ui/aura/layout_manager.h"
  7. namespace ash {
  8. // LayoutManager for the virtual keyboard container window. It keeps the size of
  9. // the virtual keyboard container window and the ime window parent container.
  10. class VirtualKeyboardContainerLayoutManager : public aura::LayoutManager {
  11. public:
  12. explicit VirtualKeyboardContainerLayoutManager(
  13. aura::Window* ime_window_parent_container);
  14. VirtualKeyboardContainerLayoutManager(
  15. const VirtualKeyboardContainerLayoutManager&) = delete;
  16. VirtualKeyboardContainerLayoutManager& operator=(
  17. const VirtualKeyboardContainerLayoutManager&) = delete;
  18. // Overridden from aura::LayoutManager
  19. void OnWindowResized() override;
  20. void OnWindowAddedToLayout(aura::Window* child) override;
  21. void OnWillRemoveWindowFromLayout(aura::Window* child) override {}
  22. void OnWindowRemovedFromLayout(aura::Window* child) override {}
  23. void OnChildWindowVisibilityChanged(aura::Window* child,
  24. bool visible) override {}
  25. void SetChildBounds(aura::Window* child,
  26. const gfx::Rect& requested_bounds) override;
  27. private:
  28. aura::Window* ime_window_parent_container_;
  29. };
  30. } // namespace ash
  31. #endif // ASH_KEYBOARD_VIRTUAL_KEYBOARD_CONTAINER_LAYOUT_MANAGER_H_