blob: 6aa560902d809415065d8ee112f213484240999d [file] [log] [blame]
[email protected]21472b12012-02-17 00:30:051// 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.
4
5#ifndef ASH_IME_CONTROL_DELEGATE_H_
6#define ASH_IME_CONTROL_DELEGATE_H_
[email protected]21472b12012-02-17 00:30:057
8namespace ui {
9class Accelerator;
10} // namespace ui
11
12namespace ash {
13
14// Delegate for controlling IME (input method editor).
15class ImeControlDelegate {
16 public:
17 virtual ~ImeControlDelegate() {}
18
19 virtual bool HandleNextIme() = 0;
[email protected]56e35252013-07-23 20:10:1120 virtual bool HandlePreviousIme(const ui::Accelerator& accelerator) = 0;
[email protected]21472b12012-02-17 00:30:0521 // Switches to another IME depending on the |accelerator|.
22 virtual bool HandleSwitchIme(const ui::Accelerator& accelerator) = 0;
[email protected]a66aa942012-05-30 23:18:3423
24 // Checks for special language anomalies and re-map the |accelerator|
25 // accordingly.
26 virtual ui::Accelerator RemapAccelerator(
27 const ui::Accelerator& accelerator) = 0;
[email protected]21472b12012-02-17 00:30:0528};
29
30} // namespace ash
31
32#endif // ASH_IME_CONTROL_DELEGATE_H_