MCPcopy Index your code
hub / github.com/wavetermdev/waveterm / setTermRenderer

Method setTermRenderer

frontend/app/view/term/termwrap.ts:339–372  ·  view source on GitHub ↗
(renderer: "webgl" | "dom")

Source from the content-addressed store, hash-verified

337 }
338
339 setTermRenderer(renderer: "webgl" | "dom") {
340 if (renderer === "webgl") {
341 if (this.webglAddon != null) {
342 return;
343 }
344 if (!WebGLSupported) {
345 renderer = "dom";
346 }
347 } else {
348 if (this.webglAddon == null) {
349 return;
350 }
351 }
352 if (this.webglAddon != null) {
353 this.webglContextLossDisposable?.dispose();
354 this.webglContextLossDisposable = null;
355 this.webglAddon.dispose();
356 this.webglAddon = null;
357 globalStore.set(this.webglEnabledAtom, false);
358 }
359 if (renderer === "webgl") {
360 const addon = new WebglAddon();
361 this.webglContextLossDisposable = addon.onContextLoss(() => {
362 this.setTermRenderer("dom");
363 });
364 this.terminal.loadAddon(addon);
365 this.webglAddon = addon;
366 globalStore.set(this.webglEnabledAtom, true);
367 if (!loggedWebGL) {
368 console.log("loaded webgl!");
369 loggedWebGL = true;
370 }
371 }
372 }
373
374 getTermRenderer(): "webgl" | "dom" {
375 return this.webglAddon != null ? "webgl" : "dom";

Callers 2

constructorMethod · 0.95
toggleWebGlMethod · 0.80

Calls 2

setMethod · 0.80
disposeMethod · 0.45

Tested by

no test coverage detected