2015-11-24 22:00:46 +08:00

58 lines
1.1 KiB
JavaScript

/**
* Created by nuintun on 2015/11/24.
*/
'use strict';
// if bold is broken, we can't
// use it in the terminal.
function isBoldBroken(){
var el = document.createElement('span');
el.innerHTML = 'hello world';
document.body.appendChild(el);
var w1 = el.scrollWidth;
el.style.fontWeight = 'bold';
var w2 = el.scrollWidth;
document.body.removeChild(el);
return w1 !== w2;
}
module.exports = function (Terminal){
/**
* Open Terminal
*/
Terminal.prototype.open = function (){
var i = 0;
var div;
this.element = document.createElement('div');
this.element.className = 'terminal';
this.children = [];
for (; i < this.rows; i++) {
div = document.createElement('div');
this.element.appendChild(div);
this.children.push(div);
}
this.refresh(0, this.rows - 1);
// XXX - hack, move this somewhere else.
if (Terminal.brokenBold === null) {
Terminal.brokenBold = isBoldBroken();
}
// sync default bg/fg colors
this.element.style.backgroundColor = Terminal.defaultColors.bg;
this.element.style.color = Terminal.defaultColors.fg;
};
};