| Index: chrome/browser/resources/hterm/js/hterm.js
|
| diff --git a/chrome/browser/resources/hterm/js/hterm.js b/chrome/browser/resources/hterm/js/hterm.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d6e1abedbea87657889da418bd5dd117096c94cd
|
| --- /dev/null
|
| +++ b/chrome/browser/resources/hterm/js/hterm.js
|
| @@ -0,0 +1,159 @@
|
| +// Copyright (c) 2011 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.
|
| +
|
| +/**
|
| + * @fileoverview Declares the hterm.* namespace and some basic shared utilities
|
| + * that are too small to deserve dedicated files.
|
| + */
|
| +var hterm = {};
|
| +
|
| +/**
|
| + * Clamp a given integer to a specified range.
|
| + *
|
| + * @param {integer} v The value to be clamped.
|
| + * @param {integer} min The minimum acceptable value.
|
| + * @param {integer} max The maximum acceptable value.
|
| + */
|
| +hterm.clamp = function(v, min, max) {
|
| + if (v < min)
|
| + return min;
|
| + if (v > max)
|
| + return max;
|
| + return v;
|
| +};
|
| +
|
| +/**
|
| + * Return a string containing a given number of space characters.
|
| + *
|
| + * This method maintains a static cache of the largest amount of whitespace
|
| + * ever requested. It shouldn't be used to generate an insanely huge amount of
|
| + * whitespace.
|
| + *
|
| + * @param {integer} length The desired amount of whitespace.
|
| + * @param {string} A string of spaces of the requested length.
|
| + */
|
| +hterm.getWhitespace = function(length) {
|
| + if (length == 0)
|
| + return '';
|
| +
|
| + var f = this.getWhitespace;
|
| + if (!f.whitespace)
|
| + f.whitespace = ' ';
|
| +
|
| + while (length > f.whitespace.length) {
|
| + f.whitespace += f.whitespace;
|
| + }
|
| +
|
| + return f.whitespace.substr(0, length);
|
| +};
|
| +
|
| +/**
|
| + * Constructor for a hterm.Size record.
|
| + *
|
| + * Instances of this class have public read/write members for width and height.
|
| + *
|
| + * @param {integer} width The width of this record.
|
| + * @param {integer} height The height of this record.
|
| + */
|
| +hterm.Size = function(width, height) {
|
| + this.width = width;
|
| + this.height = height;
|
| +};
|
| +
|
| +/**
|
| + * Adjust the width and height of this record.
|
| + *
|
| + * @param {integer} width The new width of this record.
|
| + * @param {integer} height The new height of this record.
|
| + */
|
| +hterm.Size.prototype.resize = function(width, height) {
|
| + this.width = width;
|
| + this.height = height;
|
| +};
|
| +
|
| +/**
|
| + * Return a copy of this record.
|
| + *
|
| + * @return {hterm.Size} A new hterm.Size instance with the same width and
|
| + * height.
|
| + */
|
| +hterm.Size.prototype.clone = function() {
|
| + return new hterm.Size(this.width, this.height);
|
| +};
|
| +
|
| +/**
|
| + * Test if another hterm.Size instance is equal to this one.
|
| + *
|
| + * @param {hterm.Size} that The other hterm.Size instance.
|
| + * @return {boolen} True if both instances have the same width/height, false
|
| + * otherwise.
|
| + */
|
| +hterm.Size.prototype.equals = function(that) {
|
| + return this.width == that.width && this.height == that.height;
|
| +};
|
| +
|
| +/**
|
| + * Return a string representation of this instance.
|
| + *
|
| + * @return {string} A string that identifies the width and height of this
|
| + * instance.
|
| + */
|
| +hterm.Size.prototype.toString = function() {
|
| + return '[hterm.Size: ' + this.width + ', ' + this.height + ']';
|
| +};
|
| +
|
| +/**
|
| + * Constructor for a hterm.RowCol record.
|
| + *
|
| + * Instances of this class have public read/write members for row and column.
|
| + *
|
| + * @param {integer} row The row of this record.
|
| + * @param {integer} column The column of this record.
|
| + */
|
| +hterm.RowCol = function(row, column) {
|
| + this.row = row;
|
| + this.column = column;
|
| +};
|
| +
|
| +/**
|
| + * Adjust the row and column of this record.
|
| + *
|
| + * @param {integer} row The new row of this record.
|
| + * @param {integer} column The new column of this record.
|
| + */
|
| +hterm.RowCol.prototype.move = function(row, column) {
|
| + this.row = row;
|
| + this.column = column;
|
| +};
|
| +
|
| +/**
|
| + * Return a copy of this record.
|
| + *
|
| + * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and
|
| + * column.
|
| + */
|
| +hterm.RowCol.prototype.clone = function() {
|
| + return new hterm.RowCol(this.row, this.column);
|
| +};
|
| +
|
| +/**
|
| + * Test if another hterm.RowCol instance is equal to this one.
|
| + *
|
| + * @param {hterm.RowCol} that The other hterm.RowCol instance.
|
| + * @return {boolen} True if both instances have the same row/column, false
|
| + * otherwise.
|
| + */
|
| +hterm.RowCol.prototype.equals = function(that) {
|
| + return this.row == that.row && this.column == that.column;
|
| +};
|
| +
|
| +/**
|
| + * Return a string representation of this instance.
|
| + *
|
| + * @return {string} A string that identifies the row and column of this
|
| + * instance.
|
| + */
|
| +hterm.RowCol.prototype.toString = function() {
|
| + return '[hterm.RowCol: ' + this.row + ', ' + this.column + ']';
|
| +};
|
|
|