summaryrefslogtreecommitdiffstats
path: root/chrome/browser/chromeos/input_method/input_method_engine_interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/chromeos/input_method/input_method_engine_interface.h')
-rw-r--r--chrome/browser/chromeos/input_method/input_method_engine_interface.h262
1 files changed, 0 insertions, 262 deletions
diff --git a/chrome/browser/chromeos/input_method/input_method_engine_interface.h b/chrome/browser/chromeos/input_method/input_method_engine_interface.h
deleted file mode 100644
index 5120831..0000000
--- a/chrome/browser/chromeos/input_method/input_method_engine_interface.h
+++ /dev/null
@@ -1,262 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_ENGINE_INTERFACE_H_
-#define CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_ENGINE_INTERFACE_H_
-
-#include <string>
-#include <vector>
-
-#include "ui/base/ime/ime_engine_handler_interface.h"
-
-class GURL;
-
-namespace chromeos {
-
-namespace input_method {
-class InputMethodDescriptor;
-struct KeyEventHandle;
-} // namespace input_method
-
-// InputMethodEngine is used to translate from the Chrome IME API to the native
-// API.
-class InputMethodEngineInterface : public ui::IMEEngineHandlerInterface {
- public:
- struct KeyboardEvent {
- KeyboardEvent();
- virtual ~KeyboardEvent();
-
- std::string type;
- std::string key;
- std::string code;
- int key_code; // only used by on-screen keyboards.
- std::string extension_id;
- bool alt_key;
- bool ctrl_key;
- bool shift_key;
- bool caps_lock;
- };
-
- enum {
- MENU_ITEM_MODIFIED_LABEL = 0x0001,
- MENU_ITEM_MODIFIED_STYLE = 0x0002,
- MENU_ITEM_MODIFIED_VISIBLE = 0x0004,
- MENU_ITEM_MODIFIED_ENABLED = 0x0008,
- MENU_ITEM_MODIFIED_CHECKED = 0x0010,
- MENU_ITEM_MODIFIED_ICON = 0x0020,
- };
-
- enum MenuItemStyle {
- MENU_ITEM_STYLE_NONE,
- MENU_ITEM_STYLE_CHECK,
- MENU_ITEM_STYLE_RADIO,
- MENU_ITEM_STYLE_SEPARATOR,
- };
-
- enum MouseButtonEvent {
- MOUSE_BUTTON_LEFT,
- MOUSE_BUTTON_RIGHT,
- MOUSE_BUTTON_MIDDLE,
- };
-
- enum SegmentStyle {
- SEGMENT_STYLE_UNDERLINE,
- SEGMENT_STYLE_DOUBLE_UNDERLINE,
- SEGMENT_STYLE_NO_UNDERLINE,
- };
-
- enum CandidateWindowPosition {
- WINDOW_POS_CURSOR,
- WINDOW_POS_COMPOSITTION,
- };
-
- struct MenuItem {
- MenuItem();
- virtual ~MenuItem();
-
- std::string id;
- std::string label;
- MenuItemStyle style;
- bool visible;
- bool enabled;
- bool checked;
-
- unsigned int modified;
- std::vector<MenuItem> children;
- };
-
- struct InputContext {
- int id;
- std::string type;
- bool auto_correct;
- bool auto_complete;
- bool spell_check;
- };
-
- struct UsageEntry {
- std::string title;
- std::string body;
- };
-
- struct Candidate {
- Candidate();
- virtual ~Candidate();
-
- std::string value;
- int id;
- std::string label;
- std::string annotation;
- UsageEntry usage;
- std::vector<Candidate> candidates;
- };
-
- struct CandidateWindowProperty {
- CandidateWindowProperty();
- virtual ~CandidateWindowProperty();
- int page_size;
- bool is_cursor_visible;
- bool is_vertical;
- bool show_window_at_composition;
-
- // Auxiliary text is typically displayed in the footer of the candidate
- // window.
- std::string auxiliary_text;
- bool is_auxiliary_text_visible;
- };
-
- struct SegmentInfo {
- int start;
- int end;
- SegmentStyle style;
- };
-
- class Observer {
- public:
- virtual ~Observer();
-
- // Called when the IME becomes the active IME.
- virtual void OnActivate(const std::string& engine_id) = 0;
-
- // Called when the IME is no longer active.
- virtual void OnDeactivated(const std::string& engine_id) = 0;
-
- // Called when a text field gains focus, and will be sending key events.
- virtual void OnFocus(const InputContext& context) = 0;
-
- // Called when a text field loses focus, and will no longer generate events.
- virtual void OnBlur(int context_id) = 0;
-
- // Called when an InputContext's properties change while it is focused.
- virtual void OnInputContextUpdate(const InputContext& context) = 0;
-
- // Returns whether the observer is interested in key events.
- virtual bool IsInterestedInKeyEvent() const = 0;
-
- // Called when the user pressed a key with a text field focused.
- virtual void OnKeyEvent(const std::string& engine_id,
- const KeyboardEvent& event,
- input_method::KeyEventHandle* key_data) = 0;
-
- // Called when the user clicks on an item in the candidate list.
- virtual void OnCandidateClicked(const std::string& engine_id,
- int candidate_id,
- MouseButtonEvent button) = 0;
-
- // Called when a menu item for this IME is interacted with.
- virtual void OnMenuItemActivated(const std::string& engine_id,
- const std::string& menu_id) = 0;
-
- // Called when a surrounding text is changed.
- virtual void OnSurroundingTextChanged(const std::string& engine_id,
- const std::string& text,
- int cursor_pos,
- int anchor_pos,
- int offset_pos) = 0;
-
- // Called when composition bounds are changed.
- virtual void OnCompositionBoundsChanged(
- const std::vector<gfx::Rect>& bounds) = 0;
-
- // Called when Chrome terminates on-going text input session.
- virtual void OnReset(const std::string& engine_id) = 0;
- };
-
- ~InputMethodEngineInterface() override {}
-
- // Set the current composition and associated properties.
- virtual bool SetComposition(int context_id,
- const char* text,
- int selection_start,
- int selection_end,
- int cursor,
- const std::vector<SegmentInfo>& segments,
- std::string* error) = 0;
-
- // Clear the current composition.
- virtual bool ClearComposition(int context_id, std::string* error) = 0;
-
- // Commit the specified text to the specified context. Fails if the context
- // is not focused.
- virtual bool CommitText(int context_id, const char* text,
- std::string* error) = 0;
-
- // Send the sequence of key events.
- virtual bool SendKeyEvents(int context_id,
- const std::vector<KeyboardEvent>& events) = 0;
-
- // This function returns the current property of the candidate window.
- // The caller can use the returned value as the default property and
- // modify some of specified items.
- virtual const CandidateWindowProperty&
- GetCandidateWindowProperty() const = 0;
-
- // Change the property of the candidate window and repaint the candidate
- // window widget.
- virtual void SetCandidateWindowProperty(
- const CandidateWindowProperty& property) = 0;
-
- // Show or hide the candidate window.
- virtual bool SetCandidateWindowVisible(bool visible, std::string* error) = 0;
-
- // Set the list of entries displayed in the candidate window.
- virtual bool SetCandidates(int context_id,
- const std::vector<Candidate>& candidates,
- std::string* error) = 0;
-
- // Set the position of the cursor in the candidate window.
- virtual bool SetCursorPosition(int context_id, int candidate_id,
- std::string* error) = 0;
-
- // Set the list of items that appears in the language menu when this IME is
- // active.
- virtual bool SetMenuItems(const std::vector<MenuItem>& items) = 0;
-
- // Update the state of the menu items.
- virtual bool UpdateMenuItems(const std::vector<MenuItem>& items) = 0;
-
- // Returns true if this IME is active, false if not.
- virtual bool IsActive() const = 0;
-
- // Returns the current active input_component id.
- virtual const std::string& GetActiveComponentId() const = 0;
-
- // Deletes |number_of_chars| unicode characters as the basis of |offset| from
- // the surrounding text. The |offset| is relative position based on current
- // caret.
- // NOTE: Currently we are falling back to backspace forwarding workaround,
- // because delete_surrounding_text is not supported in Chrome. So this
- // function is restricted for only preceding text.
- // TODO(nona): Support full spec delete surrounding text.
- virtual bool DeleteSurroundingText(int context_id,
- int offset,
- size_t number_of_chars,
- std::string* error) = 0;
-
- // Hides the input view window (from API call).
- virtual void HideInputView() = 0;
-};
-
-} // namespace chromeos
-
-#endif // CHROME_BROWSER_CHROMEOS_INPUT_METHOD_INPUT_METHOD_ENGINE_INTERFACE_H_