1 // Copyright (c) 2012 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.
5 #ifndef ASH_IME_CONTROL_DELEGATE_H_
6 #define ASH_IME_CONTROL_DELEGATE_H_
14 // Delegate for controlling IME (input method editor).
15 class ImeControlDelegate
{
17 virtual ~ImeControlDelegate() {}
19 // Changes the IME to what is listed next. This function do nothing if there
20 // is only one IME is enabled.
21 virtual void HandleNextIme() = 0;
23 // Changes the IME to previously selected one. If there is no previously
24 // selected IMEs, chooses the next listed IME. This function returns false if
25 // there is only one IME is enabled.
26 virtual bool HandlePreviousIme(const ui::Accelerator
& accelerator
) = 0;
28 // Switches to another IME depending on the |accelerator|.
29 virtual bool HandleSwitchIme(const ui::Accelerator
& accelerator
) = 0;
31 // Checks for special language anomalies and re-map the |accelerator|
33 virtual ui::Accelerator
RemapAccelerator(
34 const ui::Accelerator
& accelerator
) = 0;
39 #endif // ASH_IME_CONTROL_DELEGATE_H_