- add sources.
[platform/framework/web/crosswalk.git] / src / ui / base / ime / input_method_delegate.h
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:
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   virtual bool DispatchFabricatedKeyEventPostIME(ui::EventType type,
27                                                  ui::KeyboardCode key_code,
28                                                  int flags) = 0;
29 };
30
31 }  // namespace internal
32 }  // namespace ui
33
34 #endif  // UI_BASE_IME_INPUT_METHOD_DELEGATE_H_