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

Side by Side Diff: ui/base/ime/win/imm32_manager.cc

Issue 313053007: Passing BackgroundColorSpan and UnderlineSpan from Clank to Blink. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Putting back import java.lang.CharSequence for android_aosp. Created 6 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « ui/base/ime/input_method_chromeos_unittest.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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "ui/base/ime/win/imm32_manager.h" 5 #include "ui/base/ime/win/imm32_manager.h"
6 6
7 #include <msctf.h> 7 #include <msctf.h>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 scoped_ptr<uint32[]> clause_data(new uint32[clause_length]); 76 scoped_ptr<uint32[]> clause_data(new uint32[clause_length]);
77 if (clause_data.get()) { 77 if (clause_data.get()) {
78 ::ImmGetCompositionString(imm_context, GCS_COMPCLAUSE, 78 ::ImmGetCompositionString(imm_context, GCS_COMPCLAUSE,
79 clause_data.get(), clause_size); 79 clause_data.get(), clause_size);
80 for (int i = 0; i < clause_length - 1; ++i) { 80 for (int i = 0; i < clause_length - 1; ++i) {
81 ui::CompositionUnderline underline; 81 ui::CompositionUnderline underline;
82 underline.start_offset = clause_data[i]; 82 underline.start_offset = clause_data[i];
83 underline.end_offset = clause_data[i+1]; 83 underline.end_offset = clause_data[i+1];
84 underline.color = SK_ColorBLACK; 84 underline.color = SK_ColorBLACK;
85 underline.thick = false; 85 underline.thick = false;
86 underline.background_color = SK_ColorTRANSPARENT;
86 87
87 // Use thick underline for the target clause. 88 // Use thick underline for the target clause.
88 if (underline.start_offset >= static_cast<unsigned>(target_start) && 89 if (underline.start_offset >= static_cast<uint32>(target_start) &&
89 underline.end_offset <= static_cast<unsigned>(target_end)) { 90 underline.end_offset <= static_cast<uint32>(target_end)) {
90 underline.thick = true; 91 underline.thick = true;
91 } 92 }
92 underlines->push_back(underline); 93 underlines->push_back(underline);
93 } 94 }
94 } 95 }
95 } 96 }
96 } 97 }
97 98
98 // Checks if a given primary language ID is a RTL language. 99 // Checks if a given primary language ID is a RTL language.
99 bool IsRTLPrimaryLangID(LANGID lang) { 100 bool IsRTLPrimaryLangID(LANGID lang) {
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
335 // Retrieve the clause segmentations and convert them to underlines. 336 // Retrieve the clause segmentations and convert them to underlines.
336 if (lparam & GCS_COMPCLAUSE) { 337 if (lparam & GCS_COMPCLAUSE) {
337 GetCompositionUnderlines(imm_context, target_start, target_end, 338 GetCompositionUnderlines(imm_context, target_start, target_end,
338 &composition->underlines); 339 &composition->underlines);
339 } 340 }
340 341
341 // Set default underlines in case there is no clause information. 342 // Set default underlines in case there is no clause information.
342 if (!composition->underlines.size()) { 343 if (!composition->underlines.size()) {
343 CompositionUnderline underline; 344 CompositionUnderline underline;
344 underline.color = SK_ColorBLACK; 345 underline.color = SK_ColorBLACK;
346 underline.background_color = SK_ColorTRANSPARENT;
345 if (target_start > 0) { 347 if (target_start > 0) {
346 underline.start_offset = 0; 348 underline.start_offset = 0U;
347 underline.end_offset = target_start; 349 underline.end_offset = static_cast<uint32>(target_start);
348 underline.thick = false; 350 underline.thick = false;
349 composition->underlines.push_back(underline); 351 composition->underlines.push_back(underline);
350 } 352 }
351 if (target_end > target_start) { 353 if (target_end > target_start) {
352 underline.start_offset = target_start; 354 underline.start_offset = static_cast<uint32>(target_start);
353 underline.end_offset = target_end; 355 underline.end_offset = static_cast<uint32>(target_end);
354 underline.thick = true; 356 underline.thick = true;
355 composition->underlines.push_back(underline); 357 composition->underlines.push_back(underline);
356 } 358 }
357 if (target_end < length) { 359 if (target_end < length) {
358 underline.start_offset = target_end; 360 underline.start_offset = static_cast<uint32>(target_end);
359 underline.end_offset = length; 361 underline.end_offset = static_cast<uint32>(length);
360 underline.thick = false; 362 underline.thick = false;
361 composition->underlines.push_back(underline); 363 composition->underlines.push_back(underline);
362 } 364 }
363 } 365 }
364 } 366 }
365 367
366 bool IMM32Manager::GetString(HIMC imm_context, 368 bool IMM32Manager::GetString(HIMC imm_context,
367 WPARAM lparam, 369 WPARAM lparam,
368 int type, 370 int type,
369 base::string16* result) { 371 base::string16* result) {
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 | IME_CMODE_KATAKANA 633 | IME_CMODE_KATAKANA
632 | IME_CMODE_FULLSHAPE); 634 | IME_CMODE_FULLSHAPE);
633 break; 635 break;
634 default: 636 default:
635 *open = FALSE; 637 *open = FALSE;
636 break; 638 break;
637 } 639 }
638 } 640 }
639 641
640 } // namespace ui 642 } // namespace ui
OLDNEW
« no previous file with comments | « ui/base/ime/input_method_chromeos_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698