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

Unified Diff: services/prediction/input_info.cc

Issue 1247903003: Add spellcheck and word suggestion to the prediction service (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: services/prediction/input_info.cc
diff --git a/services/prediction/input_info.cc b/services/prediction/input_info.cc
new file mode 100644
index 0000000000000000000000000000000000000000..410adfa32984ec4a90448b0280bb0d177d8d12b1
--- /dev/null
+++ b/services/prediction/input_info.cc
@@ -0,0 +1,67 @@
+// Copyright 2015 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.
+
+#include <new>
+
+#include "services/prediction/input_info.h"
+#include "services/prediction/key_set.h"
+
+namespace prediction {
+
+InputInfo::InputInfo(int input_size) {
+ size = input_size;
+ codepoints = new int[size];
+ x_coordinates = new int[size];
+ y_coordinates = new int[size];
+ pointer_ids = new int[size];
+ times = new int[size];
+}
+
+InputInfo::~InputInfo() {
+ delete[] codepoints;
+ delete[] x_coordinates;
+ delete[] y_coordinates;
+ delete[] pointer_ids;
+ delete[] times;
+}
+
+int* InputInfo::GetCodepoints() {
+ return codepoints;
+}
+
+int* InputInfo::GetXCoordinates() {
+ return x_coordinates;
+}
+
+int* InputInfo::GetYCoordinates() {
+ return y_coordinates;
+}
+
+int* InputInfo::GetPointerIds() {
+ return pointer_ids;
+}
+
+int* InputInfo::GetTimes() {
+ return times;
+}
+
+void InputInfo::ProcessInput(mojo::String& input) {
APW 2015/07/23 20:11:28 You should check that input size is >= size - othe
riajiang 2015/07/31 02:13:04 It would be equal because of "size = input_size;"
+ for (int i = 0; i < size; i++) {
+ int codepoint = (int)input[i];
+ codepoints[i] = codepoint;
+ for (int j = 0; j < KeySet::key_count; j++) {
+ if (KeySet::key_set[j].kcode == tolower(codepoint)) {
+ x_coordinates[i] =
+ KeySet::key_set[j].kx + KeySet::key_set[j].kwidth / 2;
+ y_coordinates[i] =
+ KeySet::key_set[j].ky + KeySet::key_set[j].kheight / 2;
+ pointer_ids[i] = 0;
APW 2015/07/23 20:11:28 shouldn't you set pointer_ids and times all the ti
riajiang 2015/07/31 02:13:04 Done.
+ times[i] = 0;
+ break;
+ }
+ }
+ }
+}
+
+} // namespace prediction

Powered by Google App Engine
This is Rietveld 408576698