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. 4 5#ifndef ASH_IME_CONTROL_DELEGATE_H_ 6#define ASH_IME_CONTROL_DELEGATE_H_ 7 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; 20 virtual bool HandlePreviousIme(const ui::Accelerator& accelerator) = 0; 21 // Switches to another IME depending on the |accelerator|. 22 virtual bool HandleSwitchIme(const ui::Accelerator& accelerator) = 0; 23 24 // Checks for special language anomalies and re-map the |accelerator| 25 // accordingly. 26 virtual ui::Accelerator RemapAccelerator( 27 const ui::Accelerator& accelerator) = 0; 28}; 29 30} // namespace ash 31 32#endif // ASH_IME_CONTROL_DELEGATE_H_ 33