workaround large canvas label failures in firefox. update webgl renderer retrieval
This commit is contained in:
parent
95f198f1b7
commit
2dcd8e8e47
1 changed files with 10 additions and 5 deletions
|
|
@ -376,7 +376,12 @@ gapp.register("moto.space", [], (root, exports) => {
|
||||||
canvas.width = w * scale;
|
canvas.width = w * scale;
|
||||||
canvas.height = h * scale;
|
canvas.height = h * scale;
|
||||||
|
|
||||||
|
try {
|
||||||
context.scale(scale, scale);
|
context.scale(scale, scale);
|
||||||
|
} catch (e) {
|
||||||
|
console.log('unable to create label canvas', e ? e.name : 'unknown');
|
||||||
|
return {};
|
||||||
|
}
|
||||||
context.fillStyle = color || fontColor;
|
context.fillStyle = color || fontColor;
|
||||||
context.font = `${size}px sans-serif`;
|
context.font = `${size}px sans-serif`;
|
||||||
context.textAlign = textAlign;
|
context.textAlign = textAlign;
|
||||||
|
|
@ -426,6 +431,7 @@ gapp.register("moto.space", [], (root, exports) => {
|
||||||
canvas = canvasInMesh(x + xPadding, labelSize * 3, 'center', 'top', rulerColor, labelSize),
|
canvas = canvasInMesh(x + xPadding, labelSize * 3, 'center', 'top', rulerColor, labelSize),
|
||||||
context = canvas.context,
|
context = canvas.context,
|
||||||
mesh = canvas.mesh;
|
mesh = canvas.mesh;
|
||||||
|
if (!(context && mesh)) return;
|
||||||
|
|
||||||
for (let i = 0; i >= ruler.x1; i -= grid.unitMajor) {
|
for (let i = 0; i >= ruler.x1; i -= grid.unitMajor) {
|
||||||
context.fillText((i * factor).round(1).toString(), ruler.xo + i + xPadding / 2, 0);
|
context.fillText((i * factor).round(1).toString(), ruler.xo + i + xPadding / 2, 0);
|
||||||
|
|
@ -445,6 +451,7 @@ gapp.register("moto.space", [], (root, exports) => {
|
||||||
canvas = canvasInMesh(labelSize * 4, y + yPadding, 'end', 'middle', rulerColor, labelSize),
|
canvas = canvasInMesh(labelSize * 4, y + yPadding, 'end', 'middle', rulerColor, labelSize),
|
||||||
context = canvas.context,
|
context = canvas.context,
|
||||||
mesh = canvas.mesh;
|
mesh = canvas.mesh;
|
||||||
|
if (!(context && mesh)) return;
|
||||||
|
|
||||||
for (let i = 0; i >= ruler.y1; i -= grid.unitMajor) {
|
for (let i = 0; i >= ruler.y1; i -= grid.unitMajor) {
|
||||||
context.fillText((i * factor).round(1), labelSize * 4, y - (ruler.yo + i) + yPadding / 2);
|
context.fillText((i * factor).round(1), labelSize * 4, y - (ruler.yo + i) + yPadding / 2);
|
||||||
|
|
@ -1375,15 +1382,13 @@ gapp.register("moto.space", [], (root, exports) => {
|
||||||
animate();
|
animate();
|
||||||
|
|
||||||
const ctx = renderer.getContext();
|
const ctx = renderer.getContext();
|
||||||
const ext = ctx.getExtension('WEBGL_debug_renderer_info');
|
|
||||||
|
|
||||||
Space.info = {
|
Space.info = {
|
||||||
ver: ctx.getParameter(ctx.VERSION),
|
ver: ctx.getParameter(ctx.VERSION),
|
||||||
ven: ctx.getParameter(ctx.VENDOR),
|
ven: ctx.getParameter(ctx.VENDOR),
|
||||||
glr: ctx.getParameter(ext.UNMASKED_RENDERER_WEBGL),
|
glr: ctx.getParameter(ctx.RENDERER),
|
||||||
// glv: ctx.getParameter(ext.UNMASKED_VENDOR_WEBGL),
|
|
||||||
pla: nav.platform
|
pla: nav.platform
|
||||||
},
|
};
|
||||||
|
|
||||||
initialized = true;
|
initialized = true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue