Fix terminal fitting height

This commit is contained in:
paris
2014-08-19 13:24:43 +00:00
parent 3d40dcf3c5
commit a249d2714f
2 changed files with 14 additions and 4 deletions
+13 -3
View File
@@ -14,22 +14,32 @@
Terminal.prototype.fit = function () {
var container = this.rowContainer,
subjectRow = this.rowContainer.firstElementChild,
rows = parseInt(container.offsetHeight / subjectRow.offsetHeight),
rows,
contentBuffer,
characterWidth,
characterHeight,
cols;
subjectRow.style.display = 'inline';
contentBuffer = subjectRow.textContent;
subjectRow.textContent = ' ';
subjectRow.innerHTML = ' '; /* Arbitrary character to calculate its dimensions */
characterWidth = parseInt(subjectRow.offsetWidth);
characterHeight = parseInt(subjectRow.offsetHeight);
subjectRow.style.display = '';
cols = container.offsetWidth / characterWidth;
cols = parseInt(cols);
var parentElementStyle = window.getComputedStyle(this.element.parentElement),
parentElementHeight = parseInt(parentElementStyle.getPropertyValue('height')),
elementStyle = window.getComputedStyle(this.element),
elementPadding = parseInt(elementStyle.getPropertyValue('padding-top')) + parseInt(elementStyle.getPropertyValue('padding-bottom')),
availableHeight = parentElementHeight - elementPadding;
rows = parseInt(availableHeight / characterHeight);
this.resize(cols, rows);
};