OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 /** | |
6 * @fileoverview Declares the hterm.* namespace and some basic shared utilities | |
7 * that are too small to deserve dedicated files. | |
8 */ | |
9 var hterm = {}; | |
10 | |
11 /** | |
12 * Clamp a given integer to a specified range. | |
13 * | |
14 * @param {integer} v The value to be clamped. | |
15 * @param {integer} min The minimum acceptable value. | |
16 * @param {integer} max The maximum acceptable value. | |
17 */ | |
18 hterm.clamp = function(v, min, max) { | |
19 if (v < min) | |
20 return min; | |
21 if (v > max) | |
22 return max; | |
23 return v; | |
24 }; | |
25 | |
26 /** | |
27 * Return a string containing a given number of space characters. | |
28 * | |
29 * This method maintains a static cache of the largest amount of whitespace | |
30 * ever requested. It shouldn't be used to generate an insanely huge amount of | |
31 * whitespace. | |
32 * | |
33 * @param {integer} length The desired amount of whitespace. | |
34 * @param {string} A string of spaces of the requested length. | |
35 */ | |
36 hterm.getWhitespace = function(length) { | |
37 if (length == 0) | |
38 return ''; | |
39 | |
40 var f = this.getWhitespace; | |
41 if (!f.whitespace) | |
42 f.whitespace = ' '; | |
43 | |
44 while (length > f.whitespace.length) { | |
45 f.whitespace += f.whitespace; | |
46 } | |
47 | |
48 return f.whitespace.substr(0, length); | |
49 }; | |
50 | |
51 /** | |
52 * Constructor for a hterm.Size record. | |
53 * | |
54 * Instances of this class have public read/write members for width and height. | |
55 * | |
56 * @param {integer} width The width of this record. | |
57 * @param {integer} height The height of this record. | |
58 */ | |
59 hterm.Size = function(width, height) { | |
60 this.width = width; | |
61 this.height = height; | |
62 }; | |
63 | |
64 /** | |
65 * Adjust the width and height of this record. | |
66 * | |
67 * @param {integer} width The new width of this record. | |
68 * @param {integer} height The new height of this record. | |
69 */ | |
70 hterm.Size.prototype.resize = function(width, height) { | |
71 this.width = width; | |
72 this.height = height; | |
73 }; | |
74 | |
75 /** | |
76 * Return a copy of this record. | |
77 * | |
78 * @return {hterm.Size} A new hterm.Size instance with the same width and | |
79 * height. | |
80 */ | |
81 hterm.Size.prototype.clone = function() { | |
82 return new hterm.Size(this.width, this.height); | |
83 }; | |
84 | |
85 /** | |
86 * Test if another hterm.Size instance is equal to this one. | |
87 * | |
88 * @param {hterm.Size} that The other hterm.Size instance. | |
89 * @return {boolen} True if both instances have the same width/height, false | |
90 * otherwise. | |
91 */ | |
92 hterm.Size.prototype.equals = function(that) { | |
93 return this.width = that.width && this.height == that.height; | |
94 }; | |
95 | |
96 /** | |
97 * Return a string representation of this instance. | |
98 * | |
99 * @return {string} A string that identifies the width and height of this | |
100 * instance. | |
101 */ | |
102 hterm.Size.prototype.toString = function() { | |
103 return '[hterm.Size: ' + this.width + ', ' + this.height + ']'; | |
104 }; | |
105 | |
106 /** | |
107 * Constructor for a hterm.RowCol record. | |
108 * | |
109 * Instances of this class have public read/write members for row and column. | |
110 * | |
111 * @param {integer} row The row of this record. | |
112 * @param {integer} column The column of this record. | |
113 */ | |
114 hterm.RowCol = function(row, column) { | |
115 this.row = row; | |
116 this.column = column; | |
117 }; | |
118 | |
119 /** | |
120 * Adjust the row and column of this record. | |
121 * | |
122 * @param {integer} row The new row of this record. | |
123 * @param {integer} column The new column of this record. | |
124 */ | |
125 hterm.RowCol.prototype.move = function(row, column) { | |
126 this.row = row; | |
127 this.column = column; | |
128 }; | |
129 | |
130 /** | |
131 * Return a copy of this record. | |
132 * | |
133 * @return {hterm.RowCol} A new hterm.RowCol instance with the same row and | |
134 * column. | |
135 */ | |
136 hterm.RowCol.prototype.clone = function() { | |
137 return new hterm.RowCol(this.row, this.column); | |
138 }; | |
139 | |
140 /** | |
141 * Test if another hterm.RowCol instance is equal to this one. | |
142 * | |
143 * @param {hterm.RowCol} that The other hterm.RowCol instance. | |
144 * @return {boolen} True if both instances have the same row/column, false | |
145 * otherwise. | |
146 */ | |
147 hterm.RowCol.prototype.equals = function(that) { | |
148 return this.row = that.row && this.column == that.column; | |
mdhayter
2011/11/30 05:07:47
this.row == that.row?
| |
149 }; | |
150 | |
151 /** | |
152 * Return a string representation of this instance. | |
153 * | |
154 * @return {string} A string that identifies the row and column of this | |
155 * instance. | |
156 */ | |
157 hterm.RowCol.prototype.toString = function() { | |
158 return '[hterm.RowCol: ' + this.row + ', ' + this.column + ']'; | |
159 }; | |
OLD | NEW |