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

Unified Diff: services/prediction/key_set.h

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/key_set.h
diff --git a/services/prediction/key_set.h b/services/prediction/key_set.h
new file mode 100644
index 0000000000000000000000000000000000000000..d8d60301b9ccf099e9b047826f34473c3e3c48e8
--- /dev/null
+++ b/services/prediction/key_set.h
@@ -0,0 +1,94 @@
+// 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.
+
+#ifndef SERVICES_PREDICTION_KEY_SET_H_
+#define SERVICES_PREDICTION_KEY_SET_H_
+
+#include "base/macros.h"
+#include "mojo/services/prediction/public/interfaces/prediction.mojom.h"
+
+// qwerty keyboard key sets
+
+namespace prediction {
+
+// NOTE: This struct has been modified from the Android Open
+// Source Project. Specifically from the following file:
+// https://android.googlesource.com/platform/packages/inputmethods/LatinIME/+/
+// android-5.1.1_r8/java/src/com/android/inputmethod/keyboard/Key.java
+struct Key {
+ int kcode;
+ // Width of the key, not including the gap
+ int kwidth;
+ // Height of the key, not including the gap
+ int kheight;
+ // X coordinate of the key in the keyboard layout
+ int kx;
+ // Y coordinate of the key in the keyboard layout
+ int ky;
+ // Hit bounding box of the key
+ int khit_box_left;
+ int khit_box_top;
+ int khit_box_right;
+ int khit_box_bottom;
+
+ Key(const int code,
+ const int x,
+ const int y,
+ const int width,
+ const int height,
+ const int horizontal_gap,
+ const int vertical_gap) {
+ kheight = height - vertical_gap;
+ kwidth = width - horizontal_gap;
+ kcode = code;
+ kx = x + horizontal_gap / 2;
+ ky = y;
+ khit_box_left = x;
+ khit_box_top = y;
+ khit_box_right = x + width + 1;
+ khit_box_bottom = y + height;
+ }
+};
+
+class KeySet {
APW 2015/07/23 20:11:28 There doesn't seem to be a purpose to this class a
riajiang 2015/07/31 02:13:05 Changed it to use namespace
+ public:
+ static const Key key_set[];
+ static const int key_count;
+
+ static int SquaredDistanceToEdge(int x, int y, Key k);
+
+ private:
+ static const Key A;
+ static const Key B;
+ static const Key C;
+ static const Key D;
+ static const Key E;
+ static const Key F;
+ static const Key G;
+ static const Key H;
+ static const Key I;
+ static const Key J;
+ static const Key K;
+ static const Key L;
+ static const Key M;
+ static const Key N;
+ static const Key O;
+ static const Key P;
+ static const Key Q;
+ static const Key R;
+ static const Key S;
+ static const Key T;
+ static const Key U;
+ static const Key V;
+ static const Key W;
+ static const Key X;
+ static const Key Y;
+ static const Key Z;
+
+ DISALLOW_COPY_AND_ASSIGN(KeySet);
+}; // class KeySet
+
+} // namespace prediction
+
+#endif // SERVICES_PREDICTION_KEY_SET_H_

Powered by Google App Engine
This is Rietveld 408576698