kopia lustrzana https://github.com/c9/core
51 wiersze
1.5 KiB
JavaScript
51 wiersze
1.5 KiB
JavaScript
define(function(require, exports, module) {
|
|
var ScrollBuffer = module.exports = function ScrollBuffer() {
|
|
this.lines = [];
|
|
this.ybase = 0;
|
|
};
|
|
|
|
(function() {
|
|
this.toBufferLine = function(screenLine) {
|
|
var line = [], token = "", attr;
|
|
for (var i = 0; i < screenLine.length; i++) {
|
|
var data = screenLine[i];
|
|
if (data[0] === attr) {
|
|
token += data[1];
|
|
} else {
|
|
if (token)
|
|
line.push(attr, token);
|
|
attr = data[0];
|
|
token = data[1];
|
|
}
|
|
}
|
|
if (token)
|
|
line.push(attr, token);
|
|
line.wrapped = screenLine.wrapped;
|
|
return line;
|
|
};
|
|
this.toScreenLine = function(line) {
|
|
var screenLine = [], token = "", attr;
|
|
for (var i = 0; i < line.length; i+=2) {
|
|
token = line[i + 1];
|
|
attr = line[i];
|
|
|
|
for (var j = 0; j < token.length; j++) {
|
|
screenLine.push([attr, token[j]]);
|
|
}
|
|
}
|
|
screenLine.wrapped = line.wrapped;
|
|
return screenLine;
|
|
};
|
|
|
|
this.scroll = function() {
|
|
|
|
};
|
|
this.clear = function() {
|
|
|
|
};
|
|
this.resize = function() {
|
|
|
|
};
|
|
|
|
}).call(ScrollBuffer.prototype);
|
|
}); |