• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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 
5 #ifndef UI_BASE_IME_INPUT_METHOD_DELEGATE_H_
6 #define UI_BASE_IME_INPUT_METHOD_DELEGATE_H_
7 
8 #include "base/event_types.h"
9 #include "ui/base/ui_export.h"
10 #include "ui/events/event_constants.h"
11 #include "ui/events/keycodes/keyboard_codes.h"
12 
13 namespace ui {
14 namespace internal {
15 
16 // An interface implemented by the object that handles events sent back from an
17 // ui::InputMethod implementation.
18 class UI_EXPORT InputMethodDelegate {
19  public:
~InputMethodDelegate()20   virtual ~InputMethodDelegate() {}
21 
22   // Dispatch a key event already processed by the input method.
23   // Returns true if the event was processed.
24   virtual bool DispatchKeyEventPostIME(
25       const base::NativeEvent& native_key_event) = 0;
26 
27   // TODO(komatsu): Unify this function to DispatchKeyEventPostIME.
28   virtual bool DispatchFabricatedKeyEventPostIME(ui::EventType type,
29                                                  ui::KeyboardCode key_code,
30                                                  int flags) = 0;
31 };
32 
33 }  // namespace internal
34 }  // namespace ui
35 
36 #endif  // UI_BASE_IME_INPUT_METHOD_DELEGATE_H_
37