Fix block elements on webgl, scale block elements to cell

This commit is contained in:
Daniel Imms
2021-08-18 07:38:02 -07:00
parent 0aaa20f873
commit fe7f28a7a0
3 changed files with 6 additions and 13 deletions
@@ -394,7 +394,7 @@ export class WebglCharAtlas implements IDisposable {
// Draw custom characters if applicable
let drawSuccess = false;
if (this._config.customBlockAndBoxCharacters !== false) {
drawSuccess = tryDrawCustomChar(this._tmpCtx, chars, TMP_CANVAS_GLYPH_PADDING, TMP_CANVAS_GLYPH_PADDING, this._config.scaledCellWidth, this._config.scaledCellHeight, this._config.scaledCharWidth, this._config.scaledCharHeight);
drawSuccess = tryDrawCustomChar(this._tmpCtx, chars, TMP_CANVAS_GLYPH_PADDING, TMP_CANVAS_GLYPH_PADDING, this._config.scaledCellWidth, this._config.scaledCellHeight);
}
// Draw the character
+2 -2
View File
@@ -264,7 +264,7 @@ export abstract class BaseRenderLayer implements IRenderLayer {
// Draw custom characters if applicable
let drawSuccess = false;
if (this._optionsService.options.customBlockAndBoxCharacters !== false) {
drawSuccess = tryDrawCustomChar(this._ctx, cell.getChars(), x * this._scaledCellWidth, y * this._scaledCellHeight, this._scaledCellWidth, this._scaledCellHeight, this._scaledCharLeft, this._scaledCharTop);
drawSuccess = tryDrawCustomChar(this._ctx, cell.getChars(), x * this._scaledCellWidth, y * this._scaledCellHeight, this._scaledCellWidth, this._scaledCellHeight);
}
// Draw the character
@@ -388,7 +388,7 @@ export abstract class BaseRenderLayer implements IRenderLayer {
// Draw custom characters if applicable
let drawSuccess = false;
if (this._optionsService.options.customBlockAndBoxCharacters !== false) {
drawSuccess = tryDrawCustomChar(this._ctx, cell.getChars(), x * this._scaledCellWidth, y * this._scaledCellHeight, this._scaledCellWidth, this._scaledCellHeight, this._scaledCharLeft, this._scaledCharTop);
drawSuccess = tryDrawCustomChar(this._ctx, cell.getChars(), x * this._scaledCellWidth, y * this._scaledCellHeight, this._scaledCellWidth, this._scaledCellHeight);
}
// Draw the character
+3 -10
View File
@@ -291,13 +291,11 @@ export function tryDrawCustomChar(
xOffset: number,
yOffset: number,
scaledCellWidth: number,
scaledCellHeight: number,
scaledCharLeft: number,
scaledCharTop: number
scaledCellHeight: number
): boolean {
const blockElementDefinition = blockElementDefinitions[c];
if (blockElementDefinition) {
drawBlockElementChar(ctx, blockElementDefinition, xOffset, yOffset, scaledCellWidth, scaledCellHeight, scaledCharLeft, scaledCharTop);
drawBlockElementChar(ctx, blockElementDefinition, xOffset, yOffset, scaledCellWidth, scaledCellHeight);
return true;
}
@@ -316,13 +314,8 @@ function drawBlockElementChar(
xOffset: number,
yOffset: number,
scaledCellWidth: number,
scaledCellHeight: number,
scaledCharLeft: number,
scaledCharTop: number
scaledCellHeight: number
): void {
// TODO: Scale to cell not char?
xOffset += scaledCharLeft;
yOffset += scaledCharTop;
for (let i = 0; i < charDefinition.length; i++) {
const box = charDefinition[i];
const xEighth = scaledCellWidth / 8;