Canvas: fix using non-default fonts
This commit is contained in:
parent
b664e3a010
commit
4c4bebcf4f
|
@ -40,20 +40,27 @@ class CanvasScript extends Trait {
|
||||||
Canvas.themes.push(armory.ui.Themes.light);
|
Canvas.themes.push(armory.ui.Themes.light);
|
||||||
}
|
}
|
||||||
|
|
||||||
iron.data.Data.getFont(font, function(f: kha.Font) {
|
iron.data.Data.getFont(font, function(defaultFont: kha.Font) {
|
||||||
var c: TCanvas = haxe.Json.parse(blob.toString());
|
var c: TCanvas = haxe.Json.parse(blob.toString());
|
||||||
if (c.theme == null) c.theme = Canvas.themes[0].NAME;
|
if (c.theme == null) c.theme = Canvas.themes[0].NAME;
|
||||||
cui = new Zui({font: f, theme: Canvas.getTheme(c.theme)});
|
cui = new Zui({font: defaultFont, theme: Canvas.getTheme(c.theme)});
|
||||||
|
|
||||||
if (c.assets == null || c.assets.length == 0) canvas = c;
|
if (c.assets == null || c.assets.length == 0) canvas = c;
|
||||||
else { // Load canvas assets
|
else { // Load canvas assets
|
||||||
var loaded = 0;
|
var loaded = 0;
|
||||||
for (asset in c.assets) {
|
for (asset in c.assets) {
|
||||||
var file = asset.name;
|
var file = asset.name;
|
||||||
iron.data.Data.getImage(file, function(image: kha.Image) {
|
if (Canvas.isFontAsset(file)) {
|
||||||
Canvas.assetMap.set(asset.id, image);
|
iron.data.Data.getFont(file, function(f: kha.Font) {
|
||||||
if (++loaded >= c.assets.length) canvas = c;
|
Canvas.assetMap.set(asset.id, f);
|
||||||
});
|
if (++loaded >= c.assets.length) canvas = c;
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
iron.data.Data.getImage(file, function(image: kha.Image) {
|
||||||
|
Canvas.assetMap.set(asset.id, image);
|
||||||
|
if (++loaded >= c.assets.length) canvas = c;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -258,7 +258,7 @@ class Canvas {
|
||||||
return Std.int(f * _ui.SCALE());
|
return Std.int(f * _ui.SCALE());
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline function isFontAsset(assetName: Null<String>): Bool {
|
public static inline function isFontAsset(assetName: Null<String>): Bool {
|
||||||
return assetName != null && StringTools.endsWith(assetName.toLowerCase(), ".ttf");
|
return assetName != null && StringTools.endsWith(assetName.toLowerCase(), ".ttf");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue