| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 (function(exports) { | 4 (function(exports) { |
| 5 /** | 5 /** |
| 6 * Alignment options for a keyset. | 6 * Alignment options for a keyset. |
| 7 * @param {Object=} opt_keyset The keyset to calculate the dimensions for. | 7 * @param {Object=} opt_keyset The keyset to calculate the dimensions for. |
| 8 * Defaults to the current active keyset. | 8 * Defaults to the current active keyset. |
| 9 */ | 9 */ |
| 10 var AlignmentOptions = function(opt_keyset) { | 10 var AlignmentOptions = function(opt_keyset) { |
| (...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 414 rightEdge + params.pitchX,//xOffset. | 414 rightEdge + params.pitchX,//xOffset. |
| 415 rightWidth, | 415 rightWidth, |
| 416 keyHeight, | 416 keyHeight, |
| 417 yOffset); | 417 yOffset); |
| 418 } | 418 } |
| 419 | 419 |
| 420 /** | 420 /** |
| 421 * Realigns a given row based on the parameters provided. | 421 * Realigns a given row based on the parameters provided. |
| 422 * @param {!kb-row} row The row to realign. | 422 * @param {!kb-row} row The row to realign. |
| 423 * @param {!AlignmentOptions} params The parameters used to align the keyset. | 423 * @param {!AlignmentOptions} params The parameters used to align the keyset. |
| 424 * @param {number} The height of the keys. | 424 * @param {number} keyHeight The height of the keys. |
| 425 * @param {number} heightOffset The offset caused by rows above it. | 425 * @param {number} heightOffset The offset caused by rows above it. |
| 426 */ | 426 */ |
| 427 function realignRow(row, params, keyHeight, heightOffset) { | 427 function realignRow(row, params, keyHeight, heightOffset) { |
| 428 var all = row.children; | 428 var all = row.children; |
| 429 var nStretch = 0; | 429 var nStretch = 0; |
| 430 var stretchWeightSum = 0; | 430 var stretchWeightSum = 0; |
| 431 var allSum = 0; | 431 var allSum = 0; |
| 432 // Keeps track of where to distribute pixels caused by round off errors. | 432 // Keeps track of where to distribute pixels caused by round off errors. |
| 433 var deltaWidth = []; | 433 var deltaWidth = []; |
| 434 for (var i = 0; i < all.length; i++) { | 434 for (var i = 0; i < all.length; i++) { |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 529 var layout = keyboard.layout; | 529 var layout = keyboard.layout; |
| 530 var keysets = | 530 var keysets = |
| 531 keyboard.querySelectorAll('kb-keyset[id^=' + layout + ']').array(); | 531 keyboard.querySelectorAll('kb-keyset[id^=' + layout + ']').array(); |
| 532 for (var i = 0; i<keysets.length ; i++) { | 532 for (var i = 0; i<keysets.length ; i++) { |
| 533 realignKeyset(keysets[i], params); | 533 realignKeyset(keysets[i], params); |
| 534 } | 534 } |
| 535 keyboard.stale = false; | 535 keyboard.stale = false; |
| 536 exports.recordKeysets(); | 536 exports.recordKeysets(); |
| 537 } | 537 } |
| 538 | 538 |
| 539 /* | 539 /** |
| 540 * Realigns a given keyset. | 540 * Realigns a given keyset. |
| 541 * @param {Object} keyset The keyset to realign. | 541 * @param {Object} keyset The keyset to realign. |
| 542 * @param {!AlignmentOptions} params The parameters used to align the keyset. | 542 * @param {!AlignmentOptions} params The parameters used to align the keyset. |
| 543 */ | 543 */ |
| 544 function realignKeyset(keyset, params) { | 544 function realignKeyset(keyset, params) { |
| 545 var rows = keyset.querySelectorAll('kb-row').array(); | 545 var rows = keyset.querySelectorAll('kb-row').array(); |
| 546 keyset.style.fontSize = (params.availableHeight / | 546 keyset.style.fontSize = (params.availableHeight / |
| 547 FONT_SIZE_RATIO / rows.length) + 'px'; | 547 FONT_SIZE_RATIO / rows.length) + 'px'; |
| 548 var heightOffset = 0; | 548 var heightOffset = 0; |
| 549 for (var i = 0; i < rows.length; i++) { | 549 for (var i = 0; i < rows.length; i++) { |
| 550 var row = rows[i]; | 550 var row = rows[i]; |
| 551 var rowHeight = | 551 var rowHeight = |
| 552 Math.floor(params.keyHeight * (row.weight / DEFAULT_KEY_WEIGHT)); | 552 Math.floor(params.keyHeight * (row.weight / DEFAULT_KEY_WEIGHT)); |
| 553 if (row.querySelector('.space') && (i > 1)) { | 553 if (row.querySelector('.space') && (i > 1)) { |
| 554 realignSpacebarRow(row, rows[i-1], params, rowHeight, heightOffset) | 554 realignSpacebarRow(row, rows[i-1], params, rowHeight, heightOffset) |
| 555 } else { | 555 } else { |
| 556 realignRow(row, params, rowHeight, heightOffset); | 556 realignRow(row, params, rowHeight, heightOffset); |
| 557 } | 557 } |
| 558 heightOffset += (rowHeight + params.pitchY); | 558 heightOffset += (rowHeight + params.pitchY); |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 627 addEventListener('touchend', function(e) { e.preventDefault() }); | 627 addEventListener('touchend', function(e) { e.preventDefault() }); |
| 628 addEventListener('touchmove', function(e) { e.preventDefault() }); | 628 addEventListener('touchmove', function(e) { e.preventDefault() }); |
| 629 addEventListener('polymer-ready', function(e) { | 629 addEventListener('polymer-ready', function(e) { |
| 630 flattenKeysets(); | 630 flattenKeysets(); |
| 631 resolveAudio(); | 631 resolveAudio(); |
| 632 }); | 632 }); |
| 633 addEventListener('stateChange', function(e) { | 633 addEventListener('stateChange', function(e) { |
| 634 if (e.detail.value == $('keyboard').activeKeysetId) | 634 if (e.detail.value == $('keyboard').activeKeysetId) |
| 635 realignAll(); | 635 realignAll(); |
| 636 }) | 636 }) |
| OLD | NEW |