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