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

Unified Diff: third_party/google_input_tools/src/chrome/os/inputview/layouts/emoji_layout.js

Issue 697653003: Add google-input-tools resources (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Defer build patch for later CL. 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/layouts/emoji_layout.js
diff --git a/third_party/google_input_tools/src/chrome/os/inputview/layouts/emoji_layout.js b/third_party/google_input_tools/src/chrome/os/inputview/layouts/emoji_layout.js
new file mode 100644
index 0000000000000000000000000000000000000000..1fc4ad1f13c0e65b5d4fd49e1dd2307057830ab7
--- /dev/null
+++ b/third_party/google_input_tools/src/chrome/os/inputview/layouts/emoji_layout.js
@@ -0,0 +1,148 @@
+// 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.require('i18n.input.chrome.inputview.Css');
+goog.require('i18n.input.chrome.inputview.elements.ElementType');
+goog.require('i18n.input.chrome.inputview.layouts.util');
+
+(function() {
+ var util = i18n.input.chrome.inputview.layouts.util;
+ var ElementType = i18n.input.chrome.inputview.elements.ElementType;
+ util.setPrefix('emoji-k-');
+ var ids = ['recent', 'favorits', 'faces', 'emoticon',
+ 'symbol', 'nature', 'places', 'objects'];
+ var length = [1, 3, 6, 4, 6, 7, 5, 8];
+ var emojiPage = {};
+ var emojiList = [];
+ // Tab Rows
+ var tabRows = [];
+ var keySpec = {
+ 'widthInWeight': 1,
+ 'heightInWeight': 13
+ };
+ var baseSpec = {
+ 'widthInWeight': 1.4,
+ 'heightInWeight': 13
+ };
+
+ //TODO: needs modification when there are more kinds of emoji.
+ for (var i = 0, len = ids.length; i < len; i++) {
+ tabRows.push(util.createKey(keySpec));
+ }
+ tabRows.push(util.createKey(baseSpec));
+ tabRows.push(util.createKey(keySpec));
+ var tabBar = util.createLinearLayout({
+ 'id': 'tabBar',
+ 'children': tabRows,
+ 'iconCssClass': i18n.input.chrome.inputview.Css.LINEAR_LAYOUT_BORDER
+ });
+
+ keySpec = {
+ 'widthInWeight': 1,
+ 'heightInWeight': 19
+ };
+ for (var i = 0, len = ids.length; i < len; ++i) {
+ for (var j = 0, lenJ = length[i]; j < lenJ; ++j) {
+ // Row1
+ var keysOfRow1 = util.createKeySequence(keySpec, 9);
+ var row1 = util.createLinearLayout({
+ 'id': ids[i] + 'Row1',
+ 'children': [keysOfRow1]
+ });
+
+ // Row2
+ var keysOfRow2 = util.createKeySequence(keySpec, 9);
+ var row2 = util.createLinearLayout({
+ 'id': ids[i] + 'Row2',
+ 'children': [keysOfRow2]
+ });
+
+ // Row3
+ var keysOfRow3 = util.createKeySequence(keySpec, 9);
+ var row3 = util.createLinearLayout({
+ 'id': ids[i] + 'Row3',
+ 'children': [keysOfRow3]
+ });
+
+ emojiPage = util.createVerticalLayout({
+ 'id': ids[i] + j,
+ 'children': [row1, row2, row3]
+ });
+ emojiList.push(emojiPage);
+ }
+ }
+ var emojiRows = util.createExtendedLayout({
+ 'id': 'emojiRows',
+ 'children': emojiList
+ });
+ keySpec = {
+ 'widthInWeight': 1,
+ 'heightInWeight': 1
+ };
+ var indicatorKey = util.createKeySequence(keySpec, 1);
+ var indicator = util.createLinearLayout({
+ 'id': 'indicatorlayout',
+ 'children': [indicatorKey]
+ });
+
+
+ var emojiSlider = util.createVerticalLayout({
+ 'id': 'emojiSlider',
+ 'children': [emojiRows, indicator]
+ });
+
+ keySpec = {
+ 'widthInWeight': 42,
+ 'heightInWeight': 14
+ };
+ baseSpec = {
+ 'widthInWeight': 42,
+ 'heightInWeight': 14
+ };
+ var sideKeys = util.createVerticalLayout({
+ 'id': 'sideKeys',
+ 'children': [util.createKey(keySpec), util.createKey(keySpec),
+ util.createKey(baseSpec)]
+ });
+
+ var rowsAndSideKeys = util.createLinearLayout({
+ 'id': 'rowsAndSideKeys',
+ 'children': [emojiSlider, sideKeys]
+ });
+ var emojiView = util.createVerticalLayout({
+ 'id': 'emojiView',
+ 'children': [tabBar, rowsAndSideKeys]
+ });
+
+ // Keyboard view.
+ var keyboardView = util.createLayoutView({
+ 'id': 'keyboardView',
+ 'children': [emojiView],
+ 'widthPercent': 100,
+ 'heightPercent': 100
+ });
+
+
+ var keyboardContainer = util.createLinearLayout({
+ 'id': 'keyboardContainer',
+ 'children': [keyboardView]
+ });
+
+ var data = {
+ 'disableCandidateView': true,
+ 'layoutID': 'emoji',
+ 'children': [keyboardContainer]
+ };
+
+ google.ime.chrome.inputview.onLayoutLoaded(data);
+}) ();

Powered by Google App Engine
This is Rietveld 408576698