| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 #include "chrome/browser/ime_input.h" | 5 #include "chrome/browser/ime_input.h" |
| 6 | 6 |
| 7 #include "base/scoped_ptr.h" | 7 #include "base/scoped_ptr.h" |
| 8 #include "base/string_util.h" | 8 #include "base/string_util.h" |
| 9 | 9 |
| 10 // "imm32.lib" is required by IMM32 APIs used in this file. | 10 // "imm32.lib" is required by IMM32 APIs used in this file. |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 169 } | 169 } |
| 170 | 170 |
| 171 void ImeInput::GetCaret(HIMC imm_context, LPARAM lparam, | 171 void ImeInput::GetCaret(HIMC imm_context, LPARAM lparam, |
| 172 ImeComposition* composition) { | 172 ImeComposition* composition) { |
| 173 // This operation is optional and language-dependent because the caret | 173 // This operation is optional and language-dependent because the caret |
| 174 // style is depended on the language, e.g.: | 174 // style is depended on the language, e.g.: |
| 175 // * Korean IMEs: the caret is a blinking block, | 175 // * Korean IMEs: the caret is a blinking block, |
| 176 // (It contains only one hangul character); | 176 // (It contains only one hangul character); |
| 177 // * Chinese IMEs: the caret is a blinking line, | 177 // * Chinese IMEs: the caret is a blinking line, |
| 178 // (i.e. they do not need to retrieve the target selection); | 178 // (i.e. they do not need to retrieve the target selection); |
| 179 // * Japanese IMEs: the caret is a selection (or undelined) block, | 179 // * Japanese IMEs: the caret is a selection (or underlined) block, |
| 180 // (which can contain one or more Japanese characters). | 180 // (which can contain one or more Japanese characters). |
| 181 int target_start = -1; | 181 int target_start = -1; |
| 182 int target_end = -1; | 182 int target_end = -1; |
| 183 switch (PRIMARYLANGID(input_language_id_)) { | 183 switch (PRIMARYLANGID(input_language_id_)) { |
| 184 case LANG_KOREAN: | 184 case LANG_KOREAN: |
| 185 if (lparam & CS_NOMOVECARET) { | 185 if (lparam & CS_NOMOVECARET) { |
| 186 target_start = 0; | 186 target_start = 0; |
| 187 target_end = 1; | 187 target_end = 1; |
| 188 } | 188 } |
| 189 break; | 189 break; |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 328 // This update is used for moving an IME window when a renderer process | 328 // This update is used for moving an IME window when a renderer process |
| 329 // resize/moves the input caret. | 329 // resize/moves the input caret. |
| 330 if (caret_rect.x() >= 0 && caret_rect.y() >= 0) { | 330 if (caret_rect.x() >= 0 && caret_rect.y() >= 0) { |
| 331 caret_rect_.SetRect(caret_rect.x(), caret_rect.y(), caret_rect.width(), | 331 caret_rect_.SetRect(caret_rect.x(), caret_rect.y(), caret_rect.width(), |
| 332 caret_rect.height()); | 332 caret_rect.height()); |
| 333 MoveImeWindow(window_handle, imm_context); | 333 MoveImeWindow(window_handle, imm_context); |
| 334 } | 334 } |
| 335 ::ImmReleaseContext(window_handle, imm_context); | 335 ::ImmReleaseContext(window_handle, imm_context); |
| 336 } | 336 } |
| 337 } | 337 } |
| OLD | NEW |