input_method_surface_manager.h 972 B

12345678910111213141516171819202122232425262728293031
  1. // Copyright 2018 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 COMPONENTS_EXO_INPUT_METHOD_SURFACE_MANAGER_H_
  5. #define COMPONENTS_EXO_INPUT_METHOD_SURFACE_MANAGER_H_
  6. namespace exo {
  7. class InputMethodSurface;
  8. class InputMethodSurfaceManager {
  9. public:
  10. virtual ~InputMethodSurfaceManager() = default;
  11. // Gets the InputMethodSurface currently used.
  12. virtual InputMethodSurface* GetSurface() const = 0;
  13. // Adds an InputMethodSurface to the manager.
  14. virtual void AddSurface(InputMethodSurface* surface) = 0;
  15. // Removes an InputMethodSurface from the manager.
  16. virtual void RemoveSurface(InputMethodSurface* surface) = 0;
  17. // Called when a touchable bounds of an InputMethodSurface changed.
  18. virtual void OnTouchableBoundsChanged(InputMethodSurface* surface) = 0;
  19. };
  20. } // namespace exo
  21. #endif // COMPONENTS_EXO_INPUT_METHOD_SURFACE_MANAGER_H_