Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Side by Side Diff: ui/base/ime/text_input_client.h

Issue 2593323002: Use the physical-pixel space for native IME on linux platform. (Closed)
Patch Set: Use the physical-pixel space for native IME on linux platform. Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/ui/libgtkui/x11_input_method_context_impl_gtk.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_BASE_IME_TEXT_INPUT_CLIENT_H_ 5 #ifndef UI_BASE_IME_TEXT_INPUT_CLIENT_H_
6 #define UI_BASE_IME_TEXT_INPUT_CLIENT_H_ 6 #define UI_BASE_IME_TEXT_INPUT_CLIENT_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 // Returns the current text input flags, which is a bit map of 76 // Returns the current text input flags, which is a bit map of
77 // WebTextInputType defined in blink. This is valid only for web input fileds; 77 // WebTextInputType defined in blink. This is valid only for web input fileds;
78 // it will return TEXT_INPUT_FLAG_NONE for native input fields. 78 // it will return TEXT_INPUT_FLAG_NONE for native input fields.
79 virtual int GetTextInputFlags() const = 0; 79 virtual int GetTextInputFlags() const = 0;
80 80
81 // Returns if the client supports inline composition currently. 81 // Returns if the client supports inline composition currently.
82 virtual bool CanComposeInline() const = 0; 82 virtual bool CanComposeInline() const = 0;
83 83
84 // Returns current caret (insertion point) bounds in the universal screen 84 // Returns current caret (insertion point) bounds in the universal screen
85 // coordinates. If there is selection, then the selection bounds will be 85 // coordinates in DIP (Density Independent Pixel).
86 // returned. 86 // If there is selection, then the selection bounds will be returned.
87 // Note: On Windows, the returned value is supposed to be DIP (Density
88 // Independent Pixel).
89 // TODO(ime): Have a clear spec whether the returned value is DIP or not.
90 // http://crbug.com/360334
91 virtual gfx::Rect GetCaretBounds() const = 0; 87 virtual gfx::Rect GetCaretBounds() const = 0;
92 88
93 // Retrieves the composition character boundary rectangle in the universal 89 // Retrieves the composition character boundary rectangle in the universal
94 // screen coordinates. The |index| is zero-based index of character position 90 // screen coordinates in DIP (Density Independent Pixel).
95 // in composition text. 91 // The |index| is zero-based index of character position in composition text.
96 // Returns false if there is no composition text or |index| is out of range. 92 // Returns false if there is no composition text or |index| is out of range.
97 // The |rect| is not touched in the case of failure. 93 // The |rect| is not touched in the case of failure.
98 // Note: On Windows, the returned value is supposed to be DIP
99 // (Density Independent Pixel).
100 // TODO(ime): Have a clear spec whether the returned value is DIP or not.
101 // http://crbug.com/360334
102 virtual bool GetCompositionCharacterBounds(uint32_t index, 94 virtual bool GetCompositionCharacterBounds(uint32_t index,
103 gfx::Rect* rect) const = 0; 95 gfx::Rect* rect) const = 0;
104 96
105 // Returns true if there is composition text. 97 // Returns true if there is composition text.
106 virtual bool HasCompositionText() const = 0; 98 virtual bool HasCompositionText() const = 0;
107 99
108 // Document content operations ---------------------------------------------- 100 // Document content operations ----------------------------------------------
109 101
110 // Retrieves the UTF-16 based character range containing accessible text in 102 // Retrieves the UTF-16 based character range containing accessible text in
111 // the View. It must cover the composition and selection range. 103 // the View. It must cover the composition and selection range.
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 virtual bool ChangeTextDirectionAndLayoutAlignment( 147 virtual bool ChangeTextDirectionAndLayoutAlignment(
156 base::i18n::TextDirection direction) = 0; 148 base::i18n::TextDirection direction) = 0;
157 149
158 // Deletes the current selection plus the specified number of characters 150 // Deletes the current selection plus the specified number of characters
159 // before and after the selection or caret. This function should be used 151 // before and after the selection or caret. This function should be used
160 // instead of calling DeleteRange with GetSelectionRange, because 152 // instead of calling DeleteRange with GetSelectionRange, because
161 // GetSelectionRange may not be the latest value due to asynchronous of IPC 153 // GetSelectionRange may not be the latest value due to asynchronous of IPC
162 // between browser and renderer. 154 // between browser and renderer.
163 virtual void ExtendSelectionAndDelete(size_t before, size_t after) = 0; 155 virtual void ExtendSelectionAndDelete(size_t before, size_t after) = 0;
164 156
165 // Ensure the caret is not in |rect|. |rect| is in screen coordinates and 157 // Ensure the caret is not in |rect|. |rect| is in screen coordinates in
166 // may extend beyond the bounds of this TextInputClient. 158 // DIP (Density Independent Pixel) and may extend beyond the bounds of this
167 // Note: On Windows, the returned value is supposed to be DIP (Density 159 // TextInputClient.
168 // Independent Pixel).
169 // TODO(ime): Have a clear spec whether the returned value is DIP or not.
170 // http://crbug.com/360334
171 virtual void EnsureCaretNotInRect(const gfx::Rect& rect) = 0; 160 virtual void EnsureCaretNotInRect(const gfx::Rect& rect) = 0;
172 161
173 // Returns true if |command| is currently allowed to be executed. 162 // Returns true if |command| is currently allowed to be executed.
174 virtual bool IsTextEditCommandEnabled(TextEditCommand command) const = 0; 163 virtual bool IsTextEditCommandEnabled(TextEditCommand command) const = 0;
175 164
176 // Execute |command| on the next key event. This allows a TextInputClient to 165 // Execute |command| on the next key event. This allows a TextInputClient to
177 // be informed of a platform-independent edit command that has been derived 166 // be informed of a platform-independent edit command that has been derived
178 // from the key event currently being dispatched (but not yet sent to the 167 // from the key event currently being dispatched (but not yet sent to the
179 // TextInputClient). The edit command will take into account any OS-specific, 168 // TextInputClient). The edit command will take into account any OS-specific,
180 // or user-specified, keybindings that may be set up. 169 // or user-specified, keybindings that may be set up.
181 virtual void SetTextEditCommandForNextKeyEvent(TextEditCommand command) = 0; 170 virtual void SetTextEditCommandForNextKeyEvent(TextEditCommand command) = 0;
182 }; 171 };
183 172
184 } // namespace ui 173 } // namespace ui
185 174
186 #endif // UI_BASE_IME_TEXT_INPUT_CLIENT_H_ 175 #endif // UI_BASE_IME_TEXT_INPUT_CLIENT_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/libgtkui/x11_input_method_context_impl_gtk.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698