improve texture loading

This commit is contained in:
LabyStudio
2022-02-12 22:17:15 +01:00
parent d77a7dae0c
commit bb2d830c84
3 changed files with 105 additions and 75 deletions
+2 -6
View File
@@ -110,11 +110,7 @@ window.Gui = class {
stack.restore();
}
static loadTexture(path, callback) {
let img = new Image();
img.src = "src/resources/" + path;
img.onload = callback;
return img;
static loadTexture(path) {
return document.textures[path];
}
}
@@ -8,15 +8,14 @@ window.FontRenderer = class {
constructor() {
this.charWidths = [];
let scope = this;
this.texture = Gui.loadTexture("font.png", function () {
let bitMap = scope.createBitMap(scope.texture);
this.texture = Gui.loadTexture("font.png")
// Calculate character width
for (let i = 0; i < 128; i++) {
scope.charWidths[i] = scope.calculateCharacterWidthAt(bitMap, i % FontRenderer.BITMAP_SIZE, Math.floor(i / FontRenderer.BITMAP_SIZE)) + 2;
}
});
let bitMap = this.createBitMap(this.texture);
// Calculate character width
for (let i = 0; i < 128; i++) {
this.charWidths[i] = this.calculateCharacterWidthAt(bitMap, i % FontRenderer.BITMAP_SIZE, Math.floor(i / FontRenderer.BITMAP_SIZE)) + 2;
}
}
calculateCharacterWidthAt(bitMap, indexX, indexY) {