1effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// found in the LICENSE file. 4effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#ifndef UI_KEYBOARD_KEYBOARD_LAYOUT_MANAGER_H_ 6effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#define UI_KEYBOARD_KEYBOARD_LAYOUT_MANAGER_H_ 7effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 8effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "ui/aura/layout_manager.h" 9effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "ui/aura/window.h" 10effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 11effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochnamespace keyboard { 12effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 13effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochclass KeyboardController; 14effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 15effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// LayoutManager for the virtual keyboard container. Manages a single window 16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// (the virtual keyboard) and keeps it positioned at the bottom of the 17effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// owner window. 18effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochclass KeyboardLayoutManager : public aura::LayoutManager { 19effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch public: 20effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch explicit KeyboardLayoutManager(KeyboardController* controller) 21effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch : controller_(controller), keyboard_(NULL) { 22effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch } 23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch // Overridden from aura::LayoutManager 25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch virtual void OnWindowResized() OVERRIDE; 26effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch virtual void OnWindowAddedToLayout(aura::Window* child) OVERRIDE; 27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch virtual void OnWillRemoveWindowFromLayout(aura::Window* child) OVERRIDE {} 28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch virtual void OnWindowRemovedFromLayout(aura::Window* child) OVERRIDE {} 29effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch virtual void OnChildWindowVisibilityChanged(aura::Window* child, 30effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch bool visible) OVERRIDE {} 31effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch virtual void SetChildBounds(aura::Window* child, 32effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch const gfx::Rect& requested_bounds) OVERRIDE; 33effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 34effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch private: 35effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch KeyboardController* controller_; 36effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch aura::Window* keyboard_; 37effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 38effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch DISALLOW_COPY_AND_ASSIGN(KeyboardLayoutManager); 39effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}; 40effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 41effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch} // namespace keyboard 42effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 43effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#endif // UI_KEYBOARD_KEYBOARD_LAYOUT_MANAGER_H_ 44