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

Unified Diff: third_party/google_input_tools/src/chrome/os/inputview/imewindows/accents.js

Issue 701603002: Update to google-input-tools version 1.0.5.0 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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: third_party/google_input_tools/src/chrome/os/inputview/imewindows/accents.js
diff --git a/third_party/google_input_tools/src/chrome/os/inputview/imewindows/accents.js b/third_party/google_input_tools/src/chrome/os/inputview/imewindows/accents.js
new file mode 100644
index 0000000000000000000000000000000000000000..32c31766046e4d7d92d566b0b39ad861c1787354
--- /dev/null
+++ b/third_party/google_input_tools/src/chrome/os/inputview/imewindows/accents.js
@@ -0,0 +1,102 @@
+// Copyright 2014 The ChromeOS IME Authors. All Rights Reserved.
+// limitations under the License.
+// See the License for the specific language governing permissions and
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// distributed under the License is distributed on an "AS-IS" BASIS,
+// Unless required by applicable law or agreed to in writing, software
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// You may obtain a copy of the License at
+// you may not use this file except in compliance with the License.
+// Licensed under the Apache License, Version 2.0 (the "License");
+//
+goog.provide('i18n.input.chrome.inputview.Accents');
+
+goog.require('goog.dom');
+goog.require('goog.style');
+
+
+goog.scope(function() {
+var Accents = i18n.input.chrome.inputview.Accents;
+
+
+/**
+ * The highlighted element.
+ *
+ * @type {Element}
+ * @private
+ */
+Accents.highlightedItem_ = null;
+
+
+/**
+ * Gets the highlighted character.
+ *
+ * @return {string} The character.
+ * @private
+ */
+Accents.getHighlightedAccent_ = function() {
+ return Accents.highlightedItem_ ? Accents.highlightedItem_.textContent : '';
+};
+
+
+/**
+ * Highlights the item according to the current coordinate of the finger.
+ *
+ * @param {number} x The x position of finger in screen coordinate system.
+ * @param {number} y The y position of finger in screen coordinate system.
+ * @private
+ */
+Accents.highlightItem_ = function(x, y) {
+ // TODO(bshe): support multiple rows.
+ var dom = goog.dom.getDomHelper();
+ var child = dom.getFirstElementChild(dom.getElement('container'));
+ while (child) {
+ var coordinate = goog.style.getClientPosition(child);
+ var size = goog.style.getSize(child);
+ var screenCoordinate = {};
+ screenCoordinate.x = coordinate.x + window.screenX;
+ screenCoordinate.y = coordinate.y + window.screenY;
+
+ if (screenCoordinate.x < x && (screenCoordinate.x + size.width) > x &&
+ Accents.highlightedItem_ != child) {
+ if (Accents.highlightedItem_) {
+ Accents.highlightedItem_.classList.remove('highlight');
+ }
+ Accents.highlightedItem_ = child;
+ Accents.highlightedItem_.classList.add('highlight');
+ return;
+ }
+ // TODO(bshe): If y is off by 100, cancel the accented char selection.
+ child = dom.getNextElementSibling(child);
+ }
+};
+
+
+/**
+ * Sets the accents which this window should display.
+ *
+ * @param {!Array.<string>} accents .
+ * @private
+ */
+Accents.setAccents_ = function(accents) {
+ var container = document.createElement('div');
+ container.id = 'container';
+ container.classList.add('accent-container');
+ for (var i = 0; i < accents.length; i++) {
+ var keyElem = document.createElement('div');
+ var textDiv = document.createElement('div');
+ textDiv.textContent = accents[i];
+ keyElem.appendChild(textDiv);
+ container.appendChild(keyElem);
+ }
+ document.body.appendChild(container);
+};
+
+
+goog.exportSymbol('accents.highlightedAccent', Accents.getHighlightedAccent_);
+goog.exportSymbol('accents.highlightItem', Accents.highlightItem_);
+goog.exportSymbol('accents.setAccents', Accents.setAccents_);
+
+}); // goog.scope

Powered by Google App Engine
This is Rietveld 408576698