// Copyright 2018 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_EXO_INPUT_METHOD_SURFACE_MANAGER_H_ #define COMPONENTS_EXO_INPUT_METHOD_SURFACE_MANAGER_H_ namespace exo { class InputMethodSurface; class InputMethodSurfaceManager { public: virtual ~InputMethodSurfaceManager() = default; // Gets the InputMethodSurface currently used. virtual InputMethodSurface* GetSurface() const = 0; // Adds an InputMethodSurface to the manager. virtual void AddSurface(InputMethodSurface* surface) = 0; // Removes an InputMethodSurface from the manager. virtual void RemoveSurface(InputMethodSurface* surface) = 0; // Called when a touchable bounds of an InputMethodSurface changed. virtual void OnTouchableBoundsChanged(InputMethodSurface* surface) = 0; }; } // namespace exo #endif // COMPONENTS_EXO_INPUT_METHOD_SURFACE_MANAGER_H_